Twilio A2P 10DLC campaign rejected? What to fix before resubmitting
Twilio just rejected your A2P 10DLC campaign. Before you resubmit, walk through the patterns below — almost every rejection we see comes from one or more of them.
Guidance only — A2PCheck is independent and not affiliated with Twilio, The Campaign Registry, or any carrier, and we can't guarantee approval.
Free — no signup required
Pre-scan before you resubmit
Find what carriers will flag this time. Free, anonymous, no signup.
Top reasons Twilio rejects A2P 10DLC campaigns
Vague campaign description
Symptom: "We send marketing messages to our customers" — no use case, no audience, no opt-in mechanic, no content shape.
Fix: Describe the audience, the kind of messages, where opt-in happens, and the typical content. Quote the consent text users see.
Sample messages without brand or opt-out
Symptom: Generic samples like "Hi! Check out our sale at acme.com" with no brand prefix, no STOP wording, no rate/frequency.
Fix: Each promotional sample needs the brand prefix, specific content, frequency hint, msg&data rates disclosure, and Reply STOP / HELP.
"Users sign up on our website" opt-in
Symptom: Generic opt-in description with no URL, no consent text, no confirmation step.
Fix: Name the exact URL, quote the consent string verbatim, state the checkbox is unchecked by default, describe the confirmation step.
Missing or weak privacy policy
Symptom: Privacy policy URL missing, 404, behind login, or does not mention SMS / mobile data sharing.
Fix: Host a publicly reachable privacy policy that explicitly covers SMS opt-in data and includes "we do not sell or share phone numbers with third parties for marketing."
Use case mismatch
Symptom: Campaign declared as MARKETING but samples are mostly transactional, or vice versa.
Fix: Pick the use case that matches the majority of your traffic. If you send both, register two campaigns.
Disallowed content signals
Symptom: Samples reference age-gated content, lending terms, or affiliate links without the corresponding flags set.
Fix: Set the matching flags (ageGatedContent, directLending, embeddedLinks, etc.) honestly. Hiding them is what triggers rejection.
Public URL crawl issues
Symptom: Opt-in page, privacy policy, or terms URL returns 404, requires login, or doesn't actually describe SMS.
Fix: Make every URL you submit publicly crawlable and have the SMS-relevant language visible without authentication.
Before you resubmit
Don't click resubmit yet. Resubmissions with the same issues unfixed get rejected again, often faster than the first round. Run your campaign through the pre-scanner first, then walk the resubmission checklist for a final pass.
Registering campaigns for clients?
Agencies and consultants typically pre-scan every client campaign via the API before submitting to TCR. See the API reference or request volume access. More background on independence and approval scope is on the FAQ.
Frequently asked questions
How long does it take Twilio to review a resubmission?
Carrier review times vary, often 1–7 business days. Resubmitting with the same issues unfixed usually results in a faster rejection, not a faster approval — so use the wait to fix everything in one pass.
Will Twilio tell me exactly why my campaign was rejected?
Often you receive a category code (e.g., MNO rejection, content violation, or vague description) but not a sentence-by-sentence breakdown. The pattern of issues is usually the same across rejections, which is what A2PCheck's pre-scan is designed to surface.
Can I resubmit the exact same campaign and hope for a different reviewer?
No. Rejections are typically based on rules that don't depend on the individual reviewer. Fix the underlying issues — vague description, weak samples, missing privacy disclosures — before resubmitting.
Is A2PCheck affiliated with Twilio?
No. A2PCheck is an independent tool. We are not affiliated with Twilio, The Campaign Registry, or any wireless carrier, and we cannot guarantee approval.