Twilio bills SMS by the segment, not by the message, and the number of segments a given message creates depends on both its character count and its encoding. Teams that design message templates without understanding segmentation rules routinely send two-segment or three-segment messages when one-segment messages would have achieved the same result with minor rewrites. Across millions of sends, this is a preventable cost that frequently represents 15 to 40 percent of the total SMS budget.
GSM-7 Encoding: The 160-Character Rule
Messages composed entirely of GSM-7 characters, which covers the standard Latin alphabet, digits, and common punctuation, are limited to 160 characters per segment. If your message fits within 160 characters using only GSM-7 characters, it is billed as a single segment. Once you exceed 160 characters, the message is split into segments of 153 characters each, not 160, because a 7-byte header is added to each part to allow the receiving device to reassemble the segments in order. This means a 161-character message costs twice as much as a 160-character message, and a 307-character message costs three times as much as a 153-character message.
Unicode Encoding: The 70-Character Limit
Any character outside the GSM-7 character set, including emojis, smart quotes, accented letters like those used in French or Spanish, and many currency symbols, forces the entire message into Unicode (UCS-2) encoding. Unicode-encoded messages have a per-segment limit of 70 characters, not 160. Multi-part Unicode messages use 67 characters per segment after the first due to the same concatenation header overhead. A 150-character message that would be a single segment if written in GSM-7 becomes three segments if it contains a single emoji, tripling the cost. Many businesses inadvertently send Unicode messages because their CRM or CMS inserts smart quotes or em dashes into message templates without the team realising the character-set impact.
Common Template Mistakes That Add Segments
The most common segmentation mistakes we find during Twilio SMS audits are: using curly apostrophes (which are Unicode) instead of straight apostrophes (which are GSM-7); including a business name or product name that contains an accented character such as a French name with accents; appending an emoji at the end of an otherwise GSM-7 message without realising it forces the whole message to Unicode; and writing templates that consistently land at 161 or 162 characters after dynamic variables like customer names are inserted. Each of these mistakes is correctable with a template audit, and the savings from fixing them accumulate immediately on the next send.
Auditing and Optimising Your Templates
The Twilio helper library includes a segment calculator function that you can use during development to check how any given message string will be segmented before it is sent. Running your message templates through this calculator with realistic variable values, including the longest plausible customer name or order number, is the definitive way to identify templates that will split unexpectedly. Message templates should be tested at their maximum realistic length, not just their average length, because the long tail of variable values is what tips templates from one segment to two. A systematic template audit conducted before a high-volume campaign launch consistently yields cost savings that exceed the audit cost within the first send.
Conclusion
Segmentation-related SMS overcharges are entirely preventable with a template audit, and the savings are immediate and permanent from the point of fixing. Book a free SMS cost review with our team and we will identify every template in your stack that is generating unnecessary extra segments.
Ready to Transform Your Business Communications?
Get a free consultation with our VoIP experts and discover how we can help you save costs, improve efficiency, and scale your business.
Comments (0)
Join the discussion and share your thoughts (AI-moderated for quality)
Be the first to comment
No comments yet. Share your thoughts below.