To run a text poll, send one short question to contacts who opted in to your texts, give them two to five reply options as single digits or single words, and tally the replies as they come back. Most of the work is in choosing those reply options so they're easy to parse, and in checking that the list you're polling actually consented.

This guide covers how to design the question, how to handle replies that don't match your options, what response rates look like, what a poll costs per segment, and the compliance steps to take before you send. We make Ready, so the examples use our pricing and API. The design and compliance advice applies whatever platform you use.

When a text poll beats an email or web survey

SMS is a good fit for short questions with fixed answers. It's a poor fit for long-form feedback.

Good uses:

  • One-question NPS or satisfaction checks after a delivery, appointment or support ticket ("How likely are you to recommend us, 0 to 10?")
  • Scheduling and preference picks ("Which works better for the kickoff: reply 1 for Tue, 2 for Wed")
  • Event headcounts ("Coming Saturday? Reply YES or NO")
  • Product or menu votes among customers who already text with you
  • Internal pulse checks for field staff who never open email

Bad uses: anything that needs more than three or four questions, open-ended essays, or matrix questions. For those, text a link to a web form. Putting a link in the very first text to someone is a known filtering trigger, though, so read why links in a first message get filtered before you build the poll around a URL.

How to design a text poll question

The rule: one question per message, answerable with one keystroke or one word.

Keep it to one segment

A standard SMS segment holds 160 GSM-7 characters. Go over that and the message splits into multipart segments of 153 characters each. A single emoji switches the whole message to unicode, which cuts the limit to 70 characters (67 per part in multipart). Ready replaces curly quotes, long dashes and ellipses with plain ones before sending, so those don't change your count on Ready. An emoji does.

Compare these two versions of the same question:

Acme: How was your service today? Reply 1 (great), 2 (okay) or 3 (not good). Reply STOP to opt out.

That's about 100 characters, so it's 1 segment.

Acme: How was your service today? 😊 Reply 1 (great), 2 (okay) or 3 (not good). Reply STOP to opt out.

The emoji makes it unicode. At roughly 102 characters it now needs 2 segments. On a longer question of around 140 characters, one emoji takes you from 1 segment to 3. You pay for every segment, on every send.

Identify yourself and give an out

Start with your brand name and include opt-out language, at least in the first poll you send a contact. People ignore texts from senders they can't place. Carriers also read message content, and a question with no brand name looks like phishing.

Make the options mutually exclusive

"Reply 1 for morning, 2 for afternoon" works. "Reply 1 for weekdays, 2 for mornings" doesn't, because a weekday morning fits both. If an answer could plausibly match two options, you'll spend your time sorting replies by hand.

Reply keyword handling: where most polls break

People don't reply the way you tell them to. Assume you'll get "1", " 1", "1.", "one", "#1", "Yes 1", "the first one", and a paragraph about their week.

Choose options that are easy to parse

  • Digits work best. They're one keystroke, they don't depend on spelling, and they don't trip autocorrect.
  • Single words are the next best option. YES and NO are fine. Avoid words that autocorrect changes.
  • Never use an opt-out word as an answer option. On Ready, a reply that is exactly one of STOP, STOPALL, STOP ALL, UNSUBSCRIBE, UNSUB, CANCEL, END, QUIT, OPTOUT, OPT OUT, OPT-OUT, REMOVE, REVOKE opts the contact out. If "Reply CANCEL to cancel your appointment" is one of your poll options, a contact who answers it may be opted out of all your texts. On Ready, an inbound STOP or UNSUBSCRIBE is honored automatically, and the opt-out applies across every campaign. That's what you want for real opt-outs. It's a disaster if your poll told people to send that word.

Normalize before you tally

If you tally replies in your own code, do this before matching:

  1. Trim whitespace and punctuation.
  2. Convert everything to uppercase.
  3. Map spelled-out numbers ("one", "two") to digits.
  4. Accept a reply only if exactly one valid option appears in it.
  5. Send everything else to a person.

A reply like "2 but honestly 3 on a bad day" goes to human review. Your parser shouldn't guess.

What Ready does and doesn't do here

Ready doesn't ship a dedicated poll builder that branches on answers or tallies results automatically. Replies land in the Inbox, and in GoHighLevel for connected accounts, where your team can read and answer them.

If you want automatic tallying, use the API:

  • Send the poll with POST /v1/messages/bulk, passing a to array, the body, and "consent_attested": true.
  • Pull replies with GET /v1/messages and page through them with before_id.
  • Parse the replies in your own code.

For a multi-question survey, your code sends question two only after it receives a valid answer to question one. The docs for bulk messages and messages cover the request shapes and webhooks.

After a reply, a person or your own code decides what happens next.

Response rates: what to expect

We won't hand you a precise benchmark, because none of them hold up across industries. A one-tap question to people who recently bought from you or booked with you tends to get the most replies.

Rates drop when:

  • The list is old. Contacts who haven't heard from you in months often don't remember opting in.
  • The question needs thought, like a 0 to 10 scale versus YES/NO.
  • You send outside reasonable hours.
  • You send several questions before anyone has answered the first one.

Timing matters more than wording. Send soon after the event you're asking about: the same day for service feedback, and the day before for a headcount.

Ready holds sends that fall outside permitted local hours, based on the recipient's area, and sends campaigns later. For a multi-timezone list, that hold changes when your poll actually goes out. This post on quiet hours across timezones explains the details. Campaigns, drip campaigns and automations wait up to 24 hours for the window; a one-to-one or API text is held only if the window opens within 6 hours, otherwise it is refused and must be resent; a one-to-one reply to someone who texted you in the last 24 hours goes out at any hour.

