
Twilio SMS Not Delivering in LeadConnector: Common Problems, Error Codes and Fixes
You sent the message. LeadConnector says "Delivered" in green. But the contact swears they never received it. Or you're staring at an error code like 30007 that means absolutely nothing to you. Or — worst of all — your SMS worked perfectly last month and now it's silently broken with no warning. SMS delivery issues with Twilio inside LeadConnector are frustratingly common, but the good news is they're almost always fixable once you know what's happening behind the scenes. This guide covers every common problem: the actual error codes, what they mean, what causes them, and the exact steps to fix each one. Bookmark it — you'll come back to it.
Understanding the SMS Delivery Chain
Before you can diagnose a delivery failure, you need to understand that an SMS passes through four distinct stages. A failure can happen at any point in this chain — and the error code tells you exactly where.
- LeadConnector queues the message and hands it to the Twilio API. Your workflow, conversation, or bulk send pushes the message into Twilio's outbound queue.
- Twilio passes the message to the carrier network. Twilio routes it toward the appropriate aggregator and carrier gateway.
- The carrier routes it to the recipient's carrier. If you're texting a Verizon number, the message has to traverse to Verizon's network.
- The recipient's carrier delivers it to the handset. This is the final hop — and the one with the least visibility.
Here is the single most important thing to understand: when LeadConnector shows "Delivered", that only means Twilio accepted the message — it does not mean the recipient received it. Inside Twilio, the "delivered" status means the message reached the carrier, not the handset. True handset delivery confirmation requires a DLR (Delivery Receipt) from the carrier — and not every carrier provides accurate DLRs. This gap between "accepted" and "received" is where most mysterious failures live.
How to Check Twilio Message Logs
You can't fix what you can't see. The first move on any delivery problem is to pull the logs.
If you have direct Twilio account access:
- Go to console.twilio.com.
- Navigate to Monitor > Logs > Messaging.
- Filter by date range, the sending number, or the recipient number.
- Click any individual message to open its detail view. You'll see the Error Code, the carrier response, the message status, and the full delivery timeline.
If you only have LeadConnector access (no Twilio login):
- Go to Settings > Phone Numbers > Message History if it's available in your account.
- Otherwise, open the individual contact's conversation log — a failed message will show a failed status, often with the underlying error code.
- Error codes appear either in the dedicated Error Code column or inside the message detail when you hover or click on the failed message.
Once you have the error code, match it against the reference below.
Complete Twilio Error Code Reference for LeadConnector Users
Each error below tells you what it means, the common cause, and the exact fix. Find your code and follow the steps.
What it means: Twilio's outbound queue for your number filled up before the message could be sent. Common cause: You're sending faster than your number's throughput allows — typically during a bulk blast. Fix: Reduce your send rate, add delays between messages in your workflow, upgrade your messaging tier or use a Messaging Service with more numbers, and spread bulk sends out over a longer window instead of firing them all at once.
What it means: Your Twilio sub-account has been suspended — zero SMS will send until it's resolved. Common cause: A payment failure, a Terms of Service violation, spam complaints, or sending from unregistered numbers. Fix: Log into the Twilio console immediately and check the account status banner. Resolve any outstanding billing issue first; if the suspension is for a policy reason, contact Twilio support directly to appeal. This is serious — treat it as your top priority.
What it means: The destination handset couldn't be reached. Common cause: The phone is powered off, out of coverage, or the number is actually a landline. Fix: Verify the number is correct, validate whether it's a landline, and check the mobile type. For a single contact, simply retry later; if it's widespread across a list, your list quality is the problem.
What it means: The carrier issued a hard block on the message. Common cause: The recipient blocked your number, the carrier flagged it as spam, or the content triggered a block. Fix: Confirm you're not sending to non-opted-in contacts, review your copy for spam trigger words like FREE, WINNER, CASH, GUARANTEED, and CLICK HERE, and check your number's reputation. If the number is permanently blocked, retire it and provision a new one.
What it means: The number doesn't exist on the carrier network. Common cause: The number is disconnected, was ported and is no longer valid, or there's a typo. Fix: Clean your contact list, mark the number invalid so you stop retrying it, and validate your full list quarterly to remove dead numbers.
What it means: The destination is a landline or sits on a carrier with no SMS support. Common cause: Landline numbers in your database that were never validated. Fix: Add number-type validation at the point of capture and filter landlines out of your SMS audiences entirely.
What it means: This is the most common delivery failure. The carrier filtered your message before it ever reached the handset — it was silently dropped. Common causes: Your A2P campaign isn't registered or is inactive, the sending number isn't associated with the campaign, the content triggers spam filters, you used a public URL shortener (bit.ly, tinyurl), you used spam keywords, or your send timing looks suspicious.
Fix — work through these in order:
- Verify your A2P registration is complete and the campaign shows active.
- Fix the content: remove all URL shorteners, strip spam trigger words, and clearly identify your business by name.
- Review your send patterns — sudden volume spikes look like spam.
- Test delivery to a different carrier to isolate whether it's carrier-specific.
- If the number is burned, retire it, provision a replacement, and warm it gradually.
What it means: The carrier rejected the message but gave no specific reason. Common cause: A transient carrier issue or an unspecified filter. Fix: Retry the message after 30 to 60 minutes. If it persists, treat it exactly like a 30007 (assume content or A2P filtering). If you see a sudden, widespread spike of 30008s, check status.twilio.com for a platform-wide incident.
What it means: An inbound MMS message is missing a segment. Common cause: A multi-part MMS didn't fully arrive. Fix: Check your MMS settings and confirm the receiving number is MMS-enabled.
What it means: This is the most critical code to understand. It's a definitive A2P compliance block — fundamentally different from a 30007 content filter. The carrier is telling you the sending number is not properly registered for application-to-person messaging. Common cause: An unregistered brand, an unregistered or unapproved campaign, or a number that isn't associated with any campaign.
Fix:
- Complete your brand registration with The Campaign Registry (TCR).
- Submit your campaign and wait for approval.
- Associate every sending number with the approved campaign.
- Allow 24 to 48 hours for the registration to propagate across carriers.
- Stop sending from any unregistered number immediately — repeated 30034 errors permanently damage your number's reputation.
What it means: The destination number is in an invalid format. Common cause: The number is missing the country code or has stray characters. Fix: Always store and send numbers in E.164 format — that means +1XXXXXXXXXX for the US (a plus sign, country code, then the 10-digit number with no spaces, dashes, or parentheses).
What it means: The destination number is incapable of receiving SMS. Common cause: It's a landline or a VOIP number with no SMS support. Fix: Validate the number type and remove it from SMS audiences — handle it the same way you would a 30006.
The Silent Killer — "Delivered" But Not Received
This is the scenario that makes people doubt their sanity. The status reads "Delivered" but the contact never got the text. Here's what's actually happening: "delivered" means Twilio accepted the message and it reached the carrier — but the handset state is unknown unless a true DLR comes back. Carrier-level filtering can happen silently after Twilio has already marked the message delivered, so it shows green on your end while the carrier quietly drops it.
How to diagnose it:
- Send a test to a phone you control on the same carrier as the contact who isn't receiving messages. If you get it, the problem is contact-specific; if you don't, it's a carrier or content issue.
- Check your content for filter triggers — shorteners, spam words, all-caps.
- Confirm your A2P registration is fully active, not just "submitted."
- Ask the contact to check their blocked or spam SMS folder — on Android, filtered messages often land in a separate spam folder.
- Send the same content from a different, fully registered number to see if the original number is the culprit.
Content Issues That Cause Carrier Filtering
Carriers run every message through automated content filters. These are the patterns that get you dropped.
Blocked URL patterns: Public link shorteners like bit.ly, tinyurl.com, and t.co are heavily filtered because spammers abuse them. Use full URLs, or set up a custom shortener on your own domain.
Trigger words and formatting:
- FREE in all caps
- WINNER, CONGRATULATIONS, YOU HAVE BEEN SELECTED
- CASH, EARN MONEY, MAKE MONEY
- CLICK HERE, TAP HERE
- GUARANTEED, RISK FREE
- URGENT, ACT NOW, LIMITED TIME
- Excessive punctuation like !!! or ???
- Writing entire messages in ALL CAPS
What carriers actually want to see:
- Your business name clearly identified in the message
- A clear opt-out — Reply STOP to unsubscribe
- A consistent sender number
- Relevant content that matches what the contact signed up for
- Normal mixed-case writing, not shouting in all caps
Number Reputation and Warming
Every Twilio number carries a carrier reputation score that builds over time based on your sending behavior. Burn it and your delivery collapses.
Signs of a damaged number:
- Consistently high 30007 errors
- Delivery rate below 70%
- A sudden drop after the number was previously working fine
- Non-delivery across multiple carriers, not just one
How to warm a brand-new number — ramp volume gradually so carriers learn to trust it:
| Period | Daily Send Volume |
|---|---|
| Day 1–3 | 50–100 messages/day |
| Day 4–7 | 200–300 messages/day |
| Week 2 | 500–1,000 messages/day |
| Week 3+ | Scale up from there |
Blasting 5,000 messages from a number on day one is the fastest way to get it flagged and blocked. Patience here pays off in long-term deliverability.
Twilio + LeadConnector Specific Issues
Some problems are specific to running Twilio inside LeadConnector. Here are the common ones and their fixes.
- The number shows "Active" but SMS still fails. The campaign association may have expired, or the monthly A2P fee failed to charge. Check your A2P status, renew the fee, and re-associate the number with the campaign.
- It works for some contacts but not others. This is carrier-specific filtering — for example, it fails on Verizon but works on T-Mobile. Pull your logs, identify the failing carrier, and contact Twilio with the logs and the carrier name.
- Inbound works but outbound fails. Outbound A2P messaging requires full registration; inbound does not. Complete your A2P registration to fix outbound.
- MMS fails but SMS works. Either the number isn't MMS-enabled or the media file exceeds 5MB. Verify the number is MMS-capable, compress your media, and host it on a public URL.
When to Escalate to Twilio Support Directly
Most issues you can fix yourself. Escalate to Twilio when:
- Your account has been suspended.
- You keep getting 30034 even after completing A2P registration and waiting for propagation.
- You see 30007 on all messages across multiple numbers.
- You hit a sudden total failure with no configuration changes on your end.
To get a fast resolution, include all of this in your ticket:
- Your Twilio account SID (or the LeadConnector sub-account ID)
- The exact error code
- The sending number SID
- Example message SIDs that failed
- Screenshots of your A2P registration status
- A timeline of when it started and what changed
Twilio's standard response time is 24 to 48 hours, so include everything up front to avoid a back-and-forth.
Complete SMS Troubleshooting Checklist
Run through this top to bottom whenever delivery breaks.
A2P Registration
- [ ] Is your brand approved?
- [ ] Is your campaign active?
- [ ] Is every sending number associated with the campaign?
- [ ] Is the monthly A2P fee current?
Message Content
- [ ] No public URL shorteners?
- [ ] No all-caps trigger words?
- [ ] Business name included?
- [ ] STOP / opt-out language present?
- [ ] Under 160 characters?
Number Health
- [ ] Is the number mobile-capable?
- [ ] Was it warmed gradually?
- [ ] No history of spam complaints?
Recipient
- [ ] Number in E.164 format (+1XXXXXXXXXX)?
- [ ] Has the recipient not previously replied STOP?
- [ ] Is it not a landline or VOIP number?
Account
- [ ] Is the Twilio account in good standing?
- [ ] No LeadConnector payment failures?
- [ ] Are you within your throughput limits?
Dealing with Twilio SMS delivery failures or A2P errors?
GHL Prime diagnoses and fixes SMS delivery issues, handles A2P registration from scratch, and gets your messaging running properly. Most issues resolved within 24–48 hours.
Book a Free CallNeed help implementing this in GoHighLevel?
Our team builds, automates, and scales GoHighLevel systems for agencies every day. Book a free call and we'll map out exactly what to ship next.
Book a free call
