In this article you will learn why some SMS messages in a serial message, such as a dunning run, are charged differently even though the content looks the same. You will understand how the encoding format of an SMS depends on the characters you use and how that affects the number of message parts and the cost.
Contents
- SMS encoding formats
- Character limits in GSM7 and Unicode
- Characters that affect encoding
- Impact on SMS costs
Fast lane
- Check the content of your SMS messages.
- Be aware of the characters you use (accents, symbols, quotation marks, emojis).
- Note that only characters outside both GSM7 sets switch the message to Unicode.
- Remember that Unicode messages have a smaller character limit, so they split into more parts and cost more.
SMS encoding formats
When an SMS is sent, the encoding format depends on the characters it contains. There are two common encoding standards: GSM7 and Unicode (UCS2). Most messages are sent using GSM7 by default. Only when the content contains a character that GSM7 cannot represent does the whole message switch to Unicode. That switch lowers the character limit per message part and therefore increases the cost.
Character limits in GSM7 and Unicode
Each encoding format has its own character limit per SMS. When a message is longer than the single-message limit, it is split into multiple parts, and each part is charged separately. Multipart messages use a slightly lower limit per part, because part of the space is needed to join the parts back together.
| Encoding | Single message | Per part (multipart) |
|---|---|---|
| GSM7 | 160 characters | 153 characters |
| Unicode (UCS2) | 70 characters | 67 characters |
Characters that affect encoding
Not every unusual character forces a switch to Unicode. It helps to distinguish three groups:
- GSM7 basic characters (count as 1 character, no switch): everyday accented letters such as ä, ö, ü, é and è are part of the GSM7 basic character set. They stay GSM7-encoded and each counts as a single character.
- GSM7 extended characters (count as 2 characters, no switch): symbols such as | ^ { } € [ ] ~ are part of the GSM7 extended set. The message stays GSM7-encoded, but each of these symbols takes up two of the available characters.
- Non-GSM7 characters (force Unicode): only characters outside both GSM7 sets switch the whole message to Unicode. The most common culprits are typographic "smart quotes" (‘ ’ and “ ”) that text editors insert automatically in place of straight quotes (' and "), and the backtick (`). Emojis also fall into this group.
The key point: a switch to Unicode is not caused by everyday accents or by the €/bracket symbols. Accents count normally, the extended symbols count as two characters but stay GSM7, and it is the non-GSM7 characters, above all smart quotes and the backtick, that drop the limit to 70 (or 67 per part).
Impact on SMS costs
This is what causes some messages in a serial message, for example a dunning run, to be charged differently. If the content of one message contains a non-GSM7 character, that message is sent as Unicode and its limit drops from 160 to 70. The same text that fit into one GSM7 message may then need two or more Unicode parts, and each part is charged separately.
That is why you can see a higher cost for messages that look almost identical: a single smart quote or backtick, often inserted automatically when copying text, is enough to move a message onto the Unicode path. To keep costs down, use straight quotes and stay within the GSM7 character set where possible.