To text voters in a Minnesota town, city or school board race, you need three things in place. First, written permission from each person you text, given before your first message. Second, a campaign committee with an EIN (its federal tax ID number) that can pass Campaign Verify, the check that confirms to the mobile phone companies that you are a real campaign. Third, a registered texting number that sends only to people who agreed to hear from you, and only between 8 a.m. and 9 p.m. in their time zone.
Minnesota's 2027 calendar makes the timing important. Towns that vote in March hold their election on Tuesday, March 9, 2027, and town candidates file from Tuesday, December 29, 2026 to Tuesday, January 12, 2027, based on state law. A Campaign Verify request made before Sunday, November 15, 2026 expires on Sunday, January 31, 2027, before the town election. A request made on or after November 15 covers every 2027 election, including the November 2 elections in cities and school districts that vote in odd years. One step needs checking before you apply: Campaign Verify looks for your committee's filing online, so ask your filing officer where it is posted.
For the rest of the campaign, from filing to election day, see our guide to running for local office in Minnesota.
Step 1: Get written permission before you text
Base your texting on prior express written consent: each person has agreed in writing, before your first message, to receive campaign texts from you at that number. In practice:
- Use a sign-up sheet or form that says so plainly. For example: "Yes, text me updates from the Olson for Town Supervisor campaign. Message frequency varies. Message and data rates may apply. Reply HELP for help. Reply STOP to opt out." Include lines for the phone number and the date.
- Record the date and where the permission came from. Keep the paper sheets. In your texting account, note the source, such as "doors, January 23" or "candidate forum."
- Do not text people just because their number is on a list. A voter list, a purchased list, a school or church directory, or a list of neighbors is not permission.
Petition signers are not a texting list
In Minnesota, a candidate may present a petition in place of the filing fee. A signature on that petition supports your filing. It is not permission to text the signer, so do not text everyone who signed. If you circulate a petition, carry a separate sign-up sheet and ask each signer whether they would also like campaign updates by text. The same applies to people you meet at the town meeting, at forums or at the door: ask, and write it down.
A note on the FCC rule you may have heard about
You may read that the FCC requires consent to be given to one sender at a time. That rule never took effect. A federal appeals court vacated it on January 24, 2025, and the FCC removed it in August 2025. Written consent for your own campaign, recorded with a date, remains the standard to follow.
Step 2: Form your committee and get an EIN
Campaign Verify is available to 527 organizations, which means political committees with that federal tax status, registered with an election authority. Candidates with no committee, and sole proprietors, are not eligible.
In Minnesota, local candidates file their affidavits of candidacy with the town clerk, city clerk or school district clerk. Ask that office, or your county auditor, how a local candidate's committee is registered and whether the registration is posted online. Keep a copy of anything you file.
Then get an EIN for the committee from the IRS. You need it for Campaign Verify.
Step 3: Confirm your filing is online, then request Campaign Verify
Check first
How a new number gets approved
- Open your account100 free SMS included
- Buy your number$5 a month. Nothing sends until the account has one.
- Verify your campaignCampaign Verify, $95 per two-year cycle. Needs your committee's EIN and filing.
- We file the registrationToll-free verification, or 10DLC for a local number ($75 one time)
- The carriers review itAbout three business days for a toll-free number
- Send your first textStart with a small test group
Campaign Verify checks your committee against a filing published online by an election authority, and it sends a PIN only to the contact information on that filing. Before you pay for a request:
- Ask your filing officer or county auditor whether your committee's filing is posted online, and where.
- If it is online, check that the committee name, email, phone and mailing address are current, because the PIN goes only to those details.
- If it is not online, contact Campaign Verify Support and ask how they handle a local filing that is not published online. Wait for their answer before you submit a request.
We cannot promise that any committee will be found eligible. That decision belongs to Campaign Verify.
Timing and cost
- Campaign Verify costs $95 per two-year cycle.
- A request made before Sunday, November 15, 2026 expires on Sunday, January 31, 2027, five weeks before the March 9 town election.
- A request made on or after November 15, 2026 lasts until Wednesday, January 31, 2029. That covers the March 9 town election, the August 10 primaries and the November 2 elections in 2027, so there is no reason to request earlier.
Our post on Campaign Verify for local candidates covers the process in more depth.
Step 4: Set up your texting in CampaignCNX+
Once your committee is in place, set up the sending side.
- Open your account. A new pay-as-you-go account includes 100 free SMS, which you can use once your number is bought and approved. Your number is $5 a month.
- Let CampaignCNX+ file the carrier registration. The carriers are the mobile phone companies, and they require a registration before campaign texts can be sent. CampaignCNX+ files it for you, either as 10DLC (the registration for texting from a standard local-style number, a one-time $75 for your first local line) or as toll-free. For a toll-free number, the carrier review usually takes about three business days. You buy the $95 Campaign Verify token from Campaign Verify, and CampaignCNX+ files it with your registration. Request the token for the kind of number you use, 10DLC or toll-free, because Campaign Verify issues a separate token for each.
- Add your opted-in supporters. Sort them with tags and groups, such as "doors," "volunteers" or "town meeting," and record the consent date and source in a custom field. Messages are sent to groups, and merge fields such as first name address each text to the person.
- Plan for replies. Replies can come into a shared inbox, so you and your team members can read and answer them (staffers see the inbox once you allow it). The inbox is an add-on at $12.49 a month and is included on the Enterprise plan.
- Schedule within quiet hours. Texts send only between 8 a.m. and 9 p.m. in the recipient's time zone. You can schedule single texts, repeating texts and drip sequences (a series of texts sent on a schedule), such as a welcome series for new volunteers.
- Let opt-outs take care of themselves. STOP, HELP and START replies are handled automatically.
What it costs
Pay-as-you-go texting costs $0.06 per SMS segment, and pay-as-you-go credits never expire. An MMS (a message with a picture) uses three credits, or $0.18 on pay-as-you-go. Monthly plans start with Basic at $55 a month for 1,000 texts, and unused plan texts roll over. For worked examples of a local race budget, see what it costs to text a local race.
Step 5: Send the right message at the right time
Before anyone gets a text
- Ask in writingThe form or sheet says plainly that they agree to receive texts from you.
- Keep the recordNote the date and where each person signed up.
- Send at reasonable hoursQuiet-hours scheduling keeps texts out of the night.
- Honor STOPA STOP reply is handled automatically.
Minnesota's calendar gives you natural moments to text. Keep each message short, name the campaign, and include "Reply STOP to opt out" on the first message to each person.
Welcome, after someone signs up:
Thanks for signing up. This is Chris Olson, running for Town Supervisor. I'll text a few updates before March 9. Reply STOP to opt out.
For a March 9 town election. Based on state law, the last day to register before election day is Tuesday, February 16, 2027, and in-person absentee voting runs during the 30 days before the election.
Registration before the Mar 9 town election closes Tue, Feb 16. You can also register at the polls with proof of address. Thank you, Chris
Today is the town election. If you are not registered yet, you can register at your polling place. Thank you, Chris Olson
For a November 2 city or school district election. Based on state law, in-person absentee voting begins Friday, September 17, 2027, and the last day to register before election day is Tuesday, October 12, 2027.
Absentee voting in person starts Fri, Sep 17. Your county auditor or city clerk can tell you where. Thank you, [Name]
Ask your clerk or county auditor for polling places and hours before you send, because hours for local elections vary by community. For texting rules across the region, see our page on campaign texting in the Midwest.
A short checklist
- Written, dated permission from every person you text.
- No texts to petition signers or town meeting contacts who did not separately agree.
- A committee with an EIN, and its filing confirmed online or Campaign Verify Support consulted.
- Campaign Verify requested on or after November 15, 2026.
- Messages scheduled between 8 a.m. and 9 p.m., with opt-outs handled.
Get set up before filing opens
Town filing opens on Tuesday, December 29, 2026, and the town election follows eight weeks after filing closes. Open your account now, and have your number registered before the busy weeks of January. Start your CampaignCNX+ trial.


