Skip to content
A2PCheck

How to fix a rejected Twilio A2P 10DLC campaign

A rejected A2P 10DLC campaign is almost always fixable. Work the eight steps below in order — read the rejection reason, repair each part of the registration, then pre-scan before you resubmit.

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.

Start here: match your rejection to the fix

Almost every A2P 10DLC rejection traces to one of these. Find yours, jump to the matching step below, then re-scan before you resubmit.

  • Vague description name the audience, message types, and consent text (step 2)
  • Weak sample messages brand prefix, specifics, STOP / HELP (step 3 · checklist)
  • Opt-in not evidenced exact URL + verbatim consent string (step 4 · examples)
  • Missing SMS privacy disclosure a public policy that covers SMS (step 5 · requirements)
  • Uncrawlable URLs no 404s or login walls on submitted links (step 6)
  • Use-case / content mismatch match your traffic and flag attributes honestly (step 7)

How to fix a rejected Twilio A2P 10DLC campaign

Start here

1. Read the rejection reason before changing anything

Twilio / TCR rejections come back as a category — vague description, content violation, opt-in not evidenced, use-case mismatch — not a line-by-line edit list. Find the rejection code in the Twilio Console, map it with the rejection reason guide, then choose the repair path below. Guessing burns a resubmission cycle.

Vague description

2. Rewrite a vague campaign description

"We send marketing messages to our customers" gets rejected. State the audience, the message types, where people opt in, and quote the consent text they see — enough for a reviewer to picture the exact message without visiting your site.

Sample messages

3. Fix sample messages

Each sample should read like a real send: brand prefix, specific content, a frequency hint, msg&data-rates, and Reply STOP / HELP on promotional traffic. Generic stand-ins read as placeholders. See the sample message checklist for bad-vs-good examples.

Opt-in evidence

4. Evidence your opt-in flow

Reviewers want to see where consent is captured: name the exact URL, quote the consent string verbatim, and confirm the box is unchecked by default. "Users sign up on our website" is a top rejection cause. The opt-in flow examples show what passes.

Privacy & disclosures

5. Repair privacy policy & SMS disclosures

Host a public privacy policy that covers SMS opt-in data and states you don't sell or share numbers for marketing. A policy that 404s, sits behind a login, or never mentions SMS counts as missing. The privacy policy requirements list the exact language carriers look for.

Crawlable URLs

6. Make every submitted URL crawlable

Every submitted URL — opt-in page, privacy policy, terms — must be publicly reachable with the SMS language visible without login. A 404, a login wall, or a page that doesn't describe SMS rejects the campaign even when the description is perfect.

Use case & content

7. Resolve use-case mismatch & disallowed content

Declare the use case that matches most of your traffic — MARKETING with transactional samples (or the reverse) is a mismatch rejection. Flag age-gated content, lending terms, or embedded links honestly; hidden attributes are what trigger content rejections. If you truly send two kinds of traffic, register two campaigns.

Final pass

8. Run a final pre-resubmission pass

Before you resubmit, run the full campaign back through the scanner and walk the resubmission checklist. An unchanged resubmit usually comes back as a faster rejection, not a faster approval — fix everything in one pass.

Before you resubmit

Don't click resubmit until a fresh scan comes back clean. The scanner checks the same patterns carriers flag, so a clean pass is the best signal you've actually fixed the rejection rather than moved it around.

Keep going

Dig into the specifics with the sample message checklist, the opt-in flow examples, and the privacy policy requirements. Questions about independence and approval scope are answered on the FAQ.

Frequently asked questions

How do I fix a rejected Twilio A2P 10DLC campaign?

Start from the rejection reason in the Twilio Console, then repair the underlying cause: vague campaign description, weak sample messages, an opt-in flow with no evidenced consent, missing SMS privacy disclosures, uncrawlable URLs, or a use-case/content mismatch. Run a pre-scan to confirm the patterns are gone before resubmitting.

Can I just resubmit the same campaign and hope for a different reviewer?

No. Rejections are based on rules that don't depend on the individual reviewer, so an unchanged resubmission typically gets rejected again. Fix the underlying issues first.

How long does a resubmission take to review?

Carrier review times vary, often 1–7 business days. Resubmitting with the same issues unfixed usually results in a faster rejection rather than a faster approval, so it's worth fixing everything in one pass.

Will A2PCheck guarantee my campaign gets approved?

No. A2PCheck is an independent pre-scan tool and is not affiliated with Twilio, The Campaign Registry, or any wireless carrier. It surfaces the common rejection patterns so you can fix them, but it cannot guarantee approval.

Pre-scan before you resubmitResubmission checklist