Every character in an SMS message carries a cost — sometimes literally. SMS message length optimization is one of the most overlooked levers in mobile marketing, yet it directly affects how much you pay per message, whether your content arrives intact, and how recipients engage with it. Understanding the mechanics of message segmentation, encoding standards, and the relationship between brevity and performance can save significant budget while improving campaign outcomes.
This article breaks down the technical foundations of SMS message length, walks through the cost implications of multi-segment messages, and provides a framework for finding the optimal length for your campaigns.
How SMS Message Segmentation Works
SMS was designed in the 1980s with a strict constraint: each message could carry a maximum of 140 bytes of data. How many characters fit into those 140 bytes depends entirely on the encoding standard used.
GSM-7 Encoding: The Default Standard
GSM-7 is the default encoding for SMS messages. It uses 7 bits per character, which means 140 bytes can hold up to 160 characters. GSM-7 supports the standard Latin alphabet, digits, and a limited set of punctuation and symbols. As long as every character in your message falls within the GSM-7 character set, you get the full 160-character allowance per segment.
However, certain characters in the GSM-7 extended table — including curly braces {}, square brackets [], the pipe symbol |, the euro sign €, and the caret ^ — consume 14 bits (two character slots) instead of 7. A single euro sign in an otherwise short message can push you into an extra segment.
UCS-2 Encoding: When Unicode Is Required
If your message contains any character outside the GSM-7 set — emoji, accented characters not in GSM-7, Chinese, Arabic, Cyrillic, or other non-Latin scripts — the entire message falls back to UCS-2 encoding. UCS-2 uses 16 bits per character, cutting the single-segment limit to just 70 characters. This is not a per-character penalty; a single emoji forces the entire message into UCS-2, halving your character budget.
For a thorough breakdown of how encoding standards affect your campaigns, see our guide on GSM-7 vs UCS-2 encoding and how character encoding affects SMS cost and deliverability.
Concatenation and the User Data Header
When a message exceeds the single-segment limit (160 characters for GSM-7 or 70 for UCS-2), it gets split into multiple segments. Each segment must include a User Data Header (UDH) that tells the receiving device how to reassemble the parts in the correct order. The UDH consumes 6 bytes per segment, reducing the usable character count.
| Encoding | Single Segment Limit | Multi-Segment Limit (per segment) | UDH Overhead |
|---|---|---|---|
| GSM-7 | 160 characters | 153 characters | 7 characters |
| UCS-2 | 70 characters | 67 characters | 3 characters |
A 161-character GSM-7 message does not cost "just one character more." It becomes a 2-segment message, and each segment now holds only 153 characters. A 307-character GSM-7 message requires 3 segments (3 × 153 = 459 usable characters). The cost doubles or triples at these thresholds, making the boundaries critically important to understand.
The Cost Math: Why Segments Matter More Than Characters
SMS pricing is almost universally based on segments, not messages. Whether you use an aggregator, a direct carrier connection, or a platform API, you pay per segment sent. This makes segment count the single most important cost variable in any SMS campaign.
Cost Scenarios at Scale
Consider a campaign sent to 100,000 subscribers at a hypothetical rate of $0.01 per segment. The cost difference between a 1-segment and a 2-segment message is not marginal — it is a 100% increase in spend.
| Message Length (GSM-7) | Segments | Cost per Message | Campaign Cost (100K sends) |
|---|---|---|---|
| 140 characters | 1 | $0.01 | $1,000 |
| 160 characters | 1 | $0.01 | $1,000 |
| 161 characters | 2 | $0.02 | $2,000 |
| 306 characters | 2 | $0.02 | $2,000 |
| 307 characters | 3 | $0.03 | $3,000 |
The jump from 160 to 161 characters costs an additional $1,000 in this scenario. At higher volumes or higher per-segment rates (international messaging can run $0.03–$0.08+ per segment), the impact compounds significantly.
The Hidden Cost of Emoji
Emoji are popular in SMS marketing because they draw the eye and can increase read rates. But the encoding penalty is severe. A single emoji forces UCS-2 encoding, dropping the single-segment limit from 160 to 70 characters.
A message that reads "Flash sale today — 30% off everything" is 39 characters and fits easily in one GSM-7 segment. Add a fire emoji and the same message is still under 70 characters in UCS-2, so it remains one segment. But a longer promotional message of 120 characters with one emoji now requires 2 UCS-2 segments (120 > 67 per concatenated segment), whereas the same text without the emoji would have been a single GSM-7 segment.
The question is not whether emoji improve engagement — it is whether the engagement lift justifies the encoding cost. This is measurable, and it should be measured.
How SMS Message Length Affects Deliverability
Cost is the most obvious concern, but message length also has deliverability implications that are less widely discussed.
Concatenation Failures
Multi-segment messages rely on the receiving carrier and handset to correctly reassemble segments using the UDH. In most modern networks, this works reliably. However, certain edge cases can cause problems:
- Older handsets or feature phones may display segments as separate messages, breaking the reading experience
- Some international carrier routes have lower concatenation support, particularly in emerging markets
- Network congestion can cause segments to arrive out of order or with noticeable delays between parts
Single-segment messages eliminate concatenation risk entirely. For campaigns targeting international audiences or diverse device populations, keeping messages to one segment is a deliverability best practice.
Carrier Filtering and Throughput
Carrier spam filters evaluate messages based on multiple signals, and message length is one of them. Extremely long messages (4+ segments) can trigger additional scrutiny on some carrier networks. While there is no universal rule, shorter messages tend to have a cleaner deliverability profile because they look less like bulk promotional content to automated filtering systems.
Multi-segment messages also consume more throughput capacity. If your sending infrastructure has rate limits (measured in segments per second, not messages per second), a 3-segment message uses 3x the throughput of a single-segment message. This means campaigns take longer to complete, which can matter for time-sensitive offers. Trackly accounts for this in its throughput rate limiting, calculating delivery windows based on total segment count rather than message count.
Message Length and Engagement: What the Data Suggests
The relationship between message length and engagement is not as simple as "shorter is always better." The optimal length depends on the message type, the audience, and the action you are asking the recipient to take.
Short Messages (Under 100 Characters)
Very short messages tend to perform well for simple, direct calls to action: flash sale alerts, appointment reminders, one-time passcodes, and time-sensitive notifications. They are scannable, load instantly, and feel less intrusive. The constraint forces clarity, which often improves click-through rates on the included link.
Medium Messages (100–160 Characters)
This range is the practical sweet spot for most promotional SMS campaigns. It provides enough space to include context (what the offer is, why it matters) along with a clear call to action and a tracking link, while staying within a single GSM-7 segment. For most marketers, the goal should be to craft messages that deliver maximum value within this window.
Long Messages (161–306 Characters, 2 Segments)
Two-segment messages make sense when the additional context genuinely improves conversion rates enough to justify the doubled cost. Product launches with multiple details, exclusive offers requiring explanation, or messages that combine personalization with a compelling narrative may benefit from the extra space. The key metric is not click-through rate in isolation — it is click-through rate relative to cost per message.
Very Long Messages (307+ Characters, 3+ Segments)
Three or more segments are rarely justified in promotional SMS. The cost is 3x or more, the deliverability risk increases, and the reading experience on a mobile device becomes unwieldy. If your message requires this much content, consider whether SMS is the right channel or whether a shorter SMS linking to a landing page would be more effective.
The goal of SMS message length optimization is not to make every message as short as possible. It is to ensure that every character earns its place by contributing to the desired outcome.
A Framework for Optimizing SMS Message Length
Optimizing SMS message length is a systematic process, not a one-time decision. The following framework provides a practical approach.
Step 1: Audit Your Current Message Lengths
Before optimizing, establish a baseline. Pull your recent campaign data and categorize messages by segment count. Calculate the percentage of campaigns that used 1, 2, or 3+ segments. If a significant portion of your messages are multi-segment, there is likely room for cost savings.
Step 2: Validate Encoding Before Sending
Many accidental multi-segment messages result from encoding issues rather than intentional length. Common culprits include:
- "Smart quotes" (curly quotation marks) copied from word processors, which are not in the GSM-7 set and force UCS-2
- Em dashes (—) instead of hyphens (-)
- Accented characters pulled from CRM data (e.g., a customer name with an accent)
- Emoji inserted by content creators unaware of the encoding impact
Trackly's deliverability tools include GSM-7 encoding validation and real-time segment counting, so marketers can see exactly how many segments a message will consume before it goes out. This kind of pre-send validation prevents costly surprises. Even without a dedicated tool, you can use GSM-7 character set references to manually check your messages during the drafting process.
Step 3: Tighten Your Copy
SMS copywriting is a discipline of constraint. Every word must justify its presence. Common techniques for reducing message length without losing impact include:
- Replacing phrases with shorter equivalents ("in order to" → "to", "at this time" → "now")
- Removing filler words ("just", "really", "very", "actually")
- Using numerals instead of spelled-out numbers ("50%" instead of "fifty percent")
- Shortening URLs with a custom short domain instead of long tracking links
- Moving details to the landing page rather than cramming them into the message
For a comprehensive guide to writing effective SMS copy within tight character constraints, see our SMS creative copywriting guide on writing text messages that get clicks.
Step 4: A/B Test Length Variants
The only reliable way to know whether a shorter or longer message performs better for your specific audience is to test it. Set up controlled experiments comparing:
- A concise 1-segment version against a more detailed 2-segment version of the same offer
- Versions with and without emoji (measuring whether the engagement lift justifies the UCS-2 cost)
- Different levels of personalization (adding a first name uses characters but may boost response)
The critical metric for these tests is not raw click-through rate — it is cost-adjusted performance. A 2-segment message with a 5% click rate is not outperforming a 1-segment message with a 4% click rate, because the 2-segment version costs twice as much to send. Calculate your effective cost per click (or cost per conversion) for each variant.
Trackly's A/B testing with algorithmic creative selection makes this process efficient: you can run multiple message variants simultaneously, and the system automatically allocates more traffic to the top-performing creative based on real-time results. For a deeper look at structuring these experiments, see our guide to SMS A/B testing and optimizing click rates with data.
Step 5: Build Segment-Aware Templates
Once you have identified optimal message patterns, codify them into templates that respect segment boundaries. If your standard promotional template includes a personalization token (e.g., first name), account for the variable length. A template that is 155 characters before personalization will exceed 160 characters for any subscriber whose name is longer than 5 characters.
Build templates with a buffer. For single-segment GSM-7 messages with personalization, target a base template length of 130–140 characters to accommodate name variability. For messages with tracking links, account for the length of your short domain URLs.
Real-World Optimization Scenarios
The following three scenarios illustrate how message length optimization plays out in practice.
Scenario 1: The Accidental 2-Segment Message
A retail brand sends a weekly promotional SMS to 250,000 subscribers. Their standard message template looks like this:
Hi {first_name}, our weekend sale starts now — up to 40% off select styles. Shop the collection before it's gone: {link} Reply STOP to opt out
Without personalization, this is 138 characters. But "it's" contains a smart apostrophe (') copied from their content management system, which is not in the GSM-7 character set. The entire message falls back to UCS-2 encoding. At 138 characters in UCS-2, this becomes a 3-segment message (the first segment holds 70 characters and subsequent segments hold 67 each). At $0.01 per segment, the campaign costs $7,500 instead of $2,500.
The fix: replace the smart apostrophe with a standard one. The message stays in GSM-7, fits in a single segment, and the campaign cost drops by $5,000. This is exactly the kind of issue that pre-send encoding validation catches immediately.
Scenario 2: Emoji ROI Calculation
An e-commerce brand wants to add a 🔥 emoji to their flash sale messages. Their current message is 95 characters in GSM-7 (1 segment). Adding the emoji forces UCS-2 encoding, making the 96-character message a 2-segment UCS-2 message (96 > 70). The cost per message doubles.
They run an A/B test across 50,000 subscribers (25,000 per variant):
| Variant | Segments | Cost | CTR | Clicks | Cost per Click |
|---|---|---|---|---|---|
| No emoji (GSM-7) | 1 | $250 | 3.8% | 950 | $0.26 |
| With emoji (UCS-2) | 2 | $500 | 4.3% | 1,075 | $0.47 |
The emoji variant has a higher click-through rate, but the cost per click is 80% higher. Unless the emoji variant also drives a meaningfully higher conversion rate on the landing page, the non-emoji version is the more efficient choice. This is the kind of insight that only emerges when you measure cost-adjusted performance rather than engagement metrics in isolation.
Scenario 3: Short vs. Long for a Product Launch
A DTC brand is launching a new product and debates between a brief teaser message and a more detailed announcement. They test both:
Variant A (1 segment, 142 chars):
New drop alert: The Apex Runner is here. Lightweight. Responsive. Built for speed. Shop now: {link} Reply STOP to end
Variant B (2 segments, 248 chars):
Introducing the Apex Runner — our lightest shoe ever at just 7.2oz. Engineered with responsive foam and a breathable knit upper for all-day comfort. Early access for subscribers only, available in 6 colorways. Shop the full collection: {link} Reply STOP to end
The longer message provides genuinely useful product details (weight, materials, exclusive access, colorway count) that may drive higher purchase intent. If the 2-segment version converts at a rate that offsets the doubled send cost, it wins. The decision should be driven by data, not assumptions about whether shorter or longer is inherently better.
Segment Counting Reference for Common Message Components
When building SMS templates, it helps to know the character cost of common message components. The following reference table assumes GSM-7 encoding:
| Component | Typical Character Count | Notes |
|---|---|---|
| Short URL (custom domain) | 18–25 chars | Varies by domain and path length |
| First name personalization | 3–12 chars | Plan for 10+ to be safe |
| "Reply STOP to opt out" | 22 chars | Required for compliance in many jurisdictions |
| Brand name identifier | 5–15 chars | Some brands prepend their name |
| Discount/offer detail | 15–30 chars | e.g., "25% off with code SAVE25" |
| Urgency/deadline | 15–25 chars | e.g., "Ends tonight at midnight" |
Adding up these components, a typical promotional message with personalization, a short URL, an offer, and an opt-out notice consumes 80–110 characters before you write the actual message copy. This leaves 50–80 characters for your core message in a single GSM-7 segment. Knowing this budget upfront prevents the common pattern of writing the message first and then scrambling to trim it down.
Automating Length Optimization in Your Workflow
Manual character counting does not scale. As campaign volume increases, you need systematic guardrails to prevent segment overruns.
Pre-Send Validation
The most effective safeguard is a pre-send check that evaluates each message (after personalization token expansion) for encoding type and segment count. Trackly's segment counting and GSM-7 validation tools perform this check automatically, flagging messages that will exceed your target segment count before they enter the send queue. This is particularly valuable for messages with dynamic content — personalization tokens, dynamic offer codes, or variable-length URLs — where the final character count varies per recipient.
Character Budget Policies
Establishing internal guidelines for your SMS content team helps maintain consistency:
- Standard promotional messages: 1 segment maximum (target 140 characters GSM-7 to allow for personalization variance)
- Product launch or high-value announcements: 2 segments allowed with manager approval and A/B test requirement
- Transactional messages (order confirmations, shipping updates): 1 segment preferred, 2 segments acceptable
- Emoji usage: permitted only when A/B test data shows positive cost-adjusted ROI for the specific use case
Template Libraries
Maintain a library of pre-validated message templates with known segment counts. Tag each template with its encoding type, character count (before and after personalization), and segment count. This allows campaign managers to select from proven templates rather than writing from scratch each time, reducing both the risk of segment overruns and the time spent on copy review.
Key Takeaways
SMS message length optimization sits at the intersection of technical knowledge, copywriting skill, and data analysis. Here are the principles that matter most:
- Segments, not characters, determine cost. Know your segment boundaries (160/153 for GSM-7, 70/67 for UCS-2) and design messages to stay within them.
- Encoding is the hidden variable. A single non-GSM-7 character — a smart quote, an emoji, an accented letter — can double or triple your message cost. Validate encoding before every send.
- Measure cost-adjusted performance. A higher click-through rate on a multi-segment message does not automatically mean better ROI. Calculate cost per click and cost per conversion for each variant.
- Test, do not assume. The optimal message length varies by audience, offer type, and context. Use A/B testing to find your specific sweet spot rather than relying on general benchmarks.
- Build systematic guardrails. Pre-send validation, character budget policies, and template libraries prevent costly mistakes at scale.
The difference between a well-optimized SMS program and an unoptimized one often comes down to these details. A few characters can mean thousands of dollars in cost difference across a large subscriber base. Treating message length as a strategic variable — and measuring its impact rigorously — is one of the highest-leverage optimizations available to SMS marketers.