You sent the campaign. Your dashboard says it went out. But customers say they never got it, or the delivery report is full of failures. Business texts fail for a short list of reasons, and nearly all of them can be fixed once you know which one you're looking at.
This guide starts with a quick way to find the cause, then goes through each one: registration, carrier filtering, links, opt-outs, message length, bad numbers and sending patterns. It ends with how to read delivery statuses, a checklist and a short FAQ.
Not legal advice. Carrier rules and error codes below were checked on October 17, 2026 against Telnyx's 10DLC and toll-free documentation, Twilio's messaging error code reference and A2P 10DLC guide, the CTIA Messaging Principles and Best Practices (May 2023 edition) and the FCC's consent revocation rule (47 CFR 64.1200(a)(10)).
Find the cause in two minutes
| What you see | Most likely cause | Jump to |
|---|---|---|
| Every text fails, from day one | The number isn't registered or verified | Unregistered numbers |
| Some texts fail, mostly ones with links | Carrier filtering of links or shorteners | Links and shorteners |
| A campaign fails while order updates go through | Content filtering or a use case mismatch | Content filters |
| The same customers fail every time | Opted out, landline or a dead number | Bad numbers and opt-outs |
| Long texts arrive split or cost more than expected | Message segments or an emoji | Message length |
| Failures jump during a big send | Throughput limits or a volume spike | Sending patterns |
Unregistered numbers
This is the most common reason a new store's texts never arrive. US carriers block business texts from local numbers that aren't registered for 10DLC, and Telnyx states that unverified and pending toll-free numbers are blocked from texting US and Canadian phones.
- Check every number: Registration attaches to specific numbers. A second number you added later may not be on your campaign.
- Check the status, not just the submission: A pending or rejected registration blocks texts just like no registration.
- Fix it: Follow 10DLC registration, step by step for local numbers or toll-free text verification for toll-free numbers.
Content filters
Being registered doesn't switch off filtering. Carriers scan texts for patterns that look like spam or fraud, and Telnyx lists the triggers: content that doesn't match your registered campaign, identical content sent to many people in a way that looks like spam, flagged links and going over your throughput.
- Stay inside your use case: If you registered for order updates, a flash sale text is off-script. Add marketing to your campaign before you send promotions.
- Restricted topics: Carriers restrict content about sex, hate, alcohol, firearms and tobacco (often shortened to SHAFT), plus cannabis and some financial offers. Some need extra approval; some can't be sent at all.
- Write like a person: All caps, strings of exclamation points, "FREE!!!", "act now" and "you've won" read as spam to filters and to customers.
- Name yourself: Start with your store name so the customer, and the filter, can see who is texting.
- Vary big sends: Personalizing with a first name or the product they bought makes a campaign look less like a blast.
Links and shorteners
Links are the single biggest filtering trigger for registered senders. Public link shorteners are shared by thousands of senders, including spammers, so a bad actor's link can hurt yours.
- Use your own domain, or a branded short domain you own, for every link.
- Send people to the page the text is about, not through a chain of redirects.
- Keep links consistent with the samples you registered. If your campaign said "no links", update it before you add them.
- Test a new link domain on a small send before a big campaign.
Bad numbers and opt-outs
Some failures aren't about you at all. The number is a landline, it was disconnected, or it was typed wrong at checkout. Others are about consent: the customer opted out.
- Landlines and dead numbers: These fail every time. Remove them after the first hard failure instead of paying to retry them.
- Opted-out customers: Anyone who replied STOP or a similar word has to stop getting texts. Your system should refuse to send to them, not just hide them from a list.
- Opt-outs in other words: The FCC's rule on revoking consent, in effect since April 2025, says consumers can opt out by any reasonable means and that senders must honor it within 10 business days. Replies like "stop texting me" count. (A related "revoke all" part has been delayed to January 31, 2027, and a September 30, 2026 FCC order adjusts it further.)
- One list for every tool: If you text from more than one app, an opt-out in one must reach the others. A suppression list shared across tools prevents texting someone who already said no.
Texting people who opted out is the fastest way to collect spam reports, and spam reports are how numbers get filtered for everyone else on your list.
Message length, emoji and pictures
A single text holds 160 plain characters. Longer texts are split into segments of 153 characters and put back together on the phone. Each segment is billed, and very long texts are more likely to be filtered or arrive out of order on older phones.
- One emoji changes the math: An emoji, curly quote or certain accented letters switch the whole text to a different encoding where one segment holds only 70 characters. A 150-character text with one emoji becomes three segments.
- Watch pasted text: Copying from a document often brings curly quotes and long dashes. Retype them as plain characters.
- Pictures go as MMS: Picture messages cost more and carriers resize or reject large files. Keep images small and check your provider's limit.
- Aim for one segment: Most templates in our shipping update and welcome text guides fit in 160 characters, with counts for each.
Sending patterns
- Throughput limits: Your registration sets how fast carriers accept your texts. Send 50,000 texts in a minute on a low tier and many will queue or fail. Spread big campaigns out, or ask about raising your tier.
- Sudden spikes: A brand that usually sends 500 texts a week and suddenly sends 40,000 looks suspicious. Grow volume steadily, and warm up new numbers.
- Don't spread across many numbers: Rotating many numbers to get around limits (sometimes called snowshoeing) breaks carrier rules and gets numbers blocked.
- Timing: Texts at 11 p.m. bring opt-outs and complaints. Use quiet hours in each customer's time zone.
How to read delivery status
Every texting platform reports a status for each message. Names vary, but they follow the same path:
| Status | What it means |
|---|---|
| Queued | Accepted by your platform, waiting to go out |
| Sent | Handed to the carrier network. Not proof it arrived |
| Delivered | The carrier confirmed it reached the phone |
| Failed | Never left, often because of a setup problem such as an unregistered number |
| Undelivered | The carrier refused or couldn't deliver it. The error code says why |
The error code on a failed or undelivered message is the most useful thing in your report. Codes differ by provider. As an example, Twilio's reference uses 30034 for a text from an unregistered 10DLC number, 30032 for an unverified toll-free number, 30007 for a message blocked by carrier filtering, and 30006 for a landline or unreachable carrier. Group your failures by code and fix the biggest group first.
One caution: "delivered" depends on the carrier sending a receipt back. Some carriers send receipts late or not at all, so a few "sent" texts that never turn into "delivered" aren't always failures.
The fix-it checklist
- Every sending number is registered (10DLC) or verified (toll-free), and the status is approved.
- Texts match the use case you registered.
- Every link uses your own domain.
- Texts start with your store name and stay under 160 plain characters where possible.
- No emoji or curly quotes unless you've budgeted for the extra segments.
- Opt-outs, including plain-language ones, are honored across every tool.
- Landlines and dead numbers are removed after a hard failure.
- Big sends are spread out and volume grows steadily.
- Quiet hours are set by the customer's time zone.
- Failures are grouped by error code each week.
How Chargezen keeps texts deliverable
- Registration handled: Chargezen registers 10DLC brands and campaigns and handles toll-free verification, checking your privacy policy link, help and opt-out replies, opt-in wording and quiet hours before it submits.
- Opt-outs and suppression enforced: STOP, CANCEL, QUIT, UNSUBSCRIBE, END and STOPALL opt a customer out, and opted-out or suppressed numbers are blocked from every send. See text messages.
- Checks before every text: SmartyTap checks opt-ins, opt-outs, quiet hours and preferences before each text goes out, and campaign texts to US numbers can carry your store name and "Reply STOP to opt out" automatically.
- Credits at a glance: See how many SMS credits you've used before you send a big campaign.
- Replies that get answered: When customers text back, Concierge answers and handles the request, so a reply doesn't sit in an unread inbox.
SmartyTap Starter is $20 a month with 250 SMS credits, and Pro is $199 a month with 2,500. See pricing and our TCPA compliance page.
Glossary: SMS segment, SMS opt-out, 10DLC and quiet hours. Read next: 10DLC registration, step by step, Toll-free text verification and SMS opt-in language examples.
Frequently asked questions
Why do my texts say "sent" but customers didn't get them?
"Sent" only means the text reached the carrier network. If it never becomes "delivered", the carrier may have filtered it, the number may be a landline, or the receipt may be late. Check the error code on any undelivered message.
Can one customer's complaint get my number blocked?
One complaint rarely does, but complaints add up. Carriers watch spam reports and opt-out rates, and a high rate leads to filtering. Text only people who opted in, honor every opt-out and keep texts useful.
Do emoji really cause delivery problems?
They don't block a text by themselves, but they cut one segment from 160 characters to 70, so a text becomes several parts. That costs more and long multi-part texts are more likely to be filtered or garbled.
Should I switch to a new number if mine is filtered?
Not as a first step. Filtering follows content and behavior, and a new number with the same texts will be filtered too. Fix the cause, then ask your provider whether the number needs a review.




