You wrote a text. It fits on one phone screen. It reads like one message. And your carrier billed you for two.
That's not a bug. That's how SMS segmentation works, and if you send at any real volume, it's quietly doubling the cost of messages you assumed were single-segment. The good news: it's fixable with editing, not engineering. A trim of eight words — sometimes fewer — takes a two-segment message back to one and cuts that send's per-message cost by half.
Full disclosure: I work for Ready, an SMS platform that bills per outbound segment plus a transparent carrier fee. So I have a stake in you caring about segments. But the math below is carrier math, not Ready math — it applies no matter who you send through.
Why 158 characters isn't one message
The intuitive rule is "160 characters = one text." That's almost right, and the almost is where the money leaks.
A single SMS segment holds 160 GSM-7 characters. GSM-7 is the standard character set — plain letters, digits, spaces, common punctuation. As long as your whole message stays under 160 GSM-7 characters, you pay for one segment. Good.
The trap is what happens the moment you go over. The message doesn't split into "160 + the rest." It splits into multipart segments of 153 characters each, because concatenated messages spend 7 characters per segment on header data that stitches the parts back together on the recipient's phone.
So the real thresholds are:
- 1–160 characters → 1 segment
- 161–306 characters → 2 segments (153 + 153)
- 307–459 characters → 3 segments
A 158-character message is one segment. Add a 12-character URL and a courtesy line, land at 175 characters, and you're now paying for two — even though it still looks like a single bubble on the phone.
If you want the deeper version of this cliff, we wrote it up in Your 'One' Text Is Actually Three: the 160-vs-153 character cliff.
The hidden multiplier: unicode drops you to 70
One more thing that turns a "one-segment" text into a multi-segment bill: unicode.
The second you drop in an emoji, or a curly "smart" apostrophe your text editor auto-inserted, the whole message switches from GSM-7 to UCS-2 encoding. That collapses your per-segment limit from 160 characters to 70 (67 for multipart). One 😊 doesn't add one character's worth of cost — it re-encodes the entire message and can triple your segment count.
We broke both of those down separately:
- One curly apostrophe turns your 160-char text into a 70-char one
- The hidden emoji tax: how one 😊 turns a 160-char text into a 3-segment bill
For this post, we're staying in GSM-7 — because the two-segment trap catches people who never touch an emoji.
A worked before/after
Here's a real-shaped promo. Count it.
Before (175 chars): "Hi Sarah! Thanks for being a loyal customer this year. As a thank you, here's 20% off your entire order this weekend only. Use code THANKS20 at checkout. Shop now: mystore.co/sale"
175 characters. Over 160, so it splits — 2 segments.
Now the trim. Same offer, same code, same link, same warmth — just tighter:
After (138 chars): "Hi Sarah! Thanks for being a loyal customer. 20% off your whole order this weekend — code THANKS20. Shop: mystore.co/sale"
138 characters. 1 segment.
I cut "this year," "As a thank you, here's," "entire" → "whole," "at checkout," and "Shop now" → "Shop." Eight words gone. Nothing a customer would miss. And the message went from 2 segments to 1.
The money, on Ready's numbers
Ready bills $0.02 per segment on the Standard tier (0–50,000 segments/month), plus a $0.0045/segment carrier pass-through billed as a separate line item — so all-in that's $0.0245 per segment.
Send that promo to 25,000 contacts:
| Chars | Segments | All-in per msg | 25,000 contacts | |
|---|---|---|---|---|
| Before | 175 | 2 | $0.049 | $1,225.00 |
| After | 138 | 1 | $0.0245 | $612.50 |
$612.50 saved on one send. Because you deleted "this year" and "at checkout."
Do that promo weekly for a year and the trim is worth roughly $31,850 — same list, same offer, same conversions. The only thing that changed is you stopped paying to deliver filler.
And if that weekly volume pushes you past 50,000 segments in a calendar month, Ready automatically drops you to the Growth rate of $0.016/segment (all-in $0.0205) — no plan to pick, no upsell call. The tighter your copy, the later you cross that line, but the discount is there either way. You can sanity-check any of this against the numbers on the pricing page.
Why the transparent line item matters here
This audit only works if you can actually see segments on your bill.
Plenty of texting tools quote you a flat "per message" price that silently absorbs multi-segment sends — you never learn that half your "messages" were secretly two. Ready itemizes the carrier pass-through ($0.0045/segment) separately from the send rate, so a two-segment message visibly costs two segments. That legibility is the point. You can't optimize what the invoice hides.
It also means the savings from trimming aren't theoretical. Cut a campaign from 2 segments to 1 and the next invoice is literally half the segment count on that send. No modeling required.
How to run the audit yourself
You don't need a spreadsheet migration. Thirty minutes on your active templates:
- Paste each template into a character counter — the real, final version with the merge fields expanded to typical values. "{{first_name}}" is 14 characters in the editor but "Sarah" is 5 in the wild. Count the rendered message.
- Flag anything landing in the 161–200 range. These are your best targets — barely over the line, easy to pull back under 160 with a light edit.
- Kill the unicode you didn't mean to add. Retype straight apostrophes and quotes; strip auto-inserted em-dashes and ellipsis characters. One smart quote can be the difference between GSM-7 and UCS-2.
- Cut in this order: courtesy phrases ("As a thank you"), redundant clauses ("this weekend only" when the date's already implied), long CTAs ("Shop now" → "Shop"), and multi-word swaps ("your entire order" → "your order").
- Leave STOP language alone. Your opt-out line is compliance, not filler. Trim around it, never through it.
One caution: don't torture your copy to save a fraction of a cent. Cutting "you're" to "youre" saves nothing and looks broken — we made that exact case in this annotated rewrite. The wins come from removing words, not butchering them. If a trim makes the message read worse, it's not a win — a confused customer who doesn't convert costs far more than a second segment.
The practical takeaway
Segment boundaries are quiet because the phone hides them — a two-part message reassembles into one bubble, so nothing on the receiving end tells you it cost double. The lever is copywriting: stay under 160 GSM-7 characters, avoid accidental unicode, and audit the templates you send most.
Start with your highest-volume recurring send — the weekly promo, the appointment reminder, the abandoned-cart nudge. That's where a single 138-vs-175 edit compounds across thousands of contacts, every send, all year.
If you want to watch the segment count move as you trim, Ready gives you 2,500 free credits and no credit card to test with — one credit is one segment, so you'll see exactly what each edit does. Sign up here, paste in your worst offender, and cut eight words.