The 160-Character Rule and Why It Still Matters
Every business sending bulk SMS eventually runs into the same question: why did a message I thought was "one text" get billed as two or three? The answer lies in how SMS segments are calculated, a detail that directly affects your campaign costs and one that many marketers overlook until they see an unexpectedly high bill.
A standard GSM-7 encoded SMS allows 160 characters per segment. Once a message exceeds that limit, it isn't simply cut off — it's split into multiple linked segments and reassembled on the recipient's device, a process called concatenation. Understanding this mechanism is the difference between predictable SMS costs and unpleasant surprises at scale.
How Concatenation Changes the Character Count
Here's the part that catches many marketers off guard: once a message needs to be split, each segment drops to 153 characters, not 160, because a small header is added to each part to tell the device how to reassemble them in order. So a 200-character message isn't sent as one 160-character segment plus a 40-character one — it becomes two 153-character segments, and you're billed for two messages even though the content barely exceeded the single-segment limit.
1 segment: up to 160 characters (GSM-7)
2 segments: up to 306 characters (2 × 153)
3 segments: up to 459 characters (3 × 153)
4 segments: up to 612 characters (4 × 153)
This step-down effect means the jump from 1 to 2 segments is the most costly one proportionally — going from 160 to 161 characters doubles your cost per message, even though you've added just a single character.
Unicode Messages Cut That Limit Further
If your message includes emojis, certain regional-language characters, or special symbols, it switches to Unicode (UCS-2) encoding. This drops the single-segment limit to just 70 characters, and multi-segment messages drop to 67 characters per part. Businesses sending regional-language bulk SMS campaigns should factor this in carefully, since a message that looks short in a text editor can quietly consume three or four billable segments once translated into Hindi, Tamil, or Bengali script.
A common mistake is adding a single emoji to an otherwise short, GSM-7-compliant message — this one character can silently push the entire message into Unicode encoding, cutting your character budget by more than half without any obvious warning in most sending interfaces.
Practical Ways to Control Segment Costs
Keeping messages within a single segment — concise, GSM-7 compliant, free of unnecessary emojis and special characters — is one of the simplest ways to control SMS campaign costs at scale. A few practical habits help:
Preview your character count before scheduling any campaign, not after
Avoid emojis and smart quotes in GSM-7 messages, as these force Unicode encoding
Shorten links using a URL shortener to reclaim valuable character space
Test regional-language templates specifically, since translated text often runs longer than the English original
Why This Matters More at Scale
For a single message, the difference between one and two segments is negligible. But across a campaign sent to 100,000 contacts, accidentally crossing into a second segment doubles your total messaging cost for that send — a difference that adds up quickly across a full marketing calendar. Reviewing segment count during campaign setup, rather than after the invoice arrives, is a small habit with a meaningful financial impact.
Conclusion
Understanding character limits and concatenation isn't just a technical detail — it directly affects your bulk SMS budget and delivery predictability. Stick to GSM-7 encoding and keep messages under 160 characters where possible, watch for hidden Unicode characters like emojis, and always preview your message segment count before scheduling a large campaign. A little attention here can meaningfully reduce your per-campaign messaging costs over time, especially as your contact list and sending volume continue to grow.
