## The Most Expensive SMS Mistakes Happen Before the Send Every SMS team has a story like this. A promo goes out to 80,000 people with a link that points to a staging page. A merge field renders as "Hi {{first_name}}," because half the list had no first name. A message that looked like one segment in the editor turned into three because someone pasted a curly apostrophe from a design doc.
An offer meant for one country reaches another, through a route nobody tested. None of these are delivery problems. The carrier did exactly what it was asked to do. They are QA problems, and unlike email, SMS gives you almost no room to recover. There's no "view in browser" link to fix later, no way to recall a text, and a correction message costs you a second send and usually some unsubscribes.
This guide walks through a practical pre-send QA process for SMS campaigns: what to check in the copy, the data, the links, the sender and route, and the schedule, and how to run test sends that actually tell you something. It's written for teams that send regularly and want a repeatable checklist rather than a last-minute scramble. ## Why SMS Needs Its Own QA Process Many teams borrow their email QA checklist for SMS.
That covers some of the basics, but SMS has failure modes email doesn't: - **Length is billed.** An SMS is split into segments, and each segment is typically charged. A small encoding change can double or triple the cost of a campaign. - **Rendering is plain text.** There's no layout to hide a broken field behind. Every character the recipient sees is the character you sent.
- **Sender handling varies by route.** The sender name you chose may be displayed, replaced, or rejected depending on the country and the provider connection. - **Timing is personal.** A text arrives on the phone in someone's pocket. A send at the wrong local hour is more intrusive than an email that waits in an inbox. - **There's no undo.** Once a message is accepted by the route, you can't take it back.
Because of that, the goal of SMS QA isn't just "does it look right?" It's "will every recipient get the message we intended, at a cost we expected, from a sender they recognize, at a reasonable hour?" ## Step 1: Check the Copy and the Character Count Start with the message itself, because it drives cost and clarity.
### Count Segments, Not Just Characters Standard SMS using the GSM-7 character set fits 160 characters in a single message. When a message is longer, it's split into concatenated segments, and each segment carries fewer usable characters because part of the space is used to stitch the parts back together.
If your message contains any character outside the GSM-7 set, such as many emoji, curly quotes, or some accented letters, the whole message usually switches to Unicode (UCS-2) encoding, and the per-segment limit drops sharply. Our guide to SMS character encoding and message segmentation covers the details. For QA purposes, the rules are simple: - Check the segment count for the final text, not the draft.
- Search for smart quotes, long dashes, and non-breaking spaces copied from documents or design tools. - Decide deliberately whether an emoji is worth the extra segments on a large send. ### Check the Longest Possible Version Personalization changes length. "Hi Al" and "Hi Maximiliano" are different messages for billing purposes.
Before you approve a template, render it with the longest realistic values for every merge field: the longest first name in the list, the longest product name, the longest city. If the longest version spills into another segment, either shorten the copy or cap the field. ### Read It Out Loud A text should make sense with no context. Read the final message as if you were the recipient: Is it obvious who it's from?
Is the offer clear in the first line? Is there one action to take? Does it include a way to opt out where your program or region expects one? Our guide to SMS opt-out keywords covers how to handle STOP and HELP replies once they come in. ## Step 2: Test Merge Fields and Fallbacks Broken personalization is the most visible QA failure in SMS, and the easiest to prevent.
### Audit the Data, Not Just the Template Before the send, look at the actual values in the fields your template uses. Common problems include: - Empty values for a share of the list. - Placeholder values like "test", "N/A", or "unknown" from an old import. - Inconsistent capitalization, such as names in all caps. - Values that include extra spaces or line breaks.
If a field is empty for more than a small share of recipients, either add a fallback or remove the field from the message. ### Define Fallbacks for Every Field Every merge field should have a fallback that reads naturally. "Hi there," is better than "Hi ,". A generic product name is better than a blank. Our guide to SMS personalization with merge fields, fallbacks, and spintax goes deeper on writing fallbacks that don't sound robotic.
### Preview Real Rows Don't just preview with one perfect test contact. Pull a handful of real rows from the audience, including ones with missing fields, long values, and unusual characters, and render the message for each. If you use different templates per language or per variant, preview at least one row for every version, not only the first. A variant that nobody previewed is the one most likely to break.
## Step 3: Verify Every Link Links carry the outcome of the campaign, so they deserve their own check. - **Open the final link on a phone.** Not the link from the brief, the one in the actual message. Check that it loads quickly on mobile data and lands on the right page. - **Check tracking parameters.** Confirm that campaign tags are present and spelled consistently, so the clicks show up in the right report.
- **Check per-recipient links.** If links are personalized, test a few different recipients and confirm each resolves to the correct destination. - **Check the domain.** Shared public link shorteners can hurt filtering on some routes. A branded tracking domain tends to look more trustworthy to recipients. Our guide to SMS link shorteners and branded links explains the trade-offs.
- **Check expiry.** If the landing page or offer has an end date, make sure it doesn't expire before the last scheduled batch goes out. ## Step 4: Confirm the Sender and the Route The same message can be displayed differently depending on how it's sent. ### Sender Identity Confirm that the sender you've chosen is approved for the destination countries and the type of traffic you're sending.
Alphanumeric sender IDs have character limits and format rules, and some countries require registration or don't support them at all. Our guide to SMS sender IDs covers the differences between alphanumeric senders, long codes, and short codes. For US traffic, registration requirements apply; see our guide to A2P 10DLC compliance. ### Provider Route and Failover If you send through more than one provider, check which route each country will use and what happens if that route refuses a message.
Make sure the routes in the chain are the ones you intend to use for that market, and that a provider you've decided to avoid for a country isn't sitting quietly in a fallback slot. Our guide to multi-provider SMS routing covers chains, failover, and rotation in detail. ### Throughput Check that the send rate fits the limits of the route. A large send pushed out all at once can trigger throttling or filtering.
Our SMS throughput planning guide explains how to pace sends with caps and queues. ## Step 5: Clean and Screen the Audience A perfect message sent to the wrong people is still a failed campaign. - **Permission.** Confirm the segment only contains people who agreed to receive this type of message. - **Suppression.** Make sure opt-outs, complaints, and internal suppression lists are applied to this send, across every provider and every list it draws from.
- **Validation.** Remove invalid, unreachable, and badly formatted numbers before you pay to text them. Our pre-send phone validation checklist covers what to check. - **Duplicates.** The same number appearing twice means the same person gets two texts. Dedupe across all the files or segments that feed the send. - **Frequency.** Check whether the people in this audience have already received a text from you recently. Our guide to frequency caps, cooldowns, and kill switches covers how to set limits.
- **Country mix.** Look at the destination countries in the file. Unexpected countries are often a sign of a data issue, and sometimes a sign of fraudulent signups. See our guide to SMS pumping fraud. ## Step 6: Check the Schedule and Time Zones Timing mistakes are easy to make and hard to explain to recipients.
- Confirm the time zone the schedule is set in, and whether the send uses each recipient's local time or a single fixed time. - For multi-country sends, check the local time in every destination, not just the main market. - Check quiet hours rules for your program and the countries involved. Our guide to SMS quiet hours and send-time optimization has more detail.
- If the send is split into batches, confirm the last batch still lands inside an acceptable window. - Check for local holidays or events that would make the mess
Related Articles
Attribute SMS revenue honestly with click windows, last-touch vs multi-touch, holdout lift tests, and cost-per-conversion guardrails.
SMS works because it is personal and immediate. That same intimacy makes compliance non-negotiable.
Marketers still need persuasive copy. AI now helps generate, personalize, and test that copy faster. Used well, it augments human judgment instead of...
Discover essential strategies and best practices for building a compliant, engaged, and high-performing SMS subscriber list in 2026. Maximize your marketing ROI.
Unlock the power of AI to craft compelling marketing messages. Explore how AI copywriting and message generation are transforming engagement, personalization, and efficiency in
Learn how AI intent scoring ranks inbound SMS replies so your team answers high-value leads first — without losing the human touch.
Discover advanced SMS personalization strategies for 2026 to boost engagement and drive conversions. Learn how dynamic SMS and tailored messaging can transform your marketing.
Unlock the power of webhooks for instant campaign insights and automation. Learn best practices for security, reliability, and scalability in 2026.
Explore SESender
SESender brings audience preparation, contact validation, sender and provider controls, scheduling, delivery tracking, and campaign reporting into one workspace. Review the current product and pricing information before deciding whether the platform fits your messaging workflow.
Explore the platform or review pricing.