Messaging
SMS segments explained: why one message can cost two.
If you send SMS in bulk, you are charged per segment, not per message. Most of the time one message is one segment. But a long message, or a single unexpected character, can quietly double or triple what a campaign costs. Here is how it works.
Two alphabets: GSM-7 and Unicode
Every SMS is sent in one of two encodings:
- GSM-7, the standard SMS alphabet. It covers English letters, digits, common punctuation and some accented letters. One segment holds 160 characters.
- UCS-2 (Unicode), used when a message contains any character outside GSM-7, such as most emoji or many non-Latin scripts. One segment holds only 70 characters.
The whole message switches to Unicode if even one character needs it.
Long messages are split, and lose a little space
When a message is too long for one segment, it is sent as several parts that the phone joins back together. Each part carries a small header for reassembly, so the capacity per part drops:
| Encoding | Single message | Per part when split |
|---|---|---|
| GSM-7 | 160 characters | 153 characters |
| UCS-2 (Unicode) | 70 characters | 67 characters |
So a 161-character GSM-7 message uses two segments, and a 307-character message uses three.
The characters that catch people out
The most common surprise is typographic punctuation pasted from a word processor or phone keyboard. Curly quotes and apostrophes (’ “ ”), long dashes (—) and the ellipsis character (…) are not in GSM-7. One of them turns a 150-character message into three Unicode segments.
A second group is part of GSM-7 but counts as two characters each, because they come from an extension table: € [ ] { } \ ~ ^ |.
How to keep costs predictable
- Type straight quotes. Use ' and " rather than ’ and ”, and a plain hyphen instead of a long dash.
- Watch personalised fields. A name or amount inserted from a spreadsheet can push a message over a segment boundary, or bring in a Unicode character. Check your longest values, not just the average.
- Leave room for the opt-out line. “Reply STOP to opt out” is part of the message length too.
- Use a tool that shows the count as you type. You should see the encoding, the number of segments and the cost before you send, not afterwards.
How Kainetgen Bulk SMS handles this
The Kainetgen Bulk SMS editor detects GSM-7 or UCS-2 as you type, and shows the segment count and the credits a send will use. For campaigns with personalised fields, the review step shows the total cost before anything is sent, and credits for messages that are not sent are refunded.
Start a conversation
Let’s build what comes next.
Tell us what your organization needs to achieve. Our team will help you explore the right technology solution.