TCR Vetting Systems Operational
MyTCRPlus Guide

Why TCR Campaigns Get Rejected (And How to Fix Them)

Why A2P TCR campaigns get rejected, how to read CSP error reasons, and a structured resubmission protocol—samples, opt-in, privacy policy, and Brand status.

READ TIME: 10 MIN SECTION: MYTCRPLUS GUIDE STATUS: VERIFIED 2026

Executive Summary

A TCR campaign rejection means your A2P 10DLC Campaign did not pass CSP/upstream review—not that US carriers have “banned your industry.” Common root causes are mismatched samples vs use case, unverifiable opt-in (CTA/message flow), broken or non-SMS-ready privacy/terms URLs, Brand still unverified, and prohibited or inconsistent website content. Twilio documents failures such as error 30902 when a Direct Connect Aggregator (DCA2) rejects a Campaign registration request. The Campaign Registry (TCR) itself emphasizes that CSPs register Brands/Campaigns and that approval timing varies; TCR is not a substitute compliance consultancy for opt-in design. This guide gives a structured diagnose → fix live assets → edit/resubmit protocol so you stop burning cycles on blind resubmits.

Short answer: If your A2P campaign registration with TCR/your CSP failed, read the exact rejection reason, fix the live website/opt-in/privacy/samples first, confirm Brand status is verified, then edit and resubmit (or recreate only when immutable fields like use case cannot change). Do not resubmit the same package unchanged.

Who This Is For / Who It Is Not For

Who this is for
- Teams seeing “Campaign rejected,” Twilio 30902-class errors, or CSP portal failure reasons
- Agencies resubmitting on behalf of many Brands
- Developers integrating A2P registration APIs who need a remediation checklist
- Compliance staff aligning public disclosures with Campaign fields

Who this is not for
- Send-time blocks on unregistered numbers (different problem—see unregistered traffic guides)
- Pure TCPA lawsuit strategy (different workstream)
- Anyone expecting a guaranteed approval SLA from this article

Definitions

Term Meaning
TCR The Campaign Registry—central Brand/Campaign registry for US 10DLC
CSP Campaign Service Provider submitting on your behalf
DCA / DCA2 Downstream aggregator/review path referenced in some CSP errors (e.g., Twilio 30902)
Campaign rejection Failed Campaign review before approved sending
Brand unverified Identity status blocking standard Campaign registration
CTA / message_flow Description of how end users opt in
Resubmit Edit failed Campaign and send again vs delete/recreate

What a Rejection Is (and Is Not)

Event When it happens What to do
Brand unverified / failed Identity check Fix EIN/legal name/address/website; appeal/vet per CSP
Campaign rejected Use-case review Fix packaging; resubmit
Number unregistered after approval Number not associated / pending MNO Attach to Messaging Service; wait/propagate
Send error 30034-class Unregistered send attempt Register/associate—not a “rejection code” fix

Twilio’s 30902 docs describe Campaign registration rejected by DCA2 review. Always read your CSP’s specific reason strings—codes differ by provider.

Top Rejection Causes (With Fixes)

1. Opt-in / CTA cannot be verified

Symptom: Reviewer cannot see how users consent.
Fix: Live public page with unchecked SMS consent, disclosures (brand, purpose, frequency, rates, STOP/HELP, privacy/terms). Provide URL or screenshot/video in message_flow. Bandwidth requires clear, conspicuous, 1:1 opt-in not buried only in T&Cs.

2. Samples do not match use case or website

Symptom: Marketing samples on Customer Care; generic “we text customers.”
Fix: Rewrite description and 2–5 samples showing brand name, realistic content, and opt-out language on at least one sample (Bandwidth best practices).

3. Privacy policy / terms failures

Symptom: 9108-class or “privacy policy not compliant.”
Fix: Public SMS section covering mobile data sharing expectations; working URL. See 9108 guide.

4. Non-working or placeholder website

Fix: Production site resolving without auth walls; support contact reachable.

5. Content attributes mismatch

Symptom: Embedded link = No but samples include links.
Fix: Attributes must match samples; some fields cannot change—may require new Campaign.

6. SHAFT-C / prohibited website content

Fix: Remove prohibited categories from site/SMS or use only approved special paths with counsel/CSP guidance.

7. Brand still unverified

Fix: Resolve Brand before expecting Campaign approval. Unverified Brands generally cannot register standard Campaigns.

8. Reseller / ISV Brand mismatch

Fix: Register the end-customer Brand that customers see; include reseller identifiers your CSP requires.

