Trackly SMS | Blog
Testing & Optimization

SMS Message Length Optimization: How Character Count Impacts Cost and Deliverability

Trackly SMS ·

Tags: sms message length, sms segments, gsm-7 encoding, sms cost optimization, sms copywriting, a/b testing

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.

EncodingSingle Segment LimitMulti-Segment Limit (per segment)UDH Overhead
GSM-7160 characters153 characters7 characters
UCS-270 characters67 characters3 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)SegmentsCost per MessageCampaign Cost (100K sends)
140 characters1$0.01$1,000
160 characters1$0.01$1,000
161 characters2$0.02$2,000
306 characters2$0.02$2,000
307 characters3$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:

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:

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:

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:

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):

VariantSegmentsCostCTRClicksCost per Click
No emoji (GSM-7)1$2503.8%950$0.26
With emoji (UCS-2)2$5004.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:

ComponentTypical Character CountNotes
Short URL (custom domain)18–25 charsVaries by domain and path length
First name personalization3–12 charsPlan for 10+ to be safe
"Reply STOP to opt out"22 charsRequired for compliance in many jurisdictions
Brand name identifier5–15 charsSome brands prepend their name
Discount/offer detail15–30 charse.g., "25% off with code SAVE25"
Urgency/deadline15–25 charse.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:

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:

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.