Skip to main content
Every SMS message is split into one or more segments before delivery. The number of segments determines your per-message cost — Trackly bills per segment, not per message.

What is a Segment?

A segment is a fixed-size chunk of an SMS message. Short messages fit in one segment. Longer messages are split across multiple segments, each with overhead bytes for reassembly headers.

GSM-7 vs UCS-2 Encoding

SMS supports two character encodings. The encoding is chosen automatically based on the characters in your message. If every character in your message is GSM-7 encodable — in the basic table or the extension table — the message uses GSM-7 encoding. If any character falls outside both tables, the entire message switches to UCS-2.

GSM-7 Basic Character Set

The GSM-7 basic set includes:
  • Letters: A-Z, a-z
  • Digits: 0-9
  • Symbols: @ £ $ ¥ ! " # ¤ % & ' ( ) * + , - . / : ; < = > ? ¡ ¿ § _
  • Accented characters: è é ù ì ò Ç Å å Ä ä Ö ö Ñ ñ Ü ü à Æ æ ß É
  • Greek letters: Δ Φ Γ Λ Ω Π Ψ Σ Θ Ξ
  • Special: Ø ø and standard whitespace (space, newline, carriage return)

GSM-7 Extension Characters

These characters are still GSM-7 — they do not force UCS-2 — but each one costs two septets instead of one: ^ { } \ [ ] ~ | € (plus form feed). A message full of them fits roughly half as many characters per segment.

Characters That Trigger UCS-2

These commonly used characters force UCS-2 encoding, dramatically reducing your per-segment character limit:
  • Emoji (any emoji forces UCS-2)
  • Smart quotes: \u201c \u201d \u2018 \u2019 (use straight quotes ” ’ instead)
  • Em dash: \u2014 (use a hyphen - instead)
  • Ellipsis character: \u2026 (use three periods … instead)
  • Non-Latin scripts: Chinese, Arabic, Cyrillic, etc.
A single emoji in a 160-character message increases it from 1 segment (GSM-7) to 3 segments (UCS-2), tripling the cost.

Segment Calculation

The platform calculates segments using this algorithm:
  1. Check whether every character is in the GSM-7 basic table or the extension table — basic-table characters cost 1 septet each, extension-table characters cost 2 septets each
  2. If GSM-7: budget 160 septets (single) or 153 septets per part (multi-part)
  3. If UCS-2: use a 70-character limit (single) or 67 characters per part (multi-part)
  4. Divide the septet count (GSM-7) or the character count (UCS-2) by the per-segment limit, rounding up. A 2-septet extension character is never split across a part boundary — it moves whole to the next part

Examples

Billing Impact

Trackly bills per segment at tiered rates within a 360-day cycle:
  • First 1M segments: $0.0045/segment
  • Next 4M segments (1M–5M): $0.0030/segment
  • Next 15M segments (5M–20M): $0.0020/segment
  • Above 20M segments: $0.0011/segment
Segments sent through a BYOC (bring-your-own-carrier) list bill on a separate two-tier rate — 0.0045/segmentforthefirst1M,0.0045/segment for the first 1M, 0.0030/segment after — and don’t draw from or count toward the tiers above. A 2-segment message costs twice as much as a 1-segment message. Keeping messages within the single-segment GSM-7 limit (160 characters) is the most cost-effective approach.

Tips for Reducing Segments

  1. Avoid emoji — they force UCS-2 encoding and cut your limit from 160 to 70 characters
  2. Use straight quotes — replace smart quotes (\u201c \u201d) with straight quotes (” ”)
  3. Use short links — Trackly’s link shortener creates compact URLs that save characters
  4. Keep messages under 160 characters — one GSM-7 segment is the sweet spot for cost and deliverability
  5. Check segment counts before sending — a sandbox send and the preflight endpoint both return a segment_count field so you can verify segmentation before a live send; the live send response returns only success, message_id, and status

Template Length Cap

Creative templates are limited to 1,600 characters. This prevents accidentally creating messages that would produce an excessive number of segments.

Next Steps

Creative Templates

Design effective message templates

Platform Limits

View all platform limits