Loyalty Rewards - SMS Character Limits: GSM-7, Unicode and Why One Emoji Doubles Your Bill

SMS Character Limits: GSM-7, Unicode and Why One Emoji Doubles Your Bill

Most people discover SMS encoding the same way: the invoice comes in twice as high as the estimate, and nobody can explain why. The answer is almost always a single character somewhere in the template.

The two encodings

SMS messages are sent in one of two character sets, and which one you get is decided automatically by the content of your message.

  • GSM-7 is the standard alphabet: A to Z, digits, and a limited set of punctuation. It packs characters into seven bits, which is why you get 160 characters in a single message.
  • UCS-2 (Unicode) covers everything else: emoji, curly quotes, accented characters, non-Latin scripts. It uses sixteen bits per character, so a single message drops to 70 characters.

You do not choose. One character outside GSM-7 switches the entire message to Unicode, including the 159 characters that would have been fine.

What a segment actually costs you

Gateways bill per segment, not per message. Send 200 characters in GSM-7 and you pay for two segments. Concatenated messages also carry a small header, so the limits drop to 153 characters per segment in GSM-7 and 67 in Unicode once a message spans more than one.

The arithmetic that catches people out: a 150-character message with one emoji becomes Unicode, which means it needs three segments instead of one. You have tripled the cost of every send by adding a smiley face.

The characters that silently break GSM-7

Emoji are the obvious culprit and rarely the actual one, because most template damage comes from characters nobody notices.

  • Curly quotes and apostrophes. Word processors and some editors convert straight quotes automatically. A single curly apostrophe will flip the message to Unicode.
  • En and em dashes pasted from a document.
  • Accented characters in names pulled from a customer database.
  • Non-breaking spaces, which are invisible and copied in from HTML more often than you would think.

Some characters are technically in the GSM-7 extended set and cost two characters each rather than one: the square and curly brackets, the backslash, the tilde, the caret, the vertical bar and the euro sign.

Writing templates that stay in one segment

  1. Budget for the merge values, not just the fixed wording. Your template might be 120 characters, but if it merges in a customer name and an order number, write for the longest realistic values rather than the average ones.
  2. Type quotes and dashes manually rather than pasting from a document, or strip them programmatically before send.
  3. Shorten links. A full product URL can eat half your budget. See the Bitly short URL integration.
  4. Test with real data. A template that fits with the name Ann may not fit with a longer name and a full address.

When Unicode is worth paying for

Not every case should be optimised down to one segment. If you send in Greek, Arabic, Hebrew, Thai or any non-Latin script, Unicode is not optional and 70 characters is simply your working limit. Plan the copy around it rather than fighting it.

And for a genuinely high-value message, a second segment is a rounding error. Cost control matters most on high-volume marketing sends, where the same saving repeats tens of thousands of times. For an OTP code that gates a login, clarity beats thrift every time.

Check it before you send it

Before any bulk campaign, run the final rendered message, with real merge values, through a segment counter and confirm both the encoding and the segment count. It takes a minute and it is the single most reliable way to avoid an invoice that does not match the plan. For the wider picture on keeping send costs down, see the bulk SMS marketing guide.

Get started with WP SMS

Install the plugin, connect a gateway, send a test message. Most sites are live in under an hour, and every feature in this guide is available from the WordPress admin you already know.

See WP SMS pricing  |  All features  |  Easy setup guide

Backed by a 14-day money-back guarantee.

You'll discover here