error 30034 — your A2P 10DLC campaign isn't APPROVED yet. Open Console → Monitor → Logs → Messaging, click any failed message, read the error_code field. 30034 = register your campaign (1-3 day approval). 30007 = carrier spam filter (rewrite content). 21610 = recipient sent STOP and you can't unsend it from the API. Pull the code first, then jump to the matching fix below.If your Twilio messages show delivered to Twilio but never land on phones, you're hitting one of four specific 2026-era problems. I'm PJ in Encinitas — I debug this for North County San Diego businesses. Here's the straight answer.
VETTED but no campaign is APPROVED, every message silently drops with error 30034./Messaging/OptOuts on the API.Don't trust the dashboard status. Hit GET /2010-04-01/Accounts/{SID}/Messages/{MessageSID}.json and read error_code. Common 2026 codes:
30034 = unregistered 10DLC · 30007 = carrier filter · 30003 = handset unreachable · 21610 = STOP opt-out · 30032 = toll-free not verified.
Go to Console → Messaging → Campaigns. Your campaign needs status APPROVED and a non-zero daily throughput (T-Mobile allocates MPS per campaign). If throughput dropped, carriers lowered your trust score — usually from too many opt-outs or spam reports above 0.1%.
Fix: rewrite sample messages, lower volume 7 days, resubmit.
Work this list in order. Stop at the first one that applies:
Register your brand + campaign under A2P 10DLC. Even sole proprietors now qualify. Expect ~$4/mo brand fee + $10/mo campaign fee + carrier pass-through. Approval: 1–3 business days for low-volume standard campaigns.
Submit toll-free verification with your opt-in screenshot, sample messages, and privacy policy URL. Until verified, assume zero deliverability to T-Mobile and heavy throttling elsewhere. This is not optional in 2026.
If you're running a local business in North County — Encinitas, Solana Beach, Carlsbad, Del Mar, Rancho Santa Fe — and your appointment reminders or lead nurture texts aren't landing, I'll audit your Twilio account on a $100/hr call. No retainer, no package. Usually a 1–2 hour job to get you fully registered, error-free, and routed correctly.
Text me the error code. I'll tell you if it's worth fixing yourself or if you need help.
Don't see what you were looking for?
Text PJ a sentence about what you actually need — I'll build you a free custom shareable on the house. No email, no funnel, no SOW.
📲 Text PJ — free shareableNine times out of ten the cause is one of three things: 10DLC registration is incomplete or rejected (US A2P), carrier filtering is blocking the message content (spam triggers, shorteners, all-caps), or the recipient sent STOP and the unsubscribe is being honored. Pull the actual Twilio error code from the message log first — codes 30007, 30008, 30032, 30034, and 30038 each point to a different cause.
30007 = carrier landed in spam or got filtered. The fix is registration: complete A2P 10DLC brand + campaign registration with the carrier (T-Mobile, AT&T, Verizon all require it for US long codes as of 2024). If already registered, audit your message content for known spam triggers (link shorteners, all-caps, more than one URL, urgency words like 'act now').
The Campaign Registry (TCR) rejects most campaigns for one of three reasons: business website doesn't have a clear privacy policy + opt-in language, sample message content references something not in the use case description, or the brand vetting score is too low. Fix the website first (privacy policy + explicit opt-in flow), then resubmit with sample messages that match the registered use case verbatim.
Long code (10DLC): cheapest, requires A2P registration, best for transactional/customer-service. Toll-free: easier registration than 10DLC, higher throughput, costs more, requires Twilio toll-free verification. Short code: highest throughput and trust, $1K+/month plus 8-12 week approval, only worth it for high-volume marketing campaigns. For most SaaS and small-business use cases in 2026, 10DLC long code is the right answer if you'll do the registration work; toll-free if you won't.
Diagnosis: 10 minutes (pull error code + check campaign health in console). Fix depends on cause: STOP flag clearance is instant, content-filtering fix is same-day (rewrite + resend test), 10DLC registration takes 1-3 weeks (TCR review + carrier provisioning), toll-free verification takes 5-15 business days. Most teams underestimate the registration timeline.