Get Started

How to Fix SMS Message Length Issues in Automation Workflows

TL;DR: SMS has strict character limits (160 GSM characters, 70 for Unicode). When your automation messages exceed these, carriers split them into multi-part messages, doubling your credit costs. Onyx’s SMS builder includes a real-time character counter and auto-split detection to keep you within limits and avoid unexpected billing surprises.

Why SMS Character Limits Matter for Insurance Agents

An SMS message is a metered product. Every carrier has hard limits on single SMS segments, and when you exceed those limits, the platform automatically splits your message into multiple parts. For insurance agents running high-volume automation campaigns, this technical detail costs real money.

Here’s the math: You send a 200-character message thinking it’s one text. The carrier breaks it into two segments. You’re charged twice. Multiply that across 100 leads per day, 5 days a week, and you’re bleeding hundreds of dollars monthly on split messages that could have fit in a single segment with better writing.

In automation workflows, you can’t manually edit each message. Once your template exceeds the character limit, every single send incurs the penalty. Understanding and fixing character length issues is one of the fastest ways to cut your SMS costs without reducing send volume. This is especially critical for agents running SMS appointment confirmations or bulk messaging campaigns.

Understanding SMS Character Limits: GSM vs. Unicode

SMS character limits depend on the character set you’re using: GSM-7 (standard) or Unicode.

GSM-7 encoding gives you 160 characters per segment. This covers the basic Latin alphabet, numbers, and common punctuation. It’s the most efficient encoding because it uses 7 bits per character instead of 16. GSM characters include: A-Z, 0-9, common punctuation (. , ? ! ‘ ” – ( )), and extended characters like €, [, ], {, }, \, ^, ~, |.

Unicode shrinks the limit to 70 characters per segment. Unicode is required if your message includes:

Unicode is necessary for international outreach, but expensive. A 70-character limit is 44% less space than GSM. Source: Twilio

The problem: most agents don’t know they’ve triggered Unicode encoding. You might add a single emoji to your template, and now every outbound message is limited to 70 characters instead of 160.

How Onyx Automation Handles SMS Character Length

Onyx’s SMS builder detects character encoding automatically and shows real-time feedback as you write. When you create an SMS template in Onyx, the builder displays:

This visibility prevents silent multi-part splits where your message costs 2-3x more than expected. Additionally, Onyx accounts for personalization variables (like {{contact.first_name}} and {{user.name}}) in character estimates, showing estimated final length based on typical variable sizes. This is part of Onyx’s broader approach to CRM onboarding and setup, ensuring you get everything right before your campaigns go live.

Common Mistakes That Trigger Character Limit Issues

1. Hidden Unicode Characters

The most common culprit: a single emoji or special character in your template. “Hi {{first_name}}, let’s chat ✅” forces Unicode encoding, cutting your limit from 160 to 70 characters. That one checkmark forces the entire message to split unexpectedly.

Solution: Avoid emoji in automated templates. Use text-based alternatives: [APPROVED], >>CONFIRMED, (YES).

2. Curly Quotes From Pasted Content

When you copy-paste template text from Word or email, Word converts straight quotes (” “) into curly quotes (” “). Curly quotes are outside GSM and trigger Unicode encoding.

You paste: “Don’t miss this” (curly apostrophe) — triggers Unicode

You type: “Don’t miss this” (straight apostrophe) — stays in GSM

3. Accented Characters in Contact Names

If your database includes accented names (José, François, Müller) and you use them in SMS variables, you need Unicode encoding. You can’t control what’s in the database.

Workaround: Strip accents programmatically in your variable. José becomes Jose before inserting into SMS.

4. Long Variable Names Without Constraints

Variables like {{contact.fullname}} or {{user.companyname}} can consume most of your character budget. “Metropolitan Insurance Group Of The Pacific Northwest” is 55 characters alone.

Solution: Use shorter variable names or set character limits on database fields.

5. Non-Breaking Spaces From Rich Text

Pasting from Google Docs, Slack, or email can inherit non-breaking spaces (U+00A0) or hidden formatting. These are invisible but count toward limits and trigger Unicode.

Always write in plain-text editors or Onyx’s native text field.

Best Practices for SMS Template Design

Keep Messages Short

Insurance agents need compliance information, personalization, and a CTA — all within 160 characters (or 70 with Unicode). Assume 70 characters if uncertain.

Example: “Hi {{firstname}}, {{agentname}} here. Your application is pending. We’ll reach you by EOD tomorrow. Reply HELP for questions.” — 130 characters (GSM-safe).

Test Every Template With Real Data

Before deploying across 1,000 leads, test with 5-10 real contact records. Send test SMS to yourself and check:

Set Character Limits on Contact Data

Constrain your database fields to predictable lengths:

Avoid Emoji and Special Symbols

Keep to basic ASCII. If you want emphasis, use:

Avoid: ✅ ❌ 🎉 ⭐ → (these trigger Unicode)

Setting Up SMS Templates in Onyx: Step-by-Step

Step 1: Navigate to SMS Templates

In Onyx, go to Settings → Communication Channels → SMS Templates. Create a new template or edit an existing one.

Step 2: Write in Plain Text

Type directly into the Onyx field (don’t paste from Word). Start with core message, then add variables.

Example: “Hi {{firstname}}, {{agentname}} here. Your policy is approved. Confirm: {{link}}”

Step 3: Check the Character Counter

Onyx displays live character count and encoding type (GSM-7 or Unicode). If you see “Unicode” flagged, find and remove the triggering character.

Step 4: Insert Variables

