When composing SMS notifications or broadcasting marketing campaigns, understanding character encoding and segment math is the single most effective way to optimize your messaging budget.
Inserting a single emoji (😊) or copying text from Microsoft Word can accidentally double or triple your campaign cost. This guide explains how telecom carrier segment math works under the hood and how to use our live pre-flight estimator to prevent billing surprises.
1. How SMS Encoding Works Under the Hood
Global telecom networks (Safaricom, Airtel, Telkom) transmit text messages across radio signaling channels in fixed 140-byte packets called segments:
┌────────────────────────────────────────────────────────────────────────┐
│ 1. STANDARD GSM-7 ENCODING (7-bit) │
│ - Standard Latin text, numbers, and basic punctuation │
│ - Single Segment: Up to 160 Characters = 1 SMS Unit │
│ - Multi-Part Concatenated: 153 Characters per segment (7 bytes for UDH)│
└────────────────────────────────────────────────────────────────────────┘
VS
┌────────────────────────────────────────────────────────────────────────┐
│ 2. UCS-2 UNICODE ENCODING (16-bit) │
│ - Triggered by Emojis (🔥), smart quotes (“ ”), or special symbols │
│ - Single Segment: Up to 70 Characters = 1 SMS Unit │
│ - Multi-Part Concatenated: 67 Characters per segment (6 bytes for UDH)│
└────────────────────────────────────────────────────────────────────────┘2. The Segment Math Breakdown Matrix
Encoding Standard | Triggered By | 1 Segment (1 Unit) | 2 Segments (2 Units) | 3 Segments (3 Units) |
GSM-7 (Standard Text) | Standard English alphabet, numbers | Up to 160 chars | 161 – 306 chars | 307 – 459 chars |
UCS-2 (Unicode / Emojis) | Emojis (🎉), curly quotes ( | Up to 70 chars | 71 – 134 chars | 135 – 201 chars |
3. The "Emoji Penalty" Real-World Example
To understand how emojis impact your billing ledger:
- Message A (Standard GSM-7):
"Flash Sale! Get 20% off all fashion items this weekend only at Avenue Fashion. Visit avenuefashion.co.ke"
- Length: 105 characters.
- Encoding: GSM-7.
- Calculated Cost: 1 Segment (1 SMS Unit = KSh 0.40).
- Message B (With 1 Emoji):
"Flash Sale! Get 20% off all fashion items this weekend only at Avenue Fashion. Visit avenuefashion.co.ke 🔥"
- Length: 107 characters.
- Encoding: UCS-2 Unicode (triggered by 🔥).
- Calculated Cost: 2 Segments (2 SMS Units = KSh 0.80 — 100% Price Increase!).
4. Common "Hidden" Characters That Trigger Unicode
Often, messages shift to Unicode without the sender realizing it. This usually happens when copying and pasting copy from rich text editors (Google Docs, Microsoft Word, Apple Notes):
Hidden Unicode Symbol | Why It Happens | Safe GSM-7 Replacement |
Smart Curly Quotes ( | Word processors auto-format straight quotes into curly quotes. | Use standard straight quotes ( |
Em Dash ( | Word processors convert double hyphens ( | Use a standard single hyphen ( |
Ellipsis Symbol ( | Auto-converted from three dots. | Type three separate periods ( |
Special Currency ( |
5. How to Prevent Unexpected Charges
- Use the Live Composer Counter: When composing broadcasts at sms.nyotaimara.com/send, the live character counter displays your active encoding (GSM-7 vs Unicode) and calculated segment count in real time.
- Strip Rich Text Formatting: When pasting copy from external documents, paste as plain text (
Ctrl + Shift + VorCmd + Shift + V). - Validate Dynamic Merge Fields: If you are using dynamic variables like
{{firstName}}, remember that longer recipient names can push individual messages across segment boundaries (e.g. from 160 to 162 characters).