Dial x402

SMS Deliverability: How to Maximize Delivery Rates and Avoid Filters

Practical guide to SMS deliverability — sender reputation, content optimization, number warm-up, delivery receipts, and strategies to avoid carrier filtering.

SMS Deliverability

SMS deliverability is the percentage of sent messages that actually reach the recipient's handset — not merely the percentage accepted by a carrier gateway. A message can be "accepted" by the SMSC and still silently dropped by downstream carrier filtering, never arriving on the device. The gap between acceptance rate and true delivery rate is where most deliverability problems hide.

Delivery Rate Benchmarks

RangeAssessmentTypical Cause
95%+ExcellentProperly registered sender, clean content, warm number
90–95%AcceptableMinor filtering, some invalid numbers in the recipient list
85–90%ProblematicActive carrier filtering or reputation degradation
Below 85%CriticalLikely blocklisted, unregistered, or sending prohibited content

These benchmarks apply to A2P (application-to-person) traffic on US carriers. International rates vary significantly by country and operator.

Factors That Affect Deliverability

1. Sender Reputation

Carriers assign reputation scores to sending numbers based on historical behavior. The key inputs are:

  • Number age. Newly provisioned numbers have no history, which carriers treat with suspicion. A number that has been active for months with clean traffic carries inherent trust.
  • Complaint history. When recipients report messages as spam (via 7726 forwarding or carrier apps), the sending number accumulates complaints. Even a small number of complaints relative to volume can trigger filtering.
  • Opt-out rate. High STOP reply rates signal unwanted traffic. Carriers monitor opt-out ratios as a primary reputation signal.
  • Prior filtering events. If a number has been previously filtered or suspended, that history persists even after the issue is resolved.

2. Content Quality

Carrier content analysis systems (both rule-based and ML-driven) scan every message. The following patterns increase filtering risk:

  • URLs, especially from shared shortener domains (bit.ly, tinyurl.com, t.co) — these are among the most heavily filtered elements in any SMS.
  • Spam trigger phrases such as "free," "winner," "act now," "limited time," "click here," and similar direct-response marketing language.
  • ALL CAPS text, excessive punctuation (!!!), or emoji-heavy content.
  • Identical messages sent to many recipients without variation (template fingerprinting).
  • Phone numbers or email addresses embedded in message bodies, which carriers associate with phishing.

3. Volume and Velocity

Sending patterns matter as much as content:

  • Burst sending. Transmitting hundreds of messages per minute from a single number triggers rate-based filters. Carriers expect organic, distributed patterns.
  • Snowshoe sending. Spreading traffic across many numbers to stay under per-number thresholds is a well-known spam technique. Carriers detect correlated sending across number pools and filter the entire group.
  • Sudden volume spikes. A number that sends 10 messages per day and suddenly sends 10,000 will be flagged regardless of content quality.

4. Registration Status

US carriers require sender registration through one of three frameworks:

  • 10DLC (10-Digit Long Code). Requires brand registration with The Campaign Registry (TCR) and campaign-level approval. Unregistered 10DLC traffic is subject to heavy filtering or outright blocking by all major US carriers.
  • Toll-free verification. Toll-free numbers (8XX) must complete verification through the Toll-Free Hub. Unverified toll-free numbers face throughput limits and increased filtering.
  • Short codes. Require carrier-by-carrier approval through the CSCA (Common Short Code Administration). Pre-approved short codes receive the highest throughput and lowest filtering rates.

Sending A2P traffic from an unregistered number is the single most common cause of poor deliverability.

5. Recipient Engagement

Carriers track how recipients interact with messages from a given sender:

  • Reply rates. Two-way conversation signals legitimate communication. Numbers that only send outbound and never receive replies look more like spam sources.
  • Opt-out velocity. A sudden spike in STOP replies after a campaign indicates recipients did not expect the message.
  • Handset-level spam reports. Modern smartphones allow users to report spam directly from the messaging app, feeding data back to carrier filtering systems.