Decision Framework: Edit vs Recreate

  1. Capture full rejection text + Campaign ID + Brand ID + use case.
  2. Map each reason to a live asset (URL, sample, attribute).
  3. Fix live assets first; date-stamp screenshots.
  4. If only editable fields changed → edit and resubmit.
  5. If immutable wrong use case / locked attributes → delete/recreate per CSP guide.
  6. If prohibited content → remediate site; consider appeal paths your CSP documents.
  7. Confirm Brand verified before resubmit.
  8. After approval, associate numbers; soak-test—do not blast.

Twilio publishes troubleshooting and rectifying A2P Campaigns for edit vs recreate scenarios.

Requirements Matrix for a Clean Resubmission

Element Must be true
Brand identity status Verified or Vetted_Verified as required
Campaign description Who / whom / why—specific
Samples Match use case; brand named; STOP on ≥1
Opt-in CTA Verifiable 1:1 flow
Privacy & terms URLs Public, SMS-aware
Content attributes Match samples
Website Live, consistent with Brand
Use case Correct; recreate if wrong and locked

Risk / Failure Modes

Failure Mitigation
Blind resubmit same package Checklist gate before submit
Fixing samples but not live checkout Update production UI first
Multiple rapid recreates Prefer edit; document why recreate
Ignoring Brand status Verify Brand dashboard first
Snowshoeing while rejected Stop; do not evade with new numbers
Mixing TCPA gaps with TCR packaging Separate legal consent audit

Implementation Checklist (Owner + Artifact)

Step Owner Artifact
Export rejection reasons Messaging admin Ticket with raw text
Brand status check Ops Screenshot
Live opt-in QA Product URL + screenshots
Privacy policy update Legal Published URL
Sample rewrite Marketing ops Sample set vN
Attribute audit Admin Checklist
Resubmit / recreate decision Admin + CSP support Decision note
Post-approval number attach Eng Sender pool report
Soak test Eng Metrics

Soft CTA

Use MyTCRPlus rejection troubleshooting and tools to preflight packaging before you burn another review cycle—without treating results as guaranteed approval.

Operating Appendix

Expanded Operating Playbook

Week-by-week launch plan

Use this plan whether you are registering a first Campaign or remediating a rejection. Adjust dates to your CSP queue—there is no universal SLA.

Week Focus Exit criteria
Week 0 Inventory numbers, templates, consent sources Spreadsheet signed by ops + compliance
Week 1 Fix website, privacy SMS section, checkout/CTA Public URLs load; screenshots dated
Week 1–2 Brand registration / verification Brand status verified (or Sole Prop path confirmed)
Week 2–3 Campaign draft + peer review Description, samples, attributes aligned
Week 3 Submit Campaign; monitor failure reasons Ticket with raw CSP reason text if rejected
Week 3–4 Remediate and resubmit if needed All rejection reasons closed
Week 4 Attach numbers; low-volume soak test Error rate acceptable to your SLO
Week 5 Enable full volume; marketing gated separately Marketing consent audit passed

RACI for messaging compliance

Activity Responsible Accountable Consulted Informed
Brand legal identity Controller / legal General counsel CSP admin Exec sponsor
Campaign copy + samples Marketing ops Compliance lead Legal Support
Opt-in UI Product Compliance lead Eng Marketing
Privacy policy SMS Legal GC Marketing CSP admin
CSP console submission Messaging admin Ops director Eng Finance
STOP suppression sync Eng Ops director Support Compliance
Incident response (blocks) Eng on-call Ops director CSP support Exec

Evidence pack to keep for audits and resubmits

  1. Dated PDF/HTML capture of opt-in page and privacy policy
  2. Sample message set versioned in git or CMS
  3. Brand and Campaign IDs from CSP
  4. Consent ledger schema + 10 redacted example rows
  5. STOP test threads (inbound keyword → confirmation → suppression check)
  6. Rejection reason exports and fix notes
  7. Change log for From numbers and Messaging Services

Common executive questions—model answers

  • “Can we just buy more numbers?” No—throughput is tied to Brand/Campaign factors; more numbers do not multiply capacity and can look like snowshoeing.
  • “Sales wants to text the whole list Friday.” Only numbers with marketing consent on an approved Marketing Campaign; otherwise pause.
  • “We are registered—why blocked?” Registration ≠ number association ≠ consent. Diagnose which layer failed.
  • “How much will fees be?” Use your CSP’s current published schedule; do not rely on blog fee tables.
  • “Will this stop lawsuits?” No system eliminates TCPA risk; it reduces carrier delivery failures when done correctly.

Quality bar before every submit

  • [ ] Legal name / EIN / address match tax records (non–Sole Prop)
  • [ ] Website live and consistent with Brand
  • [ ] Privacy + terms URLs public and SMS-aware
  • [ ] Opt-in 1:1, not pre-checked, not T&Cs-only
  • [ ] Samples name the Brand and match use case
  • [ ] At least one sample includes opt-out language
  • [ ] Content attributes match samples (links, phone numbers, etc.)
  • [ ] STOP/HELP configured in the messaging platform
  • [ ] Owner assigned for post-approval number association

