Products

Bulk SMS PlatformBusiness messaging at scale Core Banking SystemFor SACCOs and cooperatives
SMS platform sign-in Book a consultation

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:

EncodingSingle messagePer part when split
GSM-7160 characters153 characters
UCS-2 (Unicode)70 characters67 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: € [ ] { } \ ~ ^ |.

Example. “Dear member, your deposit has been received. Thank you.” is 55 characters in GSM-7: one segment. Write member’s with a curly apostrophe in a longer reminder, and the whole message is re-encoded as Unicode, where the 70-character limit applies.

How to keep costs predictable

  1. Type straight quotes. Use ' and " rather than ’ and ”, and a plain hyphen instead of a long dash.
  2. 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.
  3. Leave room for the opt-out line. “Reply STOP to opt out” is part of the message length too.
  4. 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.

Talk to us about Bulk SMS or sign in to the platform.

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.