Number Warm-Up

New phone numbers — whether 10DLC, toll-free, or local — should be ramped up gradually. Warm-up establishes sending history and builds carrier trust before reaching production volume.

Why Warm-Up Matters

A new number with zero history that immediately sends thousands of messages exhibits the exact pattern carriers associate with disposable spam numbers. Gradual volume increase demonstrates legitimate, ongoing use.

Typical Warm-Up Schedule

DayDaily VolumeNotes
1–210–25Seed messages to known, engaged recipients
3–450–100Expand to broader recipient set
5–7100–250Monitor DLRs for any filtering signals
8–14250–500Steady increase, maintain consistent daily sends
15–21500–1,000Approaching production volume
22–301,000–2,500Full ramp; adjust ceiling based on 10DLC trust score
30+Production targetStable volume; avoid sudden spikes beyond 2x daily average

This schedule assumes a standard 10DLC campaign. Short codes and verified toll-free numbers can tolerate faster ramps due to their pre-approval status, but even these benefit from a 7–14 day warm-up period.

Warm-Up Best Practices

  • Send to recipients who are likely to reply, as two-way traffic builds reputation faster.
  • Vary message content across recipients to avoid template fingerprinting.
  • Space messages evenly throughout the day rather than sending in bursts.
  • Monitor delivery receipts daily and pause the ramp if delivery rates drop below 90%.

Content Best Practices

Avoid URL Shorteners

Shared-domain shorteners (bit.ly, tinyurl.com, goo.gl, t.co, ow.ly) are the single most effective way to get messages filtered. Spammers use these services to mask destination URLs, so carriers apply aggressive filtering to any message containing them.

Instead: Use a branded domain for links (e.g., links.yourdomain.com/offer). Branded short domains that resolve to known, reputable destinations pass carrier filtering at much higher rates.

Keep Messages Short

SMS messages are encoded in segments:

  • A single-segment message can contain up to 160 characters using GSM-7 encoding.
  • Multi-segment messages use 7 bytes per segment for the UDH (User Data Header) that enables reassembly, reducing usable payload to 153 characters per segment.
  • Unicode messages (emoji, non-Latin scripts) use UCS-2 encoding: 70 characters for a single segment, 67 characters per segment for multi-part.

Single-segment messages are cheaper, faster to deliver, and less likely to encounter reassembly issues on older handsets. When possible, keep messages under 160 GSM-7 characters.

Use Opt-Out Language

Every A2P message should include a clear opt-out mechanism. The standard is:

Reply STOP to unsubscribe

Including opt-out language is required by TCPA regulations and CTIA guidelines. Carriers also use its presence as a positive signal — messages without it are more likely to be filtered. Place opt-out text at the end of the message to avoid disrupting the primary content.

Avoid Spam Trigger Patterns

  • Do not use ALL CAPS for emphasis. Use sentence case.
  • Avoid excessive punctuation or special characters.
  • Do not include "FREE" offers or urgency language ("Act NOW," "Limited time").
  • Avoid dollar signs and price references in promotional messages.
  • Do not use Unicode look-alike characters to bypass filters (e.g., replacing "a" with "а" from Cyrillic). Carriers detect this technique and treat it as a strong spam signal.

Multi-Segment Messages (Concatenation)

When a message exceeds the single-segment limit, the sending SMSC splits it into multiple segments, each containing a UDH (User Data Header) with three fields:

UDH FieldPurpose
Reference numberLinks segments belonging to the same logical message
Total segmentsHow many parts the complete message contains
Sequence numberPosition of this segment in the sequence (1 of N, 2 of N, etc.)

The recipient's handset reassembles the segments into a single displayed message using these headers. The UDH occupies 6–7 bytes per segment (depending on 8-bit vs 16-bit reference numbers), which is why multi-segment messages carry only 153 GSM-7 characters or 67 UCS-2 characters per segment instead of the full 160 or 70.

