Email surveys go unanswered for a simple reason. The customer has to open the message, click a link, wait for a form to load, and then decide whether your five-page questionnaire deserves the next four minutes. A text that asks one question and takes a one-character answer removes most of those steps. For a service business like a plumber, clinic, salon, HVAC shop or cleaning company, that difference often decides whether you get feedback at all.
This post covers how to design a short survey that works by text, when to send it, what to do with the replies, and what it costs per month. We make Ready, so we'll be specific about where Ready fits. We'll also say where a dedicated survey tool is the better choice.
What an SMS survey can and can't do
Text is good at one thing: getting one honest signal quickly. It does a poor job with anything that needs branching logic across ten questions, matrix grids or long free-text answers.
Here is how the main formats compare:
| Format | What the customer does | Typical segments out | Best for | Weak at |
|---|---|---|---|---|
| Single-question reply ("Reply 1-5") | Types one digit | 1 | Post-job satisfaction | Detail |
| NPS by text ("0-10, how likely to recommend?") | Types one or two digits | 1 | Tracking loyalty over time | Explaining the score |
| Link to a web form | Taps, fills out a form | 1-2 (links add length) | Multi-question research | Completion rate |
| Two-step in-thread (score, then "what's one thing we could improve?") | Replies twice | 2 total | Score plus a reason | Volume handling, since someone has to read the replies |
Most service businesses do best with the fourth format. You ask for the score first, then ask one follow-up only to people who answered, and only when the score calls for it.
Designing the question so it fits in one segment
Every segment is billed, and survey replies are billed too, so message length is a cost decision as well as a style choice. A GSM-7 SMS fits 160 characters in one segment. If it runs longer, it splits into 153-character parts. If you add a single emoji, the whole message drops to 70 characters per segment, or 67 when it is multipart.
Here is an NPS ask that fits in one segment:
Acme Plumbing: thanks for having us out today, Dana. 0-10, how likely are you to recommend us to a friend? Reply a number. STOP to opt out.
That message is 139 characters, so it uses 1 segment. If you add a smiley face to the same text, it becomes 3 segments, because 139 unicode characters split into 67-character parts. You would triple your outbound cost for one emoji. Ready swaps curly quotes, long dashes and ellipses for plain characters before sending, so those don't inflate the count. Emoji still do.
Design rules that hold up:
- Identify the business in the first few words. A survey from an unknown number reads like spam.
- Ask exactly one question. "How was your visit and would you book again?" produces replies you can't score.
- Tell them the answer format. "Reply a number" cuts down on "great!" replies that you then have to interpret.
- Keep the opt-out language. It belongs on the first message in a thread, and carriers look for it.
- Hold the link until the second message. URLs add length, and link shorteners can trigger filtering. We cover that problem in why approved campaigns still get filtered.
For ready-made wording, see feedback request texts that get replies.
Timing: when to send the ask
The best time is soon after the service ends, while the experience is still fresh. Same-day works well for home services and appointments. Within an hour or two of checkout works for salons and clinics. A 48-hour delay for a two-hour visit usually means the customer has moved on.
A few practical rules:
- Trigger it from the job, not the calendar. Send when the work order is marked complete, not as a weekly batch to everyone served that week.
- Respect quiet hours. Ready holds sends that fall outside permitted local hours for the recipient's area. If a technician closes a job at 10 PM, an automation or drip holds the survey until morning, and a held text is charged only when it actually sends. An API send is refused with 409 QUIET_HOURS_BLOCK unless texting opens within about 6 hours, so have your job queue retry it after 8 AM in the customer's time zone.
- Send one reminder at most. If there's no reply after a day, one nudge is reasonable. Two nudges turns a feedback request into an annoyance and invites STOP replies.
- Don't survey the same person every visit. For a weekly cleaning customer, once a quarter is plenty.
If your software triggers the send, the request is a single API call. Here is what it looks like on Ready:
POST https://api.tryready.com/v1/messages
X-API-Key: <key>
Idempotency-Key: 6f1c2a0e-8b3d-4e7a-9c55-2d1f0b7a9e41
Content-Type: application/json
{"to": "+12125550199", "body": "Acme Plumbing: thanks for having us out today, Dana. 0-10, how likely are you to recommend us to a friend? Reply a number. STOP to opt out.", "consent_attested": true} The Idempotency-Key header means a retried job-completion event won't survey the same customer twice. The full request reference is in the messages API docs. If you're sending a batch from a spreadsheet instead, use the bulk endpoint, which accepts up to 100 recipients per call.
Handling the replies
Most programs fall apart at this step. Replies come back as "9", "10!!", "ten", "8 but the tech was late", and sometimes a paragraph. Someone, or something you build, has to sort them.
Route by score
A simple routing plan for NPS:
- 9-10 (promoters): Thank them and send your review link in a second message.
- 7-8 (passives): Thank them and ask one optional question: "What would have made it a 10?"
- 0-6 (detractors): Don't send a canned link. Reply that someone will reach out, then actually call.
On Ready, replies land in the Inbox. For connected GoHighLevel accounts, they also sync into GHL, so you can branch on them with GHL workflows. If you're building the routing yourself, you can pull messages with GET /v1/messages and parse the score in your own code. Ready doesn't compute NPS for you. Ready also no longer offers AI agents that answer survey replies on their own. The AI message writer helps you draft and spam-check the outbound ask, but a person or your own logic handles the response.
Don't gate reviews
Some businesses want to send the review link only to happy customers and quietly drop the unhappy ones. Google's review policies prohibit selectively soliciting positive reviews, and the FTC has moved against review suppression. Our view: ask everyone who replies whether they'd share their experience publicly. Then put your real effort into fixing what the detractors told you. A fast call to an unhappy customer does more for your rating than gating ever would.
Close the loop with a call
A detractor text is a request for a conversation. With the Ready Dialer, you can call straight from the inbox's dial pad. It costs $0.025/min, with each started minute billed as a full minute, and only answered time is billed. A call that rings out costs nothing.
Consent and registration for survey texts
Feedback texts are business messages, so the same rules apply as for any other send:
- Have consent. The customer gave you their number for service and agreed to texts. Capture that at booking or checkout, and keep the record of when and how they agreed in your own system. Ready records your attestation on each bulk send and each API send that sets
consent_attested, meaning who sent it, to how many people, and when. That gives you an audit trail, but it isn't a per-contact consent record. A reply to your survey doesn't create one either. - Register for 10DLC. Unregistered traffic gets carrier-filtered. Pick a use case that matches what you send. A survey program usually belongs under a customer-care style use case, not marketing. Our use-case picking guide explains why the mismatch costs you throughput. On Ready, registration happens in-app, there is no setup fee, and most approvals take 2 to 7 days.
- Honor STOP everywhere. Ready processes opt-outs automatically, and an opt-out applies across all your campaigns. Texts to opted-out numbers are refused up front and not charged.
Compliance remains the sender's responsibility. These tools reduce risk, but they don't remove it.
What a feedback program costs: a worked example
Assumptions: a home-services company completes 600 jobs a month. Each customer gets the one-segment NPS ask above. Assume about 35% reply (an assumption, not a benchmark). Of those who reply, 60% are promoters and receive a two-segment review-link message. About 30 detractors receive a one-segment "someone will call you" text.
| Item | Segments |
|---|---|
| 600 survey asks × 1 segment | 600 |
| 210 replies × 1 segment (replies are billed like sends) | 210 |
| 126 review-link follow-ups × 2 segments | 252 |
| 30 detractor follow-ups × 1 segment | 30 |
| Total | 1,092 |
On Ready's Standard rate, that's 1,092 × $0.0075 = $8.19, plus 1,092 × $0.0045 in carrier fees. This all-in figure excludes the optional compliance surcharge: DNC scrubbing and landline validation each cost $0.003 per segment when switched on, and both are off by default.
Registration adds $25/mo and $2/mo per number, so $27/mo with one number.
If the 30 detractor calls average four answered minutes, that's 120 minutes × $0.025 = $3.00 in Dialer time.
The emoji lesson in dollars: putting a smiley in the ask turns those 600 asks into 1,800 segments. That's 1,200 extra segments, which adds 1,200 × $0.0075 = $9.00 plus carrier fees every month, and the emoji does nothing for your survey.
Ready doesn't have the lowest per-segment price. Raw carrier APIs cost less per message. What you get with Ready is the registration, quiet-hours holds, opt-out handling and inbox together, without building them yourself. Current rates are on our pricing page.
When a dedicated survey tool is the better fit
If you need NPS trend dashboards, benchmarking, multi-question research or survey results feeding a CX platform, a dedicated survey product is the right choice. Ready can send its link. Use Ready, or any registered texting setup, as the delivery layer, and let the survey tool do the analysis.
If all you need is a score, a reason and a review, one text and a well-run inbox will do the job.
The short version
- Ask one question, identify yourself and keep it to one segment with no emoji.
- Send soon after the job, let quiet hours hold late sends, and send no more than one reminder.
- Route replies by score, ask everyone for reviews, and call your detractors.
- Register under the right use case and keep your own consent records.
If you want to try it, create an account. Your first 20 one-to-one texts are free, so send the survey to a few recent customers before you register and see what comes back.