What a text poll costs: worked example

Assumptions: 2,000 opted-in contacts, a 1-segment question, and a 30% reply rate. The reply rate is an assumption for the math, not a prediction. Each reply is a 1-segment text, and you send a 1-segment thank-you to everyone who answers.

On Ready Standard, every segment costs $0.0075 plus a $0.0045 carrier fee. That applies to sent texts and received replies alike. Replies you receive are billed like a sent text, and on a poll that's the point, so budget for them.

Line itemSegmentsPer-segment charge at $0.0075Carrier feesAll-in
Poll question to 2,0002,000$15.002,000 × $0.0045 = $9.00$24.00
600 replies received600$4.50600 × $0.0045 = $2.70$7.20
600 thank-you texts600$4.50600 × $0.0045 = $2.70$7.20
Total3,200$24.003,200 × $0.0045 = $14.40$38.40

Two changes that move this total a lot:

  • Add one emoji to a 140-character question. The question becomes 3 segments, so the first row grows from $15 to $45 in per-segment charges, plus carrier fees on 6,000 segments.
  • Run a three-question survey. Each question you send, each reply and each follow-up adds rows. Each extra question goes only to the people who answered the previous one, so the cost grows more slowly than the number of questions. It still grows.

Compliance surcharge: these figures exclude the compliance surcharge. Scrubbing and landline validation each add $0.003 per segment when you switch them on for an account. Both are off by default.

Local presence: if you want the poll to come from the number closest to each contact's area code, switch on Local presence. Its listed price is $0.0015 for each segment of a delivered text.

Throughput: at an assumed 2 segments per second, which is typical for a fresh standard campaign with no vetting, 2,000 questions take about 17 minutes to go out.

Daily caps: T-Mobile caps daily volume by brand trust score. The lowest tier is roughly 2,000 messages a day. A larger poll on a brand with a low trust score may need to go out over more than one day.

Compliance: check this before you send a text poll

Treat a poll like any other marketing text. It needs consent, registration and opt-out handling. None of the steps below make you lawsuit-proof, and compliance stays your responsibility. They do reduce real risk.

Poll only contacts who consented

Send polls to people who opted in to your texts or who are already texting with you. Don't poll a purchased or scraped list. TCPA exposure runs roughly $500 to $1,500 per text, which makes a 2,000-contact poll an expensive mistake. If you need to grow a list first, see how text-to-join keywords work.

Know what Ready records and what you must keep

Ready records your opt-in attestation on each bulk send and each API send that sets consent_attested: who sent it, to how many people, and when. That's an audit trail of your promise. It is not a per-contact consent record. Ready doesn't store a recipient's opt-in time, the wording they agreed to, or the page URL. A poll reply doesn't create consent either. Keep those records in your own store. (A contact who signs up on a Ready-hosted opt-in page is the exception: Ready stores that sign-up, with the time, IP address and exact wording, and support@tryready.com can send you a copy.)

Register the campaign

Carriers filter unregistered traffic. A 10DLC registration costs $25/mo plus $2 per number. The charge at submit is the first month, $25, and there's no setup fee. Most approvals take 2 to 7 days.

Before registering, an account can send up to 500 texts a month at its normal rate. That covers testing, not a real poll.

Pick a campaign use case that matches what you send. This guide to choosing a use case explains why a mismatch gets you throttled.

Polling for a political campaign or nonprofit

If your poll is for a political campaign surveying voters, or a nonprofit that will follow up with donation appeals, email support@tryready.com before the first send and wait for our reply. Signing up and registering isn't enough on its own for these uses.

Scrub if the list is older

If contacts have been on the list a while, the standalone TCPA and DNC Litigator Scrub costs $0.005 per contact. It checks each number against known TCPA-litigator lists and DNC-complainer lists, and flags matches before you send.

Putting it together

A text poll that works looks like this:

  1. One question per message.
  2. Digit answers. No opt-out words as options.
  3. One segment. Skip the emoji.
  4. Consented contacts only, sent soon after the event you're asking about.
  5. A tally that sends unclear replies to a person instead of guessing.

Budget for replies as well as sends. If you're mapping out the campaign around the poll, our step-by-step SMS campaign guide covers the rest.

To try it on Ready, sign up and add a card. To send, you add a card and get a number, which is $2 a month with the first month charged when you get it. Your first 20 texts are free one-to-one sends, so use them to test your poll wording on teammates before you register. The free texts end once you pay for registration, and a campaign is paid from its first text.

FAQ

What's the difference between an SMS survey and a text poll?

A text poll is usually one question with fixed answers. An SMS survey usually asks several questions in order, sending each one only after the previous one is answered. The design rules are the same for both.

How many questions should a text survey have?

Keep it to three or fewer. Past that, response drops off and you should send a link to a web form instead.

Can people vote by texting a keyword to my number?

Yes. Contacts reply with a digit or word, and you count the replies. On Ready, a reply that is exactly one of STOP, STOPALL, STOP ALL, UNSUBSCRIBE, UNSUB, CANCEL, END, QUIT, OPTOUT, OPT OUT, OPT-OUT, REMOVE, REVOKE opts the contact out, so never offer one of them as an answer option.

Does Ready tally poll results automatically?

No. Ready doesn't have a dedicated poll builder with automatic tallying. Replies land in the inbox, or in GoHighLevel for connected accounts. You can pull them with GET /v1/messages and count them in your own code.

Do I pay for poll replies?

Yes. On Ready, replies you receive are billed like sent texts: $0.0075 per segment plus the $0.0045 carrier fee.