Practical9 min read

Why Are My Business Texts Not Delivering?

Your texts say sent but customers never get them. Here's why carriers filter business messages, what error codes like 30007 and 30034 actually mean, and how to fix it.

You text a customer a quote. The app says "Sent." Two days later they call and ask why you never got back to them.

That's carrier filtering, and it's the single most confusing failure mode in business texting. Nothing bounces. No error pops up on your screen. The message just quietly evaporates somewhere between your business phone number and the customer's handset, and neither of you finds out until the deal is already cold.

Here's what's actually happening, how to tell which flavor of the problem you have, and what to do about each one.

"Sent" Doesn't Mean "Delivered"

The first thing to understand is that a text message has more than two states. Most people think of it as sent or not sent. In reality, a message moves through a chain:

Queued → your app accepted it. Sent → it left your provider and was handed to the carrier. Delivered → the recipient's phone actually received it. Failed or Undelivered → something went wrong.

The gap that ruins people is between sent and delivered. Your message left the building. The carrier took it. And then the carrier decided not to pass it along. From your side, it looks like a success. From the customer's side, you ghosted them.

If your texting tool shows you delivery receipts, start there. If everything sits at "sent" and never advances to "delivered," you're being filtered. If you're using a plain SIM-based phone and have no visibility at all, that's the first problem to solve — you can't fix what you can't see.

The Number One Cause: You're Not Registered

In the US, every business that texts customers from a 10-digit number has to be registered under a system called A2P 10DLC. A2P means application-to-person — a business texting a customer. 10DLC means a standard 10-digit long code, which is just industry-speak for a normal phone number.

AT&T, T-Mobile, and Verizon built this system because business texting from ordinary numbers had become indistinguishable from spam. Their solution: make legitimate businesses declare themselves. You register your business, describe what kind of messages you send and how people opt in, and the carriers assign your traffic a trust level.

If you skipped that step, here's what the carriers do with your messages:

  • Heavy filtering. Unregistered A2P traffic gets aggressively blocked, especially anything that looks templated, promotional, or sent to multiple recipients.
  • Throughput throttling. Even the messages that get through crawl. If you send twenty appointment reminders in a morning, a chunk of them never land.
  • Surcharges. Carriers charge extra per message on unregistered traffic, so you pay more for worse results.
  • Number-level blocks. Sustained unregistered sending can get your number flagged, at which point almost nothing gets delivered.

The frustrating part is that it's not all-or-nothing. Plenty of unregistered numbers deliver fine for a while, then start failing as filters tighten, or deliver to Verizon customers but not T-Mobile ones. That inconsistency is why so many people misdiagnose this as "the app is buggy."

If you send business texts in the US from a business phone number and you have not completed A2P 10DLC registration, stop reading and go do that first. It's the fix for the majority of delivery problems, and nothing else you try will matter much until it's done.

Decoding the Error Codes

If your provider surfaces error codes, they tell you a lot. The common ones:

30007 — Message filtered. The carrier accepted your message and then blocked it. This is the classic spam-filter rejection. Causes: unregistered traffic, content that trips a filter, a suspicious link, or too many similar messages in a short window.

30034 — Unregistered 10DLC number. Exactly what it says. Your number isn't associated with an approved A2P campaign. There's no workaround here — register.

30032 — Toll-free number not verified. If you're sending from an 800/833/844/855/866/877/888 number, toll-free has its own verification process, separate from 10DLC. Unverified toll-free traffic gets blocked.

30006 — Landline or unreachable carrier. The destination can't receive SMS. Usually you texted a landline or a VoIP number that doesn't support messaging.

30003 — Unreachable destination handset. The phone is off, out of service, or the number is disconnected.

30005 — Unknown destination. The number doesn't exist. Check for a typo or a bad import.

30022 — Rate limit exceeded. You blew past a daily or per-second sending cap. T-Mobile in particular enforces daily message limits tied to your brand's trust score.

The pattern matters more than any single code. Occasional 30003s and 30005s are normal — phones get disconnected, people mistype numbers. A wall of 30007s or 30034s is a systemic problem with your setup, not with your customers.

Content That Gets You Filtered

Registration gets you through the door. Your actual message content can still get you blocked once you're inside.

Carrier filters look at what you send, not just who you are. Things that reliably raise flags:

Link shorteners. bit.ly, tinyurl, and other shared shorteners are heavily filtered because spammers live on them. Use the full URL, or a branded short domain you control.

All caps and aggressive punctuation. "ACT NOW!!!" reads as spam to a filter the same way it reads as spam to a human.

Forbidden and restricted categories. Cannabis, gambling, high-interest lending, debt relief, and adult content are blocked outright on US carriers regardless of registration. Some other categories are allowed but scrutinized heavily.

Identical messages blasted to many recipients. Sending the exact same string to 200 people in five minutes looks like a campaign, because it is one. Personalize with a name or detail, and stagger your sends.

No business identification. Messages that don't say who they're from look like spam. Lead with your business name.

Missing opt-out language. For anything promotional or recurring, include "Reply STOP to opt out." Carriers expect it, and its absence is a filter signal.

Phone numbers in the message body. Especially numbers that don't match your sending number. This is a common scam pattern and filters treat it that way.

A quick sanity test: read your message as if it arrived from a number you don't recognize. If you'd be suspicious of it, so is the carrier.

Consent Is Not Optional

Under the rules everyone in the chain has agreed to, you need consent before you text someone. Not because a regulator is going to knock on your door tomorrow, but because consent is what keeps your complaint rate low, and complaint rate is what determines whether your messages keep getting delivered.

Real consent looks like: they texted you first, they gave you their number and checked a box saying you can text them, or they explicitly asked you to text them a quote. It does not look like: you scraped a list, you bought a list, or you're texting everyone who ever walked into your shop.

When people report your texts as spam, carriers notice. A handful of reports across hundreds of messages is noise. A few reports across a few dozen messages tanks your reputation, and no amount of registration paperwork will undo that.

A Practical Diagnostic Order

When texts stop landing, work through this in order:

  1. Check whether you're registered. A2P 10DLC for standard numbers, toll-free verification for toll-free. If registration is incomplete or was rejected, that's your answer.
  2. Look at delivery receipts, not the sent indicator. Find out whether messages are reaching "delivered" at all, and to which carriers.
  3. Check whether it's carrier-specific. If T-Mobile numbers fail and everything else works, it's a throughput or trust-score issue. If everyone fails, it's registration or a number-level block.
  4. Test with one plain message to your own phone. No links, no formatting, just "Hi, this is a test from [business name]." If that lands and your real messages don't, the problem is content.
  5. Review your recent sending pattern. Big bursts, identical text, a new link domain, or a list you haven't texted before are all likely culprits.
  6. Confirm the destination can even receive SMS. Landlines and some VoIP numbers can't, and no fix on your end will change that.

Most delivery problems resolve at step one. Most of the rest resolve at step four or five.

What Good Looks Like

A business phone number that delivers reliably has a few things in place, and they're mostly one-time setup:

Registration is complete and approved, with a brand and campaign that honestly describe what you send. Messages are conversational and personalized rather than blasted. Links are full URLs on a domain you own. Every message identifies your business. Anything recurring includes opt-out language. You text people who asked to hear from you.

Reach handles the plumbing side of that. You pick a local number, complete A2P registration inside the app, and your texts go out on properly registered traffic with delivery status you can actually see — so a failure looks like a failure instead of looking like silence. Unlimited calling and texting across the US and Canada is included, along with MMS, voicemail transcription, auto-replies, and business hours, all on the phone you already carry. No second device and no SIM card.

The Real Cost of Silent Failure

An undelivered text isn't a neutral event. The customer doesn't think "his message must have been filtered." They think you didn't bother to reply. They call someone else. You never learn why.

That's what makes this worth fixing properly rather than working around. Get registered, write like a person, text people who want to hear from you, and watch your delivery receipts instead of trusting the word "sent." Do those four things and your business phone number will be the boring, reliable tool it's supposed to be — the messages go out, they arrive, and you stop wondering.

Get your nights and weekends back.

A dedicated business number with business hours, auto-reply, and voicemail. One phone, two numbers.

Get started