A2P 10DLC Rejected? Every Rejection Reason and How to Fix It (2026)
You submitted your A2P 10DLC campaign, waited a week, and got back something like "Campaign rejected: T2 - Sample messages do not match the use case" or "Brand failed vetting: information mismatch." Now what?
This guide covers every common A2P 10DLC rejection we've seen in the past 18 months - from TCR brand vetting failures to carrier-level campaign rejections - and exactly what to change to get approved on resubmission. If you haven't submitted yet, our A2P 10DLC approval guide covers the full first-time process.
Rejections fall into two buckets:
- Brand vetting failures - your business information couldn't be verified.
- Campaign rejections - your use case, samples, or opt-in flow violated carrier rules.
Brand failures block everything (no campaigns can run on a failed brand). Campaign failures are scoped - your brand is fine, just the specific campaign needs fixing and resubmitting.
How rejections are communicated
When TCR or a carrier rejects something, you'll see a status of FAILED or REJECTED and an error code prefixed with T (TCR) or carrier-specific letters. The most common codes:
- T1 - Information mismatch (brand)
- T2 - Sample messages don't match use case
- T3 - Opt-in flow not verifiable
- T4 - Privacy policy or terms missing/inadequate
- T5 - Prohibited content (SHAFT: Sex, Hate, Alcohol, Firearms, Tobacco, plus cannabis, gambling, payday loans)
- T6 - Disallowed link shorteners (bit.ly, t.co, tinyurl)
- T7 - Throughput or use case mismatch
Twilio and other providers usually surface the underlying TCR/carrier message but sometimes truncate it. If your provider only shows "Failed," dig one level deeper through the Twilio API (GET /v1/a2p/brand_registrations/{sid} returns the full failure reason).
Brand vetting rejections
1. Legal name mismatch with EIN
Symptom: Brand status FAILED, message contains "EIN does not match registered name" or "Business information could not be verified."
Cause: The legal business name you typed doesn't character-for-character match the IRS CP 575 (your EIN confirmation letter).
Fix: Pull your CP 575 PDF or request a 147C from the IRS. Whatever it says, that is your legal name - copy it exactly. Common gotchas:
- "Acme Marketing LLC" vs "Acme Marketing, LLC" - comma matters.
- "Acme Inc" vs "Acme Inc." - period matters.
- "Acme Co" vs "ACME CO" - case sometimes matters depending on the vetting partner.
- DBAs and "doing business as" names DON'T match - only the legal entity name on the EIN.
If your business changed its name, you have to file an SS-4 update with the IRS first and wait for a new CP 575 before retrying brand vetting.
2. Address mismatch
Symptom: Brand failed vetting with reason "Address could not be verified."
Cause: The registered business address doesn't match the address on file with the IRS, Secretary of State, or major business directories (D&B, Bing Places, Google Business Profile).
Fix: Use the address from your articles of incorporation or your Secretary of State business filing. If you've moved, file the address change with both the IRS (Form 8822-B) AND your Secretary of State before retrying. P.O. boxes and virtual mailboxes often fail vetting - use a real street address.
3. Website doesn't match brand
Symptom: "Brand identity could not be verified" or low trust score.
Cause: The website you submitted doesn't visibly show the brand's legal name, or the domain WHOIS is privacy-shielded and doesn't connect back to the business.
Fix: Make sure the legal name appears in your website footer ("© 2026 Acme Marketing LLC. All rights reserved.") and on a /about or /contact page. If the domain is brand-new (registered <30 days ago), vetting partners sometimes flag it - wait 30 days before submitting if you can.
4. Email address on a free domain
Symptom: Lower trust score than expected, sometimes a soft rejection.
Cause: You used a Gmail, Yahoo, or Outlook address as the brand contact email.
Fix: Use an email on the same domain as your website (founder@acmemarketing.com, not acmemarketing@gmail.com). This is a soft rule but a high-impact one for trust scoring. If you don't have a business email yet, Google Workspace or Fastmail will set one up in 10 minutes.
Campaign rejections - the big ones
5. Sample messages don't match the use case (T2)
Symptom: "Sample messages do not match the declared use case."
Cause: You declared use case "Customer Care" but your sample messages are clearly promotional. Or you declared "Mixed" but both samples are 2FA codes. Reviewers cross-check use case → samples.
Fix: If your messages are genuinely mixed (promo + care + reminders), declare Mixed and submit one promo sample and one care sample. Don't lie about the use case to dodge restrictions - they map directly to throughput and you'll get caught at the carrier level.
Bad pairing - declared Customer Care:
Acme: 50% off Black Friday! Shop now at acme.com. STOP to opt out.
That's promo, not care. Re-declare as Marketing or Mixed.
Correct pairing - declared Mixed:
Sample 1 (care): Acme: Your order #1234 ships today via UPS.
Track: acme.com/track/1234. Reply STOP to opt out, HELP for help.
Sample 2 (marketing): Acme: New spring collection drops Friday.
Early access for SMS subscribers: acme.com/spring. Reply STOP
to opt out, HELP for help. Msg & data rates may apply.
6. Sample messages missing brand or STOP language
Symptom: T2 rejection with "Samples do not contain required compliance language."
Cause: Your samples don't start with the brand name, or they're missing "Reply STOP to opt out," or they don't mention "Msg & data rates may apply" on promotional samples.
Fix: Every sample message must include:
- Brand name at the start ("Acme:" or "Acme Fitness:" or "[Acme]")
- Actual content, not placeholders like
{{firstName}} - STOP instructions ("Reply STOP to opt out")
- HELP instructions ("HELP for help")
- "Msg & data rates may apply" on at least one sample (mandatory for marketing/mixed)
Bad:
Hey {{firstName}}, your call is at 2pm. See you then!
Good:
Acme Coaching: Hi Sarah, reminder that your strategy call with
Coach Mike is tomorrow Wed Mar 5 at 2pm EST. Reply RESCHEDULE
to change or STOP to opt out. HELP for help.
7. Opt-in flow not verifiable (T3)
Symptom: "Could not verify opt-in process at provided URL" or "Opt-in flow does not meet carrier requirements."
Cause: Reviewers visited your URL and one of these happened:
- The URL 404'd or the form was hidden behind a paywall/login.
- There was no SMS consent checkbox.
- The checkbox was pre-checked.
- The disclosure text didn't mention SMS or didn't link to a privacy policy.
- The form only collected email, not phone numbers.
Fix: Build a dedicated landing page that loads in <3s for anyone (no auth, no geo-gating) with this exact structure visible above the fold:
<form>
<input type="text" name="name" required placeholder="Your name" />
<input type="tel" name="phone" required placeholder="Mobile number" />
<label>
<input type="checkbox" name="sms_consent" required />
By checking this box, I agree to receive recurring marketing
and informational SMS messages from Acme Fitness at the number
provided. Consent is not a condition of purchase. Approximately
4 messages per month. Msg & data rates may apply.
Reply STOP to opt out, HELP for help. View our
<a href="/privacy">Privacy Policy</a> and
<a href="/terms">Terms of Service</a>.
</label>
<button type="submit">Get Updates</button>
</form>
Then provide that exact URL on resubmission. Screenshot the rendered page and attach it. Reviewers will visit the URL - make sure it's live and uncrawlable robots.txt rules don't block them.
8. Privacy policy missing SMS clauses (T4)
Symptom: "Privacy policy does not address SMS data handling."
Cause: Your privacy policy doesn't explicitly mention SMS collection, that phone numbers won't be shared with third parties, and how users can opt out.
Fix: Add this section to your privacy policy:
SMS communications. When you opt in to receive SMS messages from Acme Fitness, we collect your mobile phone number for the purpose of sending the SMS communications you requested. We do not share, sell, rent, or otherwise transfer your phone number or SMS opt-in consent to any third party or affiliate for marketing purposes. We retain your phone number for as long as you remain opted in. You can opt out at any time by replying STOP to any message. For help, reply HELP. Message and data rates may apply. Message frequency varies.
The "we do not share, sell, rent" line is increasingly enforced as of 2025 - carriers want explicit confirmation that opt-in data isn't being resold.
9. Prohibited content / SHAFT-C-G (T5)
Symptom: "Campaign use case violates carrier content policies."
Cause: Your business sells or markets content in a prohibited category: Sex (adult content), Hate (hate speech), Alcohol, Firearms, Tobacco/vaping, Cannabis (including CBD in many states), or Gambling. Also: payday loans, debt collection, multi-level marketing, get-rich-quick schemes, and most crypto trading promotions.
Fix: If you're in a restricted-but-legal category (alcohol, firearms, cannabis), you need a High-Risk campaign type, age-gating on your landing page (21+ for alcohol/cannabis, 18+ for firearms/tobacco), and additional vetting documentation. Some carriers permanently block these categories regardless of paperwork - check your provider's restricted use case list before going down this path.
If you're in a fully prohibited category (adult, payday, MLM), 10DLC isn't an option. Toll-free SMS or RCS may work for borderline cases; for hard-prohibited categories, email is the realistic channel.
10. Link shorteners flagged (T6)
Symptom: "Sample messages contain public URL shorteners."
Cause: You used bit.ly, tinyurl, t.co, ow.ly, or any other public link shortener in your sample messages. Carriers block these because spammers abuse them.
Fix: Use full URLs (acme.com/strength) or a branded shortener on your own domain (acme.link/spring). Branded shorteners on a domain you control are explicitly allowed. Inflowave's built-in tracked-links feature gives you per-message branded short URLs on your own subdomain - these pass A2P review.
11. Throughput vs use case mismatch (T7)
Symptom: "Declared message volume does not match use case."
Cause: You said "low volume" but declared 100,000 messages/month, or you said "high volume marketing" but registered as Sole Proprietor.
Fix: Match volume to use case honestly. Sole Proprietor caps at ~3,000/day. Standard low-trust caps around 6,000/day per carrier. If you need more, you'll have to wait for vetting to bump your trust score (sometimes you can request a re-vet after 90 days with new business documentation).
12. Use case implies third-party / lead-gen sharing
Symptom: "Campaign appears to involve sharing leads with third parties without consent."
Cause: Your campaign description mentions affiliates, partners, lead resale, or anything that sounds like leads collected on one site are being texted by another brand. This is the #1 enforcement priority for carriers right now after high-profile CTIA enforcement actions in 2024-2025.
Fix: Each brand can only text leads who opted in to that specific brand. If you're a marketing agency texting leads on behalf of clients, each client needs its own A2P brand registration and the leads must have opted in to that client's brand specifically. Rewrite your campaign description to make the consent path explicit and brand-specific:
"Inflowave clients opt in via forms hosted on the specific client's branded landing page (e.g. acmefitness.com/contact). Each client has a separate A2P brand and campaign; no lead data is shared between clients."
Agencies running multiple clients on one shared number is the fastest way to get permanently blocked. Each client = separate brand + campaign + number(s).
How to actually resubmit
Once you've identified the rejection reason and made fixes, resubmission is straightforward:
- Brand failures - edit your brand profile in Twilio (or your CPaaS console), correct the EIN-matching field, click "Resubmit for vetting." Vetting re-runs in 1-3 business days. There's typically a small re-vetting fee ($4-15 depending on your provider).
- Campaign failures - edit the campaign in your messaging service, update samples / opt-in URL / use case / description, click "Resubmit." Carrier review reruns in 3-7 days typically.
Don't create a brand-new brand or campaign if you can avoid it - resubmitting an existing one preserves your history and is faster. Only start over if the rejection reason was structural (wrong use case selected, wrong brand type).
How to avoid rejection #2
Most teams that get rejected once get rejected again because they only address the literal rejection reason without fixing the underlying weak spots. Before resubmitting, check the full landing-page checklist:
- ✅ Legal name matches CP 575 character-for-character
- ✅ Address matches IRS / Secretary of State
- ✅ Business email on the same domain as your website
- ✅ Use case declared honestly matches your sample messages
- ✅ Both sample messages have: brand prefix, real content, STOP, HELP, "Msg & data rates may apply" (on marketing samples)
- ✅ Opt-in URL is live, public, loads under 3s
- ✅ Form has an UNCHECKED SMS consent checkbox above the submit button
- ✅ Consent disclosure includes brand, message type, frequency, "consent is not a condition of purchase," STOP instructions, and links to privacy + terms
- ✅ Privacy policy explicitly mentions SMS and "we do not share, sell, rent" your phone number
- ✅ No bit.ly / tinyurl / t.co in samples - only full URLs or your own branded shortener
- ✅ Campaign description is specific about who texts whom, about what, with what consent source
A clean resubmission with all twelve boxes checked clears review in days, not weeks.
When to bring in help
If you've been rejected twice or you're running multiple brands across multiple sub-accounts, the cost of another delay starts adding up - every week of delay is a week of leads getting emails instead of texts (and texts get ~6x the open rate). Inflowave Custom Buildouts handles A2P resubmission as part of the buildout: we audit the rejection reasons, rewrite the campaign description, build out a compliant opt-in page on your domain if needed, and own the resubmission cycle until approved. For agencies with 5+ sub-accounts, we batch the registrations and shave 6-8 weeks off the typical timeline.
Inflowave's SMS module also has the A2P resubmission flow built into the dashboard - when a campaign comes back as FAILED, we surface the carrier's actual rejection reason in plain English plus a one-click "Fix and Resubmit" form that pre-populates with the fields most likely to need updating.
TL;DR - the fix matrix
| Rejection | Root cause | Quickest fix |
|---|---|---|
| Brand T1 | EIN name mismatch | Copy CP 575 exactly |
| Brand vetting low score | Free-domain email | Move to business-domain email |
| Campaign T2 | Samples don't match use case | Re-declare Mixed; rewrite samples |
| Campaign T2 (compliance) | Missing STOP/brand/"rates apply" | Add to both samples |
| Campaign T3 | Opt-in URL not verifiable | Public page, unchecked checkbox, full disclosure |
| Campaign T4 | Privacy policy missing SMS | Add SMS clause + "do not share" |
| Campaign T5 | SHAFT-C-G content | High-Risk + age-gate, or pivot channel |
| Campaign T6 | bit.ly in samples | Branded shortener on own domain |
| Campaign T7 | Volume vs use case mismatch | Match volume to declared use case |
| Lead-share concern | Multi-tenant agency on one brand | Separate brand per client |
If you've gotten this far and are still stuck, the underlying issue is usually structural (wrong brand type, wrong use case, or a category that's just not going to be approved). Talk to your CPaaS support or have us run the Custom Buildout for you - sometimes the right call is restarting with the right setup rather than patching three rejections deep.


