How Carrier Filtering Affects SMS Delivery
How Carrier Filters Work
Each major carrier operates its own filtering system that analyzes SMS traffic in real time. These systems examine multiple signals simultaneously: the sending number's reputation, message content, sending patterns, recipient complaint history, and registration status. When a message scores above the carrier's spam threshold, it is silently dropped. The sender typically receives a "delivered" status even though the message was filtered, which makes detection difficult without tracking actual recipient engagement.
Carriers do not publish their exact filtering criteria because doing so would help spammers evade them. However, the general categories of signals they monitor are well understood from industry documentation and the experience of SMS providers working with carrier compliance teams.
Content-Based Filtering
Carriers scan message text for keywords, phrases, and patterns associated with spam. Some known content triggers include:
- Free/win/prize language: Messages that promise free gifts, contest winnings, or unclaimed prizes are heavily filtered across all carriers.
- URL shorteners: Public URL shorteners like bit.ly and tinyurl are blocked or filtered by most carriers because they hide the actual destination. Use your own branded short domain instead.
- Financial terms: Loan offers, debt relief, credit repair, and similar financial services language triggers strict filtering, especially from unregistered numbers.
- Urgency language: Phrases like "act now," "limited time," "urgent," and "expires today" raise spam scores when combined with other triggers.
- Phone number formatting: Including phone numbers in message text (especially toll-free numbers) can trigger filters designed to catch robocall referral spam.
Content filtering is contextual. A single trigger word usually will not cause filtering by itself, but combining multiple triggers in one message significantly increases the risk. A message saying "Free consultation, call now, limited spots" hits three separate content triggers and is much more likely to be filtered than a message containing just one of those phrases.
Pattern-Based Filtering
Beyond content, carriers look at sending patterns to identify bulk commercial traffic:
- Velocity: Sending hundreds of messages per minute from a single number signals automated traffic. Registered 10DLC campaigns have defined rate limits, and exceeding them triggers filtering.
- Identical content: Sending the exact same message body to many recipients within a short time window is a classic spam pattern. Adding personalization (recipient name, unique codes) helps each message appear unique.
- Snowshoe sending: Spreading messages across many phone numbers to stay under per-number rate limits. Carriers detect this by correlating sending patterns across numbers that share the same account or registration.
- Time-of-day patterns: Large volumes sent during off-hours (late night, early morning) raise filtering scores because legitimate businesses typically send during business hours.
Reputation-Based Filtering
Every sending number builds a reputation score with each carrier over time. This score is based on complaint rates, opt-out rates, delivery errors, and historical filtering decisions. A number with a clean history can send at higher volumes with lower filtering risk than a new or previously flagged number.
Reputation is specific to each carrier. Your number might have excellent reputation with T-Mobile but poor reputation with AT&T if AT&T subscribers have complained more frequently. The platform monitors per-carrier delivery rates so you can identify reputation problems with specific carriers.
New numbers start with a neutral reputation. It is best practice to warm up a new number by sending small volumes initially and gradually increasing over several weeks. See volume management for warm-up strategies.
How to Detect Filtering
Since filtered messages often show as "delivered" in your sending logs, you need other signals to detect filtering:
- Delivery rate drops: A sudden decline in delivery rate to a specific carrier, even without error messages, usually indicates filtering.
- Engagement drops: If your click-through rates drop significantly for one carrier while staying stable for others, filtering is the likely cause.
- Test messages: Send test messages to your own numbers on each carrier before and after campaigns. If test messages stop arriving, filtering has started.
- Subscriber reports: If subscribers tell you they are not receiving your messages, check which carrier they use. Clustering of reports from one carrier confirms carrier-specific filtering.
Recovering From Filtering
If your number is being filtered, the recovery approach depends on the severity. Mild filtering (some messages getting through) can often be resolved by adjusting your content and reducing volume. Severe filtering or full blocking usually requires contacting your SMS provider to file an appeal with the carrier on your behalf.
Recovery steps include cleaning your message content of all known triggers, reducing your sending frequency, verifying your 10DLC registration is accurate and current, running your subscriber list through a carrier lookup to remove invalid numbers, and sending a small test campaign to monitor whether delivery improves. See how to avoid blocking for prevention strategies.
Monitor SMS delivery with per-carrier reporting and automatic content optimization.
Get Started Free