Add {{contact.first_name}}, {{user.name}}, etc. The character counter updates to show estimated length based on typical variable sizes.

Step 5: Review Segment Count

Onyx shows exactly how many SMS segments your message will split into. Aim for 1 segment; 2 segments are acceptable; 3+ means you need to trim.

Step 6: Test With Sample Data

Send a test SMS to yourself through Onyx. Check the delivery log for:

Step 7: Deploy

Save the template and schedule it into workflows. This one-time validation protects all future sends.

Troubleshooting: Why Are Your Messages Splitting?

Symptom: Onyx shows 1 segment, but delivery shows 2-3

Usually a hidden Unicode character (emoji, accented letter, special symbol) in the template or contact data.

Fix: Open the SMS template, delete emoji/special characters. If contact names have accents, strip them programmatically or use a fallback (“Customer” instead of “José”).

Symptom: Message seems fine but Onyx flags it as 2 segments

You’re at or near the 160-character limit (GSM). Onyx is conservative.

Fix: Trim by 10-15 characters. Remove filler words: “just,” “really,” “actually,” “please.” Split into two SMS if carrying multiple thoughts.

Symptom: Workflow sends 3 SMS when you only wrote 2

You have multiple SMS blocks in your workflow. Review the workflow diagram and count SMS blocks. Delete extras or move to conditional branches.

Cost Optimization: The Real Impact

A 2-segment message costs twice as much as 1-segment.

Send 100 SMS per day. If 40% split into 2 segments, you’re paying for 140 SMS when you intended 100. Over a month, that’s 1,200 extra SMS credits wasted.

At $0.01-0.03 per SMS, that’s $12-36 wasted monthly per workflow. Scale across 10-20 workflows, and you’re losing $120-720 monthly on avoidable splits. This optimization is just as important as managing nurture sequences effectively.

Cost-saving strategy:

1. Audit current templates — identify top 5-10 offenders

2. Rewrite high-volume templates (50+ SMS/month) to single-segment lengths

3. Set internal standards: “All SMS ≤140 characters (GSM)”

4. Use variables wisely: shorter names, character limits, fallbacks

5. Monitor ongoing: track “avg. segments per send” in Onyx analytics

Example: One agent reduced avg. segments from 1.3 to 1.0 by rewriting 8 templates. Monthly cost dropped from $320 to $250 — $840 annually.

Onyx Features Built for Character Limit Control

Real-Time Character Counter: Live character count as you type. “150/160 characters (GSM-7).”

Encoding Detection: Alerts you when Unicode is triggered. “⚠️ Unicode detected. Limit is now 70 characters per segment.”

Variable Length Estimation: Estimates variable length based on historical data. “150 + ~10 (variable) = 160 characters — 1 segment.”

Segment Preview: Shows exactly how many SMS segments your message will split into before deployment.

Test Send to Self: Send a test SMS to your number and check the actual segment count in the delivery log.

FAQs: SMS Character Limits in Insurance Automation

Q: If my message is 158 characters, will it split?

A: No. GSM-7 allows 160 characters per segment. 158 = 1 segment. If using Unicode (due to emoji or accented character), 158 characters = 3 segments, since the limit is 70 per segment.

Q: Can I use emoji for branding?

A: Technically yes, but I’d recommend no. Emoji trigger Unicode encoding, shrinking your limit from 160 to 70 characters. Insurance messaging is compliance-heavy — you need every character. Use text alternatives: [CONFIRMED], >>CLICK HERE, (IMPORTANT).

Q: Does Onyx charge differently for multi-segment SMS?

A: Yes. Pricing is per-segment. A 2-segment SMS costs twice as much. This makes optimization critical. Trimming a 170-character template (2 segments) to 160 characters (1 segment) cuts cost in half for that template.

Q: What if a contact has an accented name?

A: If the variable includes the accented name (José, François), you need Unicode encoding. Strip accents programmatically: José → Jose. Most platforms allow this via variable filters.

Q: If 100 SMS split into 2 segments each, am I charged for 200?

A: Yes. You’re charged per segment. 100 SMS × 2 segments = 200 SMS worth of credits charged.

Q: Can I test character limits without deploying?

A: Yes. In Onyx: write your template → click “Test Send” → enter sample contact data → send to your number → check the delivery log for character count and segment count. No deployment needed.

Q: What external sources can I use to verify these limits?

A: Twilio publishes detailed SMS character set documentation. NAIC (National Association of Insurance Commissioners) provides SMS compliance guidelines for insurance communications. The Twilio SMS documentation is the gold standard for character limit specifications.

Taking Action: Audit Your SMS Templates This Week

If you’re running insurance automation workflows, character limit issues are likely costing you money right now.

This week:

1. Open Onyx and pull a report of SMS sent in the last 7 days

2. Sort by segment count — find messages with 2+ segments

3. Identify which templates are responsible (most-sent templates have biggest impact)

4. Rewrite those templates to fit in 1 segment

5. Test the new templates

6. Deploy

You’ll see immediate savings in SMS credits. On top of that, shorter messages often perform better. Insurance leads respond better to concise, action-oriented messages than walls of text.

Onyx’s character counter and segment preview make this work trivial. Use them.

Ready to Book More Appointments?

Join 300+ insurance agents using Onyx to automate follow-up and fill their calendars.

Start Your 14-Day Trial

Written by

Lachie McLeish

Lachie McLeish, Founder of Onyx CRM. Building AI-powered tools for insurance agents.

Stay in the Loop

Get weekly tips on booking more appointments and growing your insurance business.