Deliverability
Your messages say delivered. So why is nobody getting them?
How carrier filtering works, what triggers it, and how to read the signals before your delivery rate collapses.
July 14, 2026·7 min read

There is a specific kind of support ticket that comes in every week. The API returned success, the dashboard says sent, and the customer swears the message never arrived. Usually everyone is telling the truth.
Sent is not delivered
sent means the carrier accepted the message from the aggregator. delivered means the carrier confirmed it reached a handset. Between those two states sits the carrier’s spam engine, and it can drop a message without telling anyone.
Treat the absence of a delivery receipt as unknown rather than as success. If your monitoring only counts API 200s, you are measuring your own code, not your delivery.
What the filters are actually looking at
Carrier filtering runs on a reputation score attached to your sending number and your registered campaign, adjusted by the content of each message.
Registration mismatch. The fastest way to get filtered is to send traffic that does not match your registered use case. A campaign registered for appointment reminders that starts sending promotional offers will be filtered, then suspended. The registration is a declaration, and the carriers check it against reality.
Complaint rate. Recipients reporting messages as spam is the strongest negative signal. It compounds quickly and it takes weeks to recover from.
Opt-out rate. Carriers watch the ratio of STOP replies to messages sent. Above roughly 0.5% you are on borrowed time. A high opt-out rate is read as evidence that your list was not properly consented, whatever your records say.
Delivery failure rate. Sending to invalid or disconnected numbers signals a purchased or stale list. This is trivially preventable — a number lookup pass before a campaign costs a fraction of a cent per number and removes landlines, invalid numbers, and reassignments.
Content patterns. Public URL shorteners are the big one. Shared shortener domains carry the accumulated reputation of everyone else using them, which is uniformly terrible. Use a branded domain or one you control. Also filtered: unicode substitution and deliberate misspellings intended to dodge keyword matching. Filters detect the evasion attempt itself and treat it as a stronger signal than the word you were hiding.
Volume shape. A number that has been sending 500 messages a day and jumps to 50,000 looks like a compromised account. Ramp gradually. Spreading the same content across many numbers to avoid this — snowshoeing — is specifically what carriers look for and it gets the whole brand suspended.
Reading the signals early
By the time you notice the delivery rate has fallen, the reputation damage is already done. The signals that move first:
Per-carrier divergence. Overall delivery of 96% is meaningless if it is 99% on two carriers and 71% on the third. Filtering is per-carrier and it usually starts on one.
Opt-out rate by campaign. Track it per campaign, not per account. One badly consented list inside an otherwise healthy account will drag everything down with it.
Time-of-day patterns. Filtering that appears only at peak hours is often throughput queueing, which is a different problem with a different fix.
Sudden carrier_filtered clusters. A small background rate is normal. A step change on a specific date almost always maps to a content or list change you made that day.
Fixing it
Stop sending on the affected route first. Continuing to push traffic into a filter deepens the reputation problem. Pause, diagnose, then resume.
Compare what you are sending to what you registered. If they have drifted apart, register a second campaign for the second use case rather than stretching the first one.
Clean the list. Run every number through lookup. Remove landlines, invalid numbers, and anything that has changed carrier since you collected it.
Look at your consent evidence honestly. If you cannot produce, for a given recipient, the timestamp and the exact disclosure text they saw, then you do not have consent you can defend — and the opt-out rate is telling you the recipients agree.
Rebuild slowly. Reputation recovers with a period of clean, low-volume, well-consented traffic. There is no way to buy your way past it and no provider can reset it for you.
The uncomfortable part
Most persistent deliverability problems are list quality problems wearing a technical costume. Purchased lists, consent collected for one purpose and used for another, and numbers that have sat in a database for three years all produce exactly the symptoms above.
The good news is that this is measurable. Opt-out rate, complaint rate, and invalid-number rate on your existing list will tell you within one send whether the problem is your content or your list. Look at those three numbers before you start rewriting message copy.
Written by the compliance team at ANTHONY OLIVA, INC., a registered Campaign Service Provider with The Campaign Registry. If something here contradicts what your current provider told you, we are happy to talk it through on the phone.



