Short answer: In the US, business texts almost always get blocked for one of five reasons: your number isn't registered for A2P 10DLC, your message content trips a carrier spam filter, you're sending from a personal or Google Voice number in volume, recipients have marked you as spam, or your sender reputation has tanked. All five are fixable — but you have to diagnose which one before you can fix it.
If your review request texts, appointment reminders, or follow-ups are silently disappearing, this guide walks through what's happening under the hood and what to actually do about it.
Last reviewed: 2026.
How US business texting actually works
When you send a text through any software — SoTrustworthy, Twilio, EZ Texting, Podium, HubSpot — the message travels through your provider to the recipient's carrier (AT&T, Verizon, T-Mobile, US Cellular). Each carrier runs its own spam and compliance filter that decides whether to deliver the message.
Since 2023, the major US carriers have required all business ("Application-to-Person," or A2P) traffic to be registered under a program called 10DLC. If your traffic isn't registered, or your Brand and Campaign registration is incomplete or rejected, your messages are either filtered as spam or blocked outright — with no error visible to the customer.
The five most common reasons messages are blocked
1. Your number isn't registered under A2P 10DLC
This is by far the most common cause. Symptoms:
- Messages show as "delivered" or "sent" in your tool but customers say they never got them.
- Delivery rate collapses on certain carriers (usually T-Mobile first, then AT&T).
- You get error codes like 30007, 30034, 30454, or 4720 in provider logs.
Fix: Complete Brand and Campaign registration through your provider. Approval typically takes a few days to a couple of weeks. See how long A2P 10DLC approval takes.
2. Content is triggering spam filters
Even with registration, carriers filter individual messages that look like spam. Triggers include:
- Public URL shorteners (bit.ly, tinyurl). Use a branded short link or your provider's shortener.
- All caps or excessive punctuation ("URGENT!!!").
- Words associated with high-risk industries (loans, sweepstakes, "free," "guarantee").
- Missing sender identification.
- Missing opt-out language.
Fix: Rewrite the message. Identify your business in the first line, keep it plain, use a link on your own domain when possible, and end with "Reply STOP to opt out."
3. You're sending from a personal or Google Voice number
Carrier filters watch for numbers that behave like people but suddenly send in volume. Personal cell phones and Google Voice numbers are treated as person-to-person (P2P) and get throttled or blocked as soon as they start sending patterned business messages.
Fix: Move business traffic to a registered 10DLC number through a proper provider.
4. Recipients are marking you as spam
Every "spam" report drops your sender reputation with the carriers, and enough of them will get your number blocked network-wide. This most commonly happens when:
- You're texting people who don't remember giving you their number.
- You send too often or repeat the same message.
- Your first message doesn't identify your business.
- You send at odd hours.
Fix: Trim your list to recent, consenting customers. Send during business hours. Space out follow-ups. Include your name and business in the first message.
5. Your sender reputation has degraded over time
Even a registered number can lose reputation from a bad campaign — a big list of stale numbers, a spike in STOP replies, or too many messages to disconnected lines.
Fix: Stop sending for a few days, prune the list of dead numbers, and re-warm with small, well-targeted sends before resuming volume.
A quick delivery-issue checklist
Work through these in order:
- Is your 10DLC Brand approved? Is your Campaign approved?
- Are the specific error codes you're seeing carrier-blocking codes or content-related codes?
- Do your messages identify your business in the first sentence?
- Do they include "Reply STOP to opt out"?
- Are your links on a domain that isn't a public URL shortener?
- Are you sending only to customers who gave you their number?
- Are your STOP replies being honored automatically?
- Are you sending during 8 am–9 pm local time?
If you can answer yes to all eight and delivery is still bad, contact your provider's support with the specific error codes.
Error code cheat sheet (Twilio-style)
Most tools surface Twilio's error codes. A few you'll actually see:
- 30003 / 30005 — Handset unavailable or unknown destination. Usually a bad number, not a filter.
- 30007 — Carrier filtering as spam. Almost always a content or reputation issue.
- 30034 — Message failed due to unregistered 10DLC traffic.
- 30454 — Campaign registration required by carrier.
- 21610 — Recipient replied STOP; you can't message them again unless they opt back in.
Twilio publishes a full list in its error code documentation.
Common mistakes
- Registering your Brand but forgetting to register your Campaign. Both are required.
- Reusing the same phone number across two different Campaigns with mismatched use cases.
- Sending a "test" blast to a hundred employees on day one — filters treat identical bulk messages from a fresh number as spam.
- Using a link like
bit.ly/reviewme— carriers dislike shared shorteners. - Not tracking STOP replies in a central list. Sending to someone who opted out is both illegal and a fast way to get blocked.
FAQ
Why do my messages show "delivered" but customers never see them?
"Delivered" from your provider only means the message left their platform. The carrier may have accepted and then silently filtered it. Look at your provider's carrier-level delivery report, not just the top-line status.
Do I need 10DLC for outside the US?
No. Canada, the UK, and most of Europe have different rules. This guide is specifically about US traffic.
Will one bad campaign kill my number permanently?
Not usually, but it can take weeks to rebuild reputation. It's cheaper to send a smaller, cleaner list than to send everyone and hope.
How SoTrustworthy helps
SoTrustworthy handles A2P 10DLC registration for your Brand and Campaign, enforces opt-outs automatically, warns you when your content is likely to trip a spam filter, and surfaces carrier-level delivery data so you know when a message actually reached the phone — not just when it left the provider.
Read next:
Ask every customer for a review—without review gating.
SoTrustworthy sends a compliant, perfectly-timed review request to every customer after the job — no filtering, no gating, just more honest 5-star reviews on Google.