Practical implications:

  • A 161-character GSM-7 message costs two segments (2x the per-message cost on most platforms), not 1.006 segments.
  • Segment boundaries do not respect word boundaries. A word can be split across segments during transmission.
  • Some older handsets or international carriers may not support concatenation, displaying each segment as a separate message.
  • Maximum concatenated length is typically 10–15 segments (1,530–2,295 GSM-7 characters), though practical limits vary by carrier.

Monitoring Deliverability

Delivery Receipts (DLRs)

Delivery receipts are status callbacks from the carrier network indicating what happened to a message after submission. Common DLR statuses:

StatusMeaning
DeliveredMessage confirmed received by the handset
SentMessage accepted by the carrier but no handset confirmation (common on some networks)
UndeliveredCarrier attempted delivery but failed (phone off, number invalid, mailbox full)
FailedMessage rejected by the carrier (content filtering, invalid number, blocked sender)
QueuedMessage accepted and awaiting delivery attempt
ExpiredMessage exceeded the carrier's validity period (typically 24–72 hours) without delivery

A healthy campaign should show Delivered rates above 95%. A Sent status without a subsequent Delivered confirmation is ambiguous — some carriers do not return final delivery confirmation, so Sent may represent either delivery or silent filtering.

Testing Across Carriers

Carrier filtering is not uniform. AT&T, Verizon, and T-Mobile each operate independent filtering systems with different thresholds and content rules. A message that delivers on T-Mobile may be silently filtered on AT&T.

Maintain test numbers on each major carrier and send representative message content before launching campaigns. This catches carrier-specific filtering issues before they affect production traffic.

Analytics and Dashboards

Most CPaaS providers (Twilio, Vonage, Sinch, Bandwidth, Telnyx) offer deliverability dashboards showing:

  • Per-campaign delivery rates broken down by carrier
  • Error code distribution (30003, 30005, 30006, etc.)
  • Opt-out rates and complaint ratios
  • Throughput utilization relative to 10DLC limits

Review these metrics daily during active campaigns and weekly during steady-state sending.

7726 (SPAM) Report Monitoring

Recipients can forward suspected spam messages to 7726 (which spells "SPAM" on a phone keypad). Carriers aggregate these reports and use them to identify spam senders. A spike in 7726 reports against a sending number can trigger immediate filtering.

Some CPaaS providers surface 7726 complaint data in their dashboards. Where available, monitor this metric and treat any complaints as high-priority issues requiring immediate content or targeting review.

Remediation: What to Do When Filtered

When delivery rates drop or messages are actively being filtered:

  1. Identify the scope. Determine whether filtering is carrier-specific (e.g., AT&T only) or universal. Carrier-specific filtering suggests a content or reputation issue with that carrier's system.

  2. Audit content. Remove or replace URLs, especially shortener links. Eliminate spam trigger language. Simplify the message to plain text without special characters.

  3. Check registration status. Verify that 10DLC campaigns are approved and active. Confirm toll-free verification is complete. Registration lapses or suspensions cause immediate filtering.

  4. Reduce volume. Drop to warm-up levels and gradually re-ramp. Continued high-volume sending into a filter worsens reputation.

  5. Rotate numbers (with caution). Replacing a filtered number with a new one provides a fresh start, but the new number must be properly warmed up. Rapid rotation across many numbers triggers snowshoe detection and makes the problem worse.

  6. File carrier appeals. Major carriers accept unblock requests through their A2P messaging portals or through the CPaaS provider's support channels. Include the sending number, campaign registration details, sample message content, and evidence of recipient consent.

  7. Review recipient lists. Remove invalid numbers, long-inactive recipients, and anyone who has complained. High bounce rates and complaint ratios compound filtering.

Deliverability recovery is not instant. Expect 2–4 weeks for reputation to rebuild after a filtering event, assuming the root cause has been fully addressed.

Further Reading

On this page