Failure drill: first 24 hours after a production SMS outage

  1. Declare severity; freeze marketing sends.
  2. Pull CSP error codes for top From numbers.
  3. Classify: unregistered vs rejected vs filtered vs consent complaint.
  4. Communicate customer-facing status if transactional SMS is down.
  5. Open CSP ticket with Campaign/Brand IDs and sample SIDs.
  6. If unregistered, do not rotate new long codes to “get around” blocks.
  7. Document timeline for leadership within 24 hours.
  8. Schedule postmortem with corrective actions owners.

How this page connects to the rest of the MyTCRPlus library

Pair this article with registration how-tos, privacy policy templates, disclosure wording guides, and rejection-code playbooks on mytcrplus.com. Use internal draft cluster links for TCPA rules, Brand registration, and vertical guides so readers can move from diagnosis to packaging without repeating foundational definitions. Keep a soft path to tools and microsite services for teams that need public disclosure pages—without promising approval rates or legal outcomes.

Sustaining compliance after go-live

Registration is not a one-time project. Quarterly, re-audit live templates against Campaign samples, re-test STOP across every system that can send, and re-verify that privacy URLs still resolve. When marketing launches a new promo calendar, update samples or register an additional Campaign rather than silently drifting content. When legal refreshes privacy policies, notify the messaging admin the same day. When finance changes legal entities or EINs after an acquisition, treat Brand identity as a migration project before the next send. These operating habits prevent the majority of “sudden” rejections and blocks that actually began as documentation drift weeks earlier.

FAQ

Why was my TCR campaign rejected?

Usually packaging: opt-in, samples, privacy URLs, Brand status, or attribute mismatch. Read the CSP reason string.

Can I just resubmit immediately?

Only after fixing root causes. Identical resubmits waste time.

What is Twilio 30902?

A documented Campaign registration rejection by DCA2 review—see Twilio’s error page for causes/solutions context.

Does TCR itself approve campaigns?

TCR materials indicate CSPs/upstream partners handle approval; timing varies. Work through your CSP.

Should I create a new Campaign every time?

Not if fields are editable. Recreate when use case/locked attributes are wrong.

Privacy policy keeps failing—what now?

Add SMS-specific language, ensure public HTTPS URL, align with samples. See 9108 guide.

Brand verified but Campaign still fails?

Focus on Campaign fields and live CTA—Brand OK does not auto-approve Campaigns.

How long after fix until approval?

No universal SLA. Completeness drives speed more than “priority tickets.”

Are rejection codes universal across CSPs?

No. Map your provider’s codes; MyTCRPlus hubs translate common patterns.

Does approval mean TCPA safe?

No. Consent law is separate.

Key Takeaways

  • Rejections are usually fixable packaging problems, not mysterious bans.
  • Fix live opt-in, privacy, and site assets before resubmit.
  • Align description, samples, attributes, and use case.
  • Verify Brand status first.
  • Prefer edit over recreate unless fields are immutable.
  • Use structured playbooks; avoid snowshoeing.
  • MyTCRPlus tools help preflight—not guarantee.

Additional Deep Dive: Building a Rejection War Room

When a mid-market brand burns two weeks on failed Campaigns, stand up a short war room: compliance owns disclosure copy, marketing owns samples, engineering owns live URLs, and the messaging admin owns the CSP console. Meet daily until resubmit. Keep a single source-of-truth spreadsheet with columns for rejection reason, owner, fix URL, screenshot date, and “ready for resubmit” checkbox. Do not allow partial ready states—reviewers see the whole package. After approval, keep the war-room folder; the next product launch will reuse the same evidence pattern. For agencies, template the war-room per client Brand so you are not reinventing CTA language under deadline pressure. Finally, brief executives that each failed cycle is usually a documentation defect, not a carrier conspiracy—funding a privacy-page and checkout fix is cheaper than another month of blocked SMS revenue.

After each resubmit, wait for the CSP status change before opening duplicate tickets that confuse reviewers.

Disclaimer

Informational only—not legal advice. CSP error codes, fees, and review outcomes change. Confirm with your provider and counsel. MyTCRPlus does not guarantee approval.

// Ready To Go Live?

BOOK YOUR TCR SOLUTIONS DISCOVERY CALL

KEEP READING

// Stop guessing. Start messaging.

ELIMINATE TCR
REJECTION RISK TODAY

SMB & Enterprise businesses achieve up to 90% approval rates with our diagnostic tools and carrier-validated templates.