CARRIER-GRADE TELEPHONY NETWORK
TELECOM SALES & DEMO: 1 (417) 386-2898

Why Your Business Texts Aren't Delivering: A 10DLC Troubleshooting Guide

Texts show as sent but customers never get them? Work through the six causes in order — unregistered number, carrier filtering (error 30034), daily caps, spam-looking content, opt-outs, and quiet hours — with the fix for each.

September 10, 202610 min readBy Connor Gallic

When a business text shows as sent but the customer never gets it, the cause is almost always one of six things, and they are worth checking in order: the number is not registered for A2P 10DLC, the carrier filtered the message, the number hit a daily cap, the content looked like spam, the customer opted out, or the text was held for quiet hours. The first two account for the large majority of "my texts aren't working" reports, and both are invisible from the sending side unless you know where to look.

The frustrating thing about text delivery problems is that there is no bounce. An email that fails comes back. A call that fails gives you a busy signal. A filtered text just disappears, and the person who was supposed to receive it assumes you did not bother. For a business that depends on texting callers back, that is a customer lost without a trace.

This guide is written for a business owner, not a telecom engineer. Each cause has a symptom, a way to confirm it, and a fix. Where KaiCalls handles the fix for you, it says so.


Table of Contents

  1. Start here: read the delivery error
  2. Cause 1: The number is not registered
  3. Cause 2: The carrier filtered the message
  4. Cause 3: The number hit a daily cap
  5. Cause 4: The content looked like spam
  6. Cause 5: The customer opted out
  7. Cause 6: Quiet hours
  8. A five-minute end-to-end test
  9. FAQ

Start here: read the delivery error

Before guessing, look at what the sending platform recorded. On KaiCalls, open Dashboard > Messages, find the text, and read its status and any error on it. Most platforms built on the major messaging providers surface a numeric error code. The ones that matter here:

Code What it means Which cause below
30034 Sent from a 10DLC number not attached to an approved campaign Cause 1
30024 Number is not provisioned for messaging Cause 1
30023 Daily message cap for the number or campaign exceeded Cause 3
30007 Carrier filtered the message as spam or a violation Cause 2 or 4
30005 / 30006 Destination unknown or is a landline that cannot receive texts Not a registration problem
Delivered, but the customer says no Silent filtering or an opt-out Cause 2, 5, or 6

If there is no error and the message says delivered, do not stop. Carriers sometimes accept and then drop, and the sender never hears about it. Keep going through the list.

Cause 1: The number is not registered

Symptom: Nothing from this number ever arrives, on any carrier, to anyone. Error 30034 or 30024 if the platform reports it.

Why: Since 2023, the major U.S. carriers block or heavily filter business texts from local numbers that are not attached to an approved A2P 10DLC campaign. Registration is per number — a business can have an approved campaign and still have an unregistered number if that number was never attached to it. The full explanation is in A2P 10DLC Explained.

Confirm it: On KaiCalls, open Dashboard > Compliance > A2P Setup. A business on a KaiCalls number should see "SMS Enabled via KaiCalls." If your activation status says "Live for calls. SMS follow-ups are limited until A2P registration completes," the number is still being enrolled.

Fix:

  • KaiCalls number: KaiCalls adds your number to its registered campaign when it is provisioned and re-checks every night. A pending status normally clears on its own. If it lasts more than one business day, contact support. In the meantime, texts are not dropped — they route through a registered KaiCalls sender until your number is enrolled. Details in How KaiCalls Handles A2P 10DLC Registration.
  • Your own Twilio account: You have to register a brand and campaign in the Twilio console, then attach each number to the messaging service tied to the campaign. An approved campaign with an unattached number still fails. See How to Write an A2P 10DLC Campaign That Gets Approved.

Cause 2: The carrier filtered the message

Symptom: Some texts arrive and some do not. One carrier's customers (say, everyone on T-Mobile) never get them while others do. Error 30007 if reported, but often nothing.

Why: Carriers run spam filters on registered traffic too. Registration tells them who you are; it does not exempt your messages from inspection. Filtering is triggered by content patterns (Cause 4), by sending too many near-identical messages in a short window, by a sudden volume spike from a number that was quiet, or by complaints from recipients who never opted in.

Confirm it: Send the same message to a few numbers on different carriers. Filtering is usually carrier-specific. Check whether the affected messages share a pattern: a link, a phrase, a time of day.

Fix: Address the content (Cause 4) and the consent (Cause 5). If you have your own campaign and filtering persists on clean, consented, low-volume traffic, your provider can open a ticket with the carrier; that is not something a business owner can do directly. On KaiCalls, Kai's content screen prevents the most common filtering triggers before a message leaves, so persistent filtering on a KaiCalls number is rare and worth a support message.

Cause 3: The number hit a daily cap

Symptom: Texts deliver fine in the morning, then stop late in the day. Error 30023 if reported. Resumes the next day.

Why: Every 10DLC campaign has a daily message cap on some carriers, set by the brand's trust score. Low-volume and sole-proprietor brands have small caps. Once the cap is exhausted, further messages that day are rejected.

Confirm it: Look at the time of the failures. Caps produce a clean cliff: everything before a certain hour worked, nothing after.

Fix: For a business on its own campaign, the options are to raise the brand's trust score through vetting or to spread traffic across the day. For a business texting callers back one at a time, caps are rarely the problem — they bite on blasts. If you are hitting a cap with conversational follow-ups, you are sending more than a Customer Care campaign expects, and that itself is a risk to the registration.

Cause 4: The content looked like spam

Symptom: Specific messages fail while others from the same number deliver. Often the failing ones contain a link.

Why: Filters key on patterns that spammers use: shortened URLs (bit.ly and similar), text that is mostly capital letters, dollar signs and "free" and "act now," very long messages, or a link with no context. A Customer Care campaign that starts sending promotional-looking text is also at risk of being reclassified.

Confirm it: Compare a failing message to a delivered one. Strip the link or the caps and resend to your own phone.

Fix: Use full, branded links rather than shorteners. Write like a person: sentence case, one idea, no sales language. Keep it short. On KaiCalls, Kai blocks messages with URL shorteners, over 1,600 characters, more than about 30% capitals, or marketing phrasing before they are sent — so if a message is blocked on your side, that is the content screen doing its job, and the fix is to reword.

Cause 5: The customer opted out

Symptom: One specific person never gets texts. Everyone else does. There may be a STOP somewhere in their thread.

Why: Once someone replies STOP (or UNSUBSCRIBE, CANCEL, END, QUIT, or "take me off your list"), every registered campaign is required to stop texting them. Only the customer can reverse it, by replying START. This is not a bug; it is the promise the registration is built on.

Confirm it: On KaiCalls, open Dashboard > Compliance > Consent and search the number. An opted-out number is labeled. Or scroll the thread in Messages for a STOP.

Fix: Do not try to work around it. If the customer actually wants texts, ask them to text START to your number. If they also asked you to stop calling, add them to your Do Not Call list. See STOP, START, and HELP keywords.

Cause 6: Quiet hours

Symptom: A text sent at 10 PM arrives at 8 the next morning. Or a text from a late-night missed call seems to be "missing" until morning.

Why: Texting a consumer late at night is both a compliance problem and a good way to earn a spam complaint. Well-behaved platforms hold texts during overnight hours in the recipient's time zone.

Confirm it: Check the timestamp on the missed call against the timestamp on the text.

Fix: Nothing to fix. On KaiCalls, texts between 9 PM and 8 AM recipient-local time are queued and sent in the morning, not dropped. If you would rather a late-night caller got nothing than a morning text, that is a setting worth discussing with support, but the default is the safer one.

A five-minute end-to-end test

Run this once when you set up, and again any time a customer reports a missing text.

  1. From your own cell, call your business number and hang up before Kai answers.
  2. Wait for the missed-call text. Note whether it arrives and how long it takes.
  3. Open Dashboard > Messages. Find the text. Confirm it shows delivered with no error.
  4. Reply STOP from your cell. Confirm you get the unsubscribe confirmation within a few seconds.
  5. Open Dashboard > Compliance > Consent. Confirm your cell shows as opted out.
  6. Reply START. Call and hang up again. Confirm the missed-call text comes back.

If step 2 fails, work Cause 1. If step 2 works for you but a customer reports otherwise, work Causes 2, 4, and 5 for that customer. If step 4 or 5 fails, contact support immediately — the opt-out loop is the one part of this that must never be broken.

FAQ

What does SMS error 30034 mean? The message was sent from a US 10DLC number that is not attached to an approved A2P campaign. The fix is registration: attach the number to an approved campaign. On a KaiCalls number this is handled for you and normally clears within a day.

Why does my text say delivered but the customer never got it? Some carriers accept a message and filter it afterward without reporting a failure. This is most common with unregistered numbers and spam-looking content. Check registration first, then content, then whether the person opted out.

Can a registered number still have texts blocked? Yes. Registration earns trust; it does not exempt messages from filtering. Shorteners, caps, marketing language, and texting someone who replied STOP will all still fail.

Does texting from a toll-free number avoid all this? No. Toll-free numbers have their own verification process instead of 10DLC, and unverified toll-free traffic is filtered too. KaiCalls does not run toll-free verification today.

My texts worked last month and stopped this week. What changed? Most likely one of: the number fell out of its campaign (on KaiCalls, nightly reconciliation re-adds it), a message template changed to include a link or caps, or the customer opted out. Read the error on the failing message first.


Want texts that are registered before the first missed call? Sign up at kaicalls.com, or call the KaiCalls demo line at (417) 386-2898 and see the follow-up text arrive.

Topics

business texts not deliveringsms error 30034texts sent but not received10dlc carrier filteringwhy are my business texts blocked

Ready to Try AI Call Answering?

Start your 7-day free trial.

Start Free Trial