MyTCRPlus.com
Complete A2P 10DLC Registration &
Campaign Administration Guide
For Twilio Customers
Document Version 1.0 | February 2025
Native Chaos Holdings LLC | Henderson, Nevada
1. Overview and Scope
1.1 Purpose
This document provides Twilio customers with a complete procedural reference for using MyTCRPlus.com tools throughout the full lifecycle of A2P 10DLC messaging operations. It covers registration preparation, brand and campaign submission, Twilio Messaging Service configuration, phone number assignment, ongoing administration, rejection remediation, and campaign renewal.
1.2 Who This Document Is For
This guide is written for:
- Compliance officers responsible for maintaining messaging program regulatory posture
- Operations directors managing SMS infrastructure across business units
- Developers implementing Twilio API integrations for A2P messaging
- Marketing administrators managing multiple 10DLC campaigns concurrently
1.3 Prerequisite Knowledge
This guide assumes the reader:
- Has an active Twilio account with access to the Twilio Console
- Understands basic SMS messaging concepts (sender, recipient, long code, short code)
- Has business entity credentials available (EIN, legal entity name, registered address)
- Has access to the organization's website and can make content changes
This guide does not cover:
- Initial Twilio account creation or billing setup
- Short code registration (separate regulatory pathway)
- Toll-free number verification (separate regulatory pathway)
- International messaging outside U.S. carrier networks
1.4 The MyTCRPlus Role in Your Twilio Workflow
Twilio is your Campaign Service Provider (CSP) — the platform that routes messages to carriers. The Campaign Registry (TCR) is the independent body that vets your brand identity and campaign use cases before carriers allow delivery.
MyTCRPlus.com operates as a compliance optimization layer between your organization and the TCR/Twilio submission process. The platform provides:
- Pre-submission diagnostic tools that identify documentation gaps before TCR submission
- Trust score modeling to predict approval likelihood and throughput class
- Rejection remediation workflows covering 37+ TCR error codes
- Carrier policy monitoring for real-time compliance guidance
- Sample message validation against CTIA content policies
Using MyTCRPlus tools before and during TCR submission materially reduces rejection rates, shortens approval timelines, and prevents post-approval campaign suspensions.
2. Regulatory and Infrastructure Context
2.1 The 10DLC Framework
10-Digit Long Code (10DLC) is the Application-to-Person (A2P) messaging framework mandated by the Cellular Telecommunications Industry Association (CTIA) for business SMS sent over standard 10-digit U.S. phone numbers. All major U.S. carriers — AT&T, T-Mobile, and Verizon — enforce 10DLC registration requirements. Unregistered A2P traffic is blocked across all three networks effective February 2025.
10DLC registration validates sender identity through a two-stage system managed by The Campaign Registry (TCR):
Stage 1 — Brand Registration: Establishes verified business identity. TCR cross-references submitted business information against external data sources including IRS EIN records, Dun & Bradstreet DUNS data, business registration databases, and online reputation signals. TCR assigns a trust score (0–100 scale) that determines throughput class and approval speed.
Stage 2 — Campaign Registration: Defines the specific messaging use case. Each campaign describes what type of messages you send, to whom, for what purpose, and how you collect consent. A single verified brand can support multiple campaigns.
2.2 Trust Score Impact
| Score Range | Approval Likelihood | Throughput Limit | Review Type |
|---|---|---|---|
| 75–100 | >95% | Up to 4,500 msg/min | Automated |
| 50–74 | 70–90% | Up to 600 msg/min | Automated + spot checks |
| 25–49 | 40–60% | Up to 60 msg/min | Manual review required |
| 0–24 | <30% | Blocked pending remediation | Manual + carrier escalation |
A trust score below 50 triggers manual carrier review, adding 7–10 business days to approval timelines. Score optimization before submission is the single highest-leverage action a Twilio customer can take.
2.3 TCPA Compliance Requirements
The Telephone Consumer Protection Act (47 U.S.C. § 227) governs all automated text message communications. TCPA violations carry statutory damages of $500 per violation and $1,500 per willful violation. Class-action exposure can reach millions of dollars. Key TCPA requirements for A2P messaging:
- Express written consent required before sending marketing messages
- Consent must be affirmative — no pre-checked boxes
- Consent must not be conditioned on any purchase
- Opt-out mechanisms must be honored within 10 business days
- Consent records must be retained for 4+ years
2.4 CTIA Content Policies — SHAFT Prohibited Categories
CTIA guidelines — enforced by carriers through message filtering — prohibit the following content categories (SHAFT):
- Sex — Adult content, escort services
- Hate — Discriminatory messaging
- Alcohol — Promotional alcohol content (with limited exceptions)
- Firearms — Weapons promotion
- Tobacco — Cigarettes, vaping, e-cigarettes
Additional prohibited categories: cannabis/CBD, payday loans, debt relief, get-rich-quick schemes, cryptocurrency and NFT promotions. Messages containing prohibited content are blocked at the carrier level without notification to the sender.
3. How Twilio Fits Into the 10DLC Ecosystem
3.1 Twilio's Role as CSP
In the 10DLC registration chain, Twilio operates as your Campaign Service Provider (CSP). Twilio submits brand and campaign registrations to TCR on your behalf, receives TCR approval status, propagates approvals to carrier networks, and links approved campaigns to your phone numbers via Messaging Services.
Twilio charges pass-through fees for TCR registration in addition to standard messaging rates:
- Brand registration: $4.00 one-time fee (billed by Twilio)
- Campaign registration: $10–$60/month depending on use case category (billed by Twilio)
- Resubmission fee after rejection: $40 per resubmit attempt
These fees are separate from MyTCRPlus subscription costs.
3.2 Twilio TrustHub
Twilio manages A2P compliance through its TrustHub system. TrustHub stores your Customer Profile (business identity), your Brand registration, and your Campaign registrations. All 10DLC management in Twilio flows through either the Twilio Console → TrustHub (manual, UI-based) or the Twilio TrustHub API (programmatic).
3.3 Twilio Messaging Services
A Twilio Messaging Service connects an approved campaign to one or more phone numbers. Key rules:
- Every approved campaign must be associated with a Messaging Service
- Phone numbers send messages under the campaign registration of the Messaging Service they belong to
- A single Messaging Service can contain up to 49 phone numbers (T-Mobile limit)
- Phone numbers inherit the campaign association of their Messaging Service automatically
3.4 Registration Flow Summary
Step 1: Prepare documentation using MyTCRPlus Pre-Flight Tools
Step 2: Register Brand in Twilio TrustHub → Twilio submits to TCR → TCR assigns Trust Score
Step 3: Register Campaign in Twilio TrustHub → Twilio submits to TCR → Carrier approval
Step 4: Create Messaging Service in Twilio Console → Link to approved campaign
Step 5: Assign phone numbers to Messaging Service → Numbers inherit campaign registration
Step 6: Begin sending A2P messages through assigned numbers
4. MyTCRPlus Tool Suite: Reference Map
| Tool | Primary Function | When to Use |
|---|---|---|
| Trust Score Preflight Simulator | Estimate TCR trust score before submission | Before Brand registration |
| TCR Use Case Selector | Identify optimal campaign use case category | Before Campaign registration |
| Brand Consistency Checker | Verify EIN/name/domain alignment | Before Brand registration |
| SMS Message Validator | Validate sample messages against CTIA standards | Before Campaign registration |
| Rejection Remediation Tool | Diagnose and fix TCR rejection codes | After receiving rejection |
| Provider Checklist — Twilio | Twilio-specific compliance workflow | Throughout registration |
| Build vs. Buy ROI Calculator | Quantify compliance infrastructure costs | Strategic planning |
| Carrier Policy Updates | Monitor real-time carrier requirement changes | Ongoing administration |
All tools are accessible at mytcrplus.com/home/tcr-tools/.
5. Phase 1 — Pre-Registration Preparation
5.1 Objective
Complete all documentation gathering and diagnostic validation before initiating any submission in Twilio TrustHub or TCR. Submitting without preparation is the primary cause of first-submission rejection, which incurs a $40 resubmission fee per attempt and resets approval timelines.
5.2 Step 1.1 — Run the Brand Consistency Checker
Tool: Brand Consistency Checker | URL: mytcrplus.com/home/tcr-tools/tcr-brand-consistency-checker/
Purpose: TCR compares submitted brand information against IRS EIN databases, DUNS registrations, state business filings, and domain registration data. Mismatches between any of these sources reduce trust scores and trigger manual review.
Procedure:
- Navigate to the Brand Consistency Checker tool
- Enter the following fields exactly as they appear on your IRS EIN confirmation letter: legal business name (not DBA), Employer Identification Number, business address
- Enter your primary business domain (the domain you will list in brand registration)
- Submit for analysis
Interpreting Results:
The tool checks alignment across four dimensions: EIN-to-name match, name-to-domain match, address consistency, and online presence score.
Required Score: Achieve a consistency score of 80 or above before proceeding. Scores below 80 indicate specific mismatches that will reduce your TCR trust score.
Common Issues and Resolutions:
| Issue | Cause | Resolution |
|---|---|---|
| EIN mismatch | Using trade name instead of legal entity name | Use exact name from IRS EIN letter |
| Domain mismatch | Domain registered to different entity or individual | Update WHOIS registrant to match legal entity |
| Address variance | Suite/unit formatting differences | Standardize to USPS address format |
| Low online presence | New business or sparse reviews | Build Google Business Profile and request reviews |
5.3 Step 1.2 — Run the Trust Score Preflight Simulator
Tool: Trust Score Preflight Simulator | URL: mytcrplus.com/home/tcr-tools/tcr-trust-score-preflight-simulator/
Purpose: Predict your likely TCR trust score before submission. The simulator identifies specific factors depressing your score and provides optimization actions.
Scoring Dimensions (15 assessment inputs across 5 dimensions):
- Business Verification — 30 points maximum: DUNS status, business age, state registration, EIN verification
- Brand Reputation — 25 points maximum: Online review rating, review count, domain age, social media presence
- Messaging History — 20 points maximum: Prior 10DLC history, previous rejection history, complaint rate
- Use Case Alignment — 15 points maximum: Selected use case category, use case risk tier
- Documentation — 10 points maximum: Privacy policy, SMS terms page, opt-in form documentation
Score Interpretation:
| Simulated Score | Recommendation |
|---|---|
| 75–100 | Proceed to brand registration |
| 60–74 | Address top 2–3 improvement opportunities, then proceed |
| 40–59 | Complete all recommended actions before submitting — manual review risk is high |
| Below 40 | Do not submit until score improves — high rejection probability |
High-Impact Improvement: Obtaining a DUNS number before registration adds an estimated 10–15 trust score points. DUNS numbers are free through Dun & Bradstreet (dnb.com/duns-number/get-a-duns.html) and typically process within 1–5 business days.
5.4 Step 1.3 — Gather Required Documentation
Business Identity Documents:
- IRS EIN confirmation letter (CP 575 or 147C letter)
- State Certificate of Formation or Articles of Incorporation
- DUNS number (if obtained)
- Primary business address documentation
Brand Registration Fields — Prepare Exact Values:
| Field | Source | Notes |
|---|---|---|
| Legal company name | IRS EIN letter | Exact match required — no abbreviations |
| EIN | IRS EIN letter | Format: XX-XXXXXXX |
| Business address | IRS EIN letter | Must match IRS records exactly |
| Company type | State registration | LLC, Corporation, Sole Prop, etc. |
| Industry vertical | Your business category | Select from TCR dropdown list |
| Company website | Your domain | Must be accessible, HTTPS, in English |
| Stock ticker (if applicable) | Exchange listing | Required for publicly traded companies |
| DUNS (if applicable) | Dun & Bradstreet | Strongly recommended — improves trust score |
Website Requirements (verify before submission):
- Active HTTPS SSL certificate — no expired or self-signed certificates
- Accessible in English without authentication
- No "Coming Soon" or maintenance mode pages
- Privacy policy page with SMS-specific language
- Visible contact information
- Domain matches legal business name
Privacy Policy — Required SMS Language:
Your privacy policy must include a dedicated SMS program section. Required elements:
[Company Name] may send text messages to users who have opted in to receive SMS
communications. Message types include: [describe your message types].
Message frequency: [specify, e.g., "Up to 4 messages per month"]
Message and data rates may apply.
To opt out, reply STOP to any message.
For help, reply HELP or contact [support contact].
We do not share your mobile number with third parties for marketing purposes.
[Link to full Terms of Service]
5.5 Step 1.4 — Select Your Use Case Category
Tool: TCR Use Case Selector | URL: mytcrplus.com/home/tcr-tools/use-case-selector/
Purpose: Selecting an incorrect or misaligned use case is a primary rejection cause (Error 2003, 2005). This interactive tool guides you to the optimal TCR use case category for your specific messaging program.
TCR Use Case Categories and Monthly Fees (via Twilio):
| Use Case | Monthly Fee | Risk Level | Common Applications |
|---|---|---|---|
| 2FA (Two-Factor Authentication) | $10 | Low | Login codes, verification |
| Account Notifications | $10 | Low | Balance alerts, account changes |
| Customer Care | $10 | Low | Support responses, help replies |
| Delivery Notifications | $10 | Low | Shipping updates, tracking |
| Higher Education | $10 | Low | Campus communications |
| Low Volume Mixed | $10 | Low | Combined use, 6,000 msg/day max |
| Marketing | $10 | Medium | Promotions, offers |
| Mixed | $15 | Medium | Multiple use types |
| Polling & Voting | $10 | Medium | Surveys, feedback |
| Public Service Announcement | $10 | Low | Community alerts |
| Charity | $10 | Low | Nonprofit fundraising |
5.6 Step 1.5 — Validate Sample Messages
Tool: SMS Message Validator | URL: mytcrplus.com/home/tcr-tools/tcr-sms-validator-tool/
Purpose: TCR requires 2–5 sample messages per campaign. Message-level rejection errors (9106, 602, 506) are among the most common TCR rejection causes and are entirely preventable through pre-submission validation.
Validation Checks Performed (12 dimensions):
- Brand identification — business name present
- Opt-out language — STOP instruction present
- Prohibited content detection — SHAFT categories
- URL shortener detection — bit.ly, tinyurl, etc. (carrier-blocked)
- Message length compliance
- Use case alignment
- Consent language presence where applicable
- Carrier keyword conflicts
- Phishing pattern detection
- Message and data rates disclosure
Required Outcome: All sample messages must score 85 or above before submission.
Sample Message Structure — Best Practice:
[Brand Name]: [Message content]. Reply STOP to unsubscribe. Msg & data rates may apply.
Example — Account Notification:
Acme Corp: Your account balance is $1,247.00 as of today.
Visit acme.com/account for details. Reply STOP to unsubscribe.
Msg & data rates may apply.
Elements Never to Include in Sample Messages:
- URL shorteners (bit.ly, tinyurl, goo.gl, t.co, etc.)
- Emotionally manipulative urgency language ("Act now or lose")
- Deceptive sender identification
- SHAFT category content in any form
- Requests for sensitive personal information via SMS
- Unverifiable claims about prizes, sweepstakes, or guaranteed outcomes
6. Phase 2 — Brand Registration
6.1 Objective
Submit your verified brand identity to TCR through Twilio TrustHub. Complete Phase 1 in full before starting Phase 2.
6.2 Step 2.1 — Access Twilio TrustHub
- Log in to the Twilio Console at console.twilio.com
- Navigate to: Phone Numbers → Regulatory Compliance → Bundles OR Messaging → A2P Messaging → Register a Brand
- Select Create a new Bundle or Register a Brand
6.3 Step 2.2 — Create a Customer Profile
A Customer Profile in Twilio stores your business identity and is reused across all brand and campaign registrations on your account.
- In TrustHub, select Customer Profiles → Create a new Customer Profile
- Select Business as the profile type (not Individual)
- Complete the Business Information form with the following fields:
| Field | Entry | Notes |
|---|---|---|
| Business Name | [Exact legal name from EIN letter] | No DBAs, abbreviations, or trade names |
| Business Type | LLC / Corporation / Partnership / Sole Proprietor | Match state registration |
| Business Registration Identifier | EIN: XX-XXXXXXX | Enter without dashes in some fields |
| Business Industry | [Your industry vertical] | Select closest match from dropdown |
| Business Regions of Operation | USA | Select United States |
| Website URL | https://yourdomain.com | Must be HTTPS and accessible |
- Complete the Authorized Representative section: First/last name of business officer, title, email, phone
- Select Save and Continue
6.4 Step 2.3 — Submit Brand Registration
- Navigate to Messaging → A2P Messaging → Brands
- Select Create Brand
- Link to your Customer Profile
- Complete the Brand registration form with legal name, company type, tax number, website, vertical, DUNS
- Select Submit Brand
Brand Status States:
| Status | Meaning | Action Required |
|---|---|---|
| PENDING | Submitted, awaiting TCR review | Wait 1–3 business days |
| VERIFIED | Approved with trust score assigned | Proceed to Campaign registration |
| FAILED | Rejected — specific reason provided | See Phase 1 Brand Remediation |
| UNVERIFIED | Submitted but trust score not assigned | Contact Twilio support |
6.5 Step 2.4 — Record Your Trust Score
Once brand status changes to VERIFIED, navigate to Messaging → A2P Messaging → Brands → [Your Brand] and note the Trust Score and Throughput Class assigned.
If trust score is below 50: Consider obtaining a DUNS number, waiting for domain age to increase, building online review presence, or starting with a low-risk use case (2FA or Account Notifications) before registering higher-risk campaigns.
7. Phase 3 — Campaign Registration
7.1 Objective
Register your specific messaging use case under the verified brand. Each distinct message type or program requires a separate campaign registration.
7.2 Step 3.1 — Determine Number of Campaigns Required
Carriers reject campaigns that combine dissimilar message types. The following combinations require separate campaigns:
- Marketing messages + Transactional notifications = 2 separate campaigns
- Customer service responses + 2FA codes = 2 separate campaigns
- Internal employee communications + external customer messaging = 2 separate campaigns
"Low Volume Mixed" use case allows combined transactional and promotional messaging under 6,000 messages per day and is appropriate for small businesses only.
7.3 Step 3.2 — Create Campaign in Twilio Console
- Navigate to Messaging → A2P Messaging → Campaigns
- Select Create Campaign
- Select your verified Brand
- Complete the Campaign registration form
Campaign Description — Required Formula:
[Brand Name] sends [specific message type(s)] to [audience description] who have
[consent method] to receive [purpose of communication]. Messages include
[content description, e.g., order confirmations, account alerts, promotional offers].
Example — Account Notifications:
Acme Financial sends account balance alerts and transaction notifications to customers
who have opted in via website form to receive account management communications.
Messages include balance updates, unusual activity alerts, and payment confirmations.
Campaign Attributes — Required Values:
| Field | Value | Notes |
|---|---|---|
| Subscriber Opt-In | Yes | Must be Yes — implied consent not accepted |
| Subscriber Opt-Out | Yes | Must be Yes — STOP processing required |
| Subscriber Help | Yes | Must be Yes — HELP response required |
| Number Pooling | Yes/No | Yes if using multiple numbers |
| Embedded Link | Yes/No | Yes if messages contain URLs |
| Embedded Phone Number | Yes/No | Yes if messages contain phone numbers |
| Age-Gated Content | No (unless applicable) | Answer accurately |
Opt-In Consent Language — Required Format:
By [checking this box / texting JOIN / signing this form], you consent to receive
[message types] from [Brand Name]. Message frequency: [frequency].
Message and data rates may apply. Reply STOP to opt out.
Reply HELP for help. View privacy policy at [URL].
7.4 Step 3.3 — Monitor Campaign Status
| Status | Description | Typical Duration |
|---|---|---|
| PENDING | Submitted to TCR | 0–24 hours |
| IN_REVIEW | TCR actively reviewing | 2–5 business days |
| APPROVED | TCR approved — proceed to Messaging Service setup | Proceed immediately |
| FAILED | Rejected — view rejection reason in Twilio Console | See Phase 12 |
| SUSPENDED | Campaign suspended post-approval | See Phase 13 |
TCR approval propagates to individual carriers (AT&T, T-Mobile, Verizon) separately. All three must show APPROVED status before the campaign can send to all U.S. subscribers. Check per-carrier status in the campaign detail view within Twilio Console.
8. Phase 4 — Messaging Service Configuration in Twilio
8.1 Objective
Create and configure a Twilio Messaging Service that links your approved campaign to phone numbers that will send messages.
8.2 Step 4.1 — Create a Messaging Service
- Navigate to Messaging → Services
- Select Create Messaging Service
- Enter a descriptive internal name (e.g., "Acme Marketing Campaign Q1 2025")
- Select "Send messages" for the use purpose
- Select Create Messaging Service
8.3 Step 4.2 — Link Campaign to Messaging Service
- Navigate to Messaging → Services → [Your Messaging Service]
- Select the A2P Campaign tab (or Compliance tab depending on Console version)
- Select your approved campaign from the dropdown
- Select Save
Only APPROVED campaigns appear in the dropdown. If your campaign is still PENDING or IN_REVIEW, the dropdown will be empty.
8.4 Step 4.3 — Configure Messaging Service Settings
Recommended Sender Pool Settings:
| Setting | Recommended Value | Rationale |
|---|---|---|
| Sticky Sender | Enabled | Ensures same number contacts same recipient |
| Smart Encoding | Enabled | Converts special characters to prevent delivery failures |
| Validity Period | 14400 (4 hours) | Messages not delivered within window are abandoned |
| Status Callback | [Your webhook URL] | Receives per-message delivery status |
STOP Processing — Critical Requirement:
Configure your application to process the following inbound keywords within 5 seconds of receipt:
- STOP (and variants: UNSUBSCRIBE, QUIT, CANCEL, END, STOPALL) → Immediately add to suppression list, send confirmation, never send again without new documented consent
- HELP → Send support contact information
- START (and variants: YES, SUBSCRIBE, UNSTOP) → Re-add to active list if previously opted out
TCPA requires honoring opt-out requests within 10 business days. Carriers require STOP processing within seconds. Both standards apply simultaneously.
9. Phase 5 — Phone Number Assignment and Activation
9.1 Step 5.1 — Provision Phone Numbers
- Navigate to Phone Numbers → Manage → Buy a Number
- Set filters: Country — United States, Number Type — Local, Capabilities — SMS
- Search for numbers in your desired area code
- Select and purchase numbers
T-Mobile enforces a maximum of 49 phone numbers per campaign. Plan your number inventory accordingly.
Throughput Calculation:
Required throughput = Messages per day ÷ Sending window (hours) ÷ 60 = Messages per minute needed
Capacity = Trust score throughput class × Number of phone numbers
Example: 100,000 msgs/day, 8-hour window = ~208 msg/min needed
At trust score 75 (4,500 msg/min per number): 1 number is sufficient
9.2 Step 5.2 — Add Numbers to Messaging Service
- Navigate to Messaging → Services → [Your Messaging Service]
- Select the Sender Pool tab
- Select Add Senders → Phone Number
- Select each phone number to add from your inventory
- Select Add Phone Numbers
Carrier Activation Timelines After Number Assignment:
- AT&T: Near-immediate activation
- T-Mobile: 24–72 hours
- Verizon: 24–48 hours
Numbers are not active for sending until carrier-side activation completes. Sending before activation results in messages being filtered or blocked without error notification.
9.3 Step 5.3 — Verify Number Registration Status
- Navigate to Phone Numbers → Manage → Active Numbers
- Select a phone number
- Scroll to A2P Registration section
- Verify campaign is linked and carrier registration status shows REGISTERED for AT&T, T-Mobile, Verizon
If any carrier shows UNREGISTERED after 72 hours, contact Twilio Support with your Account SID, phone number in E.164 format, Campaign SID, and timestamp of campaign approval.
10. Phase 6 — Pre-Launch Compliance Validation
10.1 Step 6.1 — Run the Twilio Provider Checklist
Tool: Provider Checklist — Twilio | URL: mytcrplus.com/home/tcr-tools/provider-specific-checklists/
Category 1 — Account Configuration:
- [ ] Twilio account in good standing (no billing holds)
- [ ] Customer Profile status: VERIFIED
- [ ] Brand status: VERIFIED with Trust Score recorded
- [ ] Campaign status: APPROVED for all target carriers
- [ ] Messaging Service created and linked to approved campaign
Category 2 — Number Configuration:
- [ ] All numbers added to Messaging Service Sender Pool
- [ ] Number count within T-Mobile 49-number limit per campaign
- [ ] All numbers show REGISTERED status for AT&T, T-Mobile, Verizon
- [ ] Sticky Sender enabled in Messaging Service settings
Category 3 — Inbound Message Handling:
- [ ] STOP keyword processing webhook configured and tested
- [ ] HELP keyword response configured and tested
- [ ] Suppression list integration active
- [ ] STOP confirmation message template configured
Category 4 — Message Content:
- [ ] All message templates contain brand name
- [ ] All message templates contain opt-out language
- [ ] No URL shorteners in any message templates
- [ ] All URLs use HTTPS
- [ ] Message length within 160 characters or properly segmented
Category 5 — Consent and Records:
- [ ] Consent collection process operational
- [ ] Consent records include timestamp, IP address, consent language version
- [ ] Consent records storage configured for 4+ year retention
- [ ] Opt-out list integration confirmed functional
10.2 Step 6.2 — Send Test Messages
- Add your own phone number (personal mobile) to a test list
- Ensure your test phone number has a consent record in your system
- Send one test message per template through your application
- Verify receipt on your mobile device
- Verify delivery status in Twilio Console → Messaging → Logs → Messages
- Reply STOP to your own test messages and verify suppression in your application
Delivery Status Codes:
| Status | Meaning | Action |
|---|---|---|
| delivered | Message received by carrier and device | No action needed |
| sent | Message sent to carrier — awaiting delivery confirmation | Wait 2–5 minutes |
| failed | Message not delivered | Check error code in Twilio Console |
| undelivered | Carrier rejected message | Check 30XXX error code |
11. Phase 7 — Ongoing Campaign Administration
11.1 Message Content Consistency — Campaign Drift Prevention
T-Mobile (effective January 2024) issues fines of $500–$10,000 for campaign drift — defined as sending messages that materially differ from registered sample messages in content type, use case, or prohibited content.
Monthly Content Audit Procedure:
- Export current message templates from your application
- Run each template through the SMS Message Validator
- Compare template use case against the registered campaign use case
- Flag any templates that introduce new content categories, new URL domains, or deviate from declared message frequency
- If templates have materially changed: update campaign registration in Twilio before continuing to send
11.2 Consent Record Auditing — Quarterly
- Pull a sample of 100 subscriber records from your send list
- For each subscriber, verify consent record exists containing: timestamp with timezone, opt-in source, IP address, exact consent language version, affirmative action recorded
- Verify consent record age — records older than 4 years require documented re-consent
- Audit suppression list — verify all STOP requests appear within 60 seconds of receipt
11.3 Carrier Policy Monitoring
Tool: Carrier Policy Updates | URL: mytcrplus.com/home/tcr-resources/carrier-policy-updates/
Subscribe to the MyTCRPlus Carrier Policy Updates feed and review monthly for new content restrictions, throughput adjustment announcements, fee structure changes, and updated enforcement actions.
11.4 Campaign Renewal and Dormancy Management
Twilio campaigns have a 3-month minimum commitment. After the commitment period, campaigns renew monthly. T-Mobile charges $250/month for dormant campaigns — campaigns with assigned numbers but no message traffic within a 60-day window.
Monthly Campaign Audit Procedure:
- Navigate to Messaging → A2P Messaging → Campaigns
- For each campaign, check last 60 days of message volume in Messaging → Logs → Messages
- If a campaign has zero traffic for 60 days: either resume sending within 30 days, or remove all phone numbers and submit a campaign deactivation request
Campaign Deactivation Procedure:
- Remove all phone numbers from the campaign's Messaging Service
- Navigate to Messaging → A2P Messaging → Campaigns → [Campaign]
- Select Deactivate Campaign
- Confirm deactivation
Monthly billing stops 30 days after deactivation. Phone numbers removed from the campaign remain in your inventory and can be reassigned to another campaign.
12. Handling Rejections and Resubmissions
12.1 Overview
TCR rejection rates for first-time submissions industry-wide exceed 40%. When rejection occurs, the $40 resubmission fee applies per attempt. Systematic remediation is required before resubmitting.
12.2 Step 12.1 — Identify the Rejection Code
- Navigate to Messaging → A2P Messaging → Campaigns → [Campaign]
- Note status as FAILED
- Click View Details or check Status History tab
- Record rejection code(s) displayed — multiple codes may appear simultaneously
If Twilio Console does not display a specific code, contact Twilio Support with your Campaign SID to request the raw TCR rejection response.
12.3 Step 12.2 — Look Up Remediation Path
Tool: Rejection Remediation Tool | URL: mytcrplus.com/home/tcr-tools/rejection-remediation-tool/
- Navigate to the Rejection Remediation Tool
- Enter your rejection code(s)
- Select your use case category
- Review the root cause explanation, step-by-step remediation procedure, required documentation changes, and estimated resubmission success rate
12.4 Critical Error Code Quick Reference
| Error Code | Description | Primary Remediation Action |
|---|---|---|
| 9106 | Opt-out language missing from samples | Add "Reply STOP to unsubscribe" to end of all sample messages |
| 9107 | Screenshot of opt-in consent language required | Provide screenshot of complete opt-in form via Twilio Support |
| 9607 | Consent verification failure | Provide full opt-in documentation package with screenshots and verbatim consent text |
| 9108 | Privacy policy non-compliant | Add SMS-specific section to privacy policy |
| 2002 | Campaign description unclear | Rewrite using: "[Brand] sends [type] to [audience] who have [opted in via method]" |
| 2003 | Description does not match use case | Align description and use case, or change use case to match description |
| 2005 | Undeclared use case in samples | Remove off-use-case samples or register separate campaign |
| 1003 | Website inaccessible | Fix HTTPS, remove authentication gates, disable maintenance mode |
| 2101 | Marketing missing written consent | Implement unchecked checkbox opt-in with full consent disclosure |
| VETTING_REQUIRED | Manual vetting required | Obtain DUNS, submit IRS filing, state license, bank statements |
| PROHIBITED_CONTENT | Prohibited content in samples | Remove all SHAFT and extended restricted category references |
12.5 Step 12.3 — Pre-Resubmission Validation Checklist
Complete all remediation before resubmitting. Fixing one code and resubmitting with remaining issues outstanding results in a second rejection and another $40 fee.
- [ ] All identified rejection code issues resolved
- [ ] Sample messages re-validated through SMS Message Validator (score 85+)
- [ ] Campaign description reviewed for clarity and use case alignment
- [ ] Opt-in URL confirmed accessible via HTTPS
- [ ] Privacy policy updated with SMS-specific language
- [ ] Brand Consistency Checker re-run (score 80+)
12.6 Step 12.4 — Submit Campaign Resubmission
- Navigate to the FAILED campaign in Twilio Console
- Select Edit Campaign
- Update all fields with corrected information
- Verify all sample messages are updated and re-validated
- Select Resubmit Campaign
Twilio charges the $40 resubmission fee upon submission. Resubmission processing time is the same as initial submission: 2–10 business days.
13. Campaign Suspension Recovery
13.1 Understanding Suspensions
Post-approval suspensions (Error 30033 in Twilio) are more serious than pre-approval rejections. Suspended campaigns cannot send messages, cannot be deleted until resolution, and continue to incur monthly billing charges.
13.2 Common Suspension Triggers
- Campaign drift: Messages materially different from registered samples
- Subscriber complaint rate exceeding carrier thresholds
- Prohibited content detected in live messages
- STOP requests not honored within carrier-required timeframe
- Volume spikes inconsistent with registered message frequency
- TCPA legal demand received and escalated to carrier
13.3 Suspension Recovery Procedure
Step 1 — Immediately halt all sends through the suspended campaign.
Do not attempt to route through alternative numbers or work around the suspension. Workarounds risk account-level enforcement.
Step 2 — Identify the suspension reason.
Navigate to Messaging → A2P Messaging → Campaigns → [Campaign] → Status History. If no specific reason is shown, contact Twilio Support with your Campaign SID.
Step 3 — Diagnose root cause using Rejection Remediation Tool.
Step 4 — Implement all remediation actions:
- Remove prohibited content from all templates
- Implement or repair opt-out processing
- Reduce message frequency if exceeding declared frequency
- Update privacy policy if consent-related
- Document all corrective actions taken
Step 5 — Request reinstatement through Twilio Support.
Submit a support ticket with: Account SID, Campaign SID, description of suspension cause, and documentation of corrective actions. Resolution timeline: 5–15 business days.
14. Carrier-Specific Requirements Matrix
14.1 T-Mobile Requirements
| Requirement | Specification |
|---|---|
| DUNS number | Strongly recommended — required for certain use cases |
| Number limit per campaign | 49 numbers maximum |
| Dormancy fee | $250/month for campaigns with no traffic in 60-day window |
| Prohibited content | Cannabis/CBD (no exceptions), payday loans, debt relief |
| Campaign drift fines | $500–$10,000 per Severity-0 violation (effective Jan 2024) |
| STOP processing | Required within seconds |
14.2 AT&T Requirements
| Requirement | Specification |
|---|---|
| Brand registration | Mandatory via TCR |
| Prohibited content | Cannabis/CBD/hemp, get-rich-quick, crypto/NFT (elevated scrutiny) |
| Content filtering | Real-time ML-based spam detection |
| Enforcement progression | Warning → throttling → suspension → permanent blocklist |
| URL requirements | No public URL shorteners; HTTPS required |
14.3 Verizon Requirements
| Requirement | Specification |
|---|---|
| Brand registration | EIN/Tax ID verification required |
| Throughput | Tied to trust score + use case |
| Prohibited content | Cannabis/CBD, debt collection/credit repair (heightened scrutiny) |
| Behavioral monitoring | Volume spike detection, keyword stuffing detection, complaint monitoring |
| TCPA escalation | Immediate suspension upon receipt of TCPA legal demand |
15. TCR Error Code Reference
15.1 Brand Registration Errors
| Code | Description | Primary Remediation |
|---|---|---|
| BRAND_VERIFICATION_FAILED | EIN or entity name mismatch | Verify exact match to IRS EIN letter |
| VETTING_REQUIRED | Insufficient trust signals | Obtain DUNS, build online presence |
| DUPLICATE_BRAND | Brand already registered | Check for existing brand record |
| INVALID_EIN | EIN format or verification failure | Re-enter EIN in exact IRS format |
15.2 Campaign Registration Errors
| Code | Description | Primary Remediation |
|---|---|---|
| 9106 | Opt-out language missing from samples | Add STOP instruction to all samples |
| 9107 | Screenshot of consent language required | Provide opt-in form screenshot |
| 9108 | Privacy policy non-compliant | Add SMS section to privacy policy |
| 9607 | Consent verification failure | Provide complete consent documentation |
| 2001 | Duplicate registration | Deactivate existing or update existing campaign |
| 2002 | Description unclear | Rewrite using required formula |
| 2003 | Description mismatches use case | Align description and use case |
| 2004 | Description mismatches samples | Align description and sample content |
| 2005 | Undeclared use case in samples | Remove or re-register with additional use case |
| 2006 | Brand name mismatch in samples | Reference registered brand name in samples |
| 1003 | Website inaccessible | Fix HTTPS, remove authentication, disable maintenance mode |
| 1101 | URL domain mismatch | Use domain matching legal entity name |
| 1103 | SSL certificate failed | Install valid SSL certificate |
| 506 | Content not in English | Add English translation alongside other language |
| 602 | Use case mismatches samples | Align samples with declared use case |
| 701 | Prohibited content (Cannabis/CBD) | Remove all cannabis/CBD references |
| 851 | Privacy policy disclosure missing | Add required SMS policy disclosures |
| 2100 | No opt-in method provided | Add explicit opt-in method documentation |
| 2101 | Marketing missing written consent | Implement documented express written consent |
| PROHIBITED_CONTENT | Restricted content in samples | Remove all prohibited category references |
16. Consent Management Standards
16.1 Express Written Consent — Required Elements
- Unambiguous disclosure that subscriber is consenting to receive automated text messages
- Identification of the sending brand by name
- Description of message types to be received
- Message frequency disclosure (e.g., "Up to 4 messages per month")
- "Message and data rates may apply" disclosure
- Clear opt-out mechanism disclosure ("Reply STOP to unsubscribe")
- Affirmative action by the subscriber — checkbox must be unchecked by default
- Statement that consent is not required as a condition of any purchase or service
16.2 Compliant Opt-In Form Language
[ ] By checking this box, I consent to receive text messages from
[Brand Name] at the phone number provided. Messages include
[message types]. Message frequency: up to [X] messages per month.
Message and data rates may apply. Reply STOP to unsubscribe,
HELP for help. View Privacy Policy at [URL] and Terms at [URL].
Consent is not required as a condition of any purchase.
16.3 Consent Record Structure
| Field | Format | Example |
|---|---|---|
| Phone number | E.164 | +12025551234 |
| Opt-in timestamp | ISO 8601 with timezone | 2025-03-15T14:32:07-05:00 |
| Opt-in source | String | "web_form:checkout_page" |
| IP address | IPv4 or IPv6 | 192.168.1.1 |
| Consent language version | String | "v3.2_2025-01-01" |
| Consent language text | Full text | [Complete disclosure text] |
| Double opt-in confirmed | Boolean | true / false |
| Opt-out timestamp | ISO 8601 or null | null (still active) |
16.4 Required Keyword Responses
STOP (and variants: UNSUBSCRIBE, QUIT, CANCEL, END):
[Brand Name]: You have been unsubscribed and will receive no further messages.
Contact [support contact] for assistance.
HELP:
[Brand Name]: For assistance, contact [support email] or call [phone].
Reply STOP to unsubscribe. Msg & data rates may apply.
START (and variants: YES, SUBSCRIBE, UNSTOP):
[Brand Name]: You have been re-subscribed. You will receive [message type]
from [Brand Name]. Reply STOP to unsubscribe. Msg & data rates may apply.
17. Troubleshooting Decision Trees
17.1 Messages Not Delivering
Step 1: Check Twilio Console → Messaging → Logs → Messages and note the message status.
"failed" status: Note the error code. 30033 = campaign suspended (see Section 13). 30034 = number not registered to campaign (add number to Messaging Service Sender Pool). Other 30XXX codes = carrier-level block; check mytcrplus.com/fix/[error-code].
"undelivered" status: Check if recipient is on suppression list. Verify carrier approval status — all three carriers (AT&T, T-Mobile, Verizon) must show APPROVED. Verify recipient is not a landline or VoIP number.
"sent" but no delivery confirmation after 10 minutes: Recipient phone may be off or out of coverage. Check Validity Period setting in Messaging Service.
Step 2: Check campaign status. APPROVED = proceed to number-level checks. PENDING = wait for approval before sending. SUSPENDED = follow Section 13 suspension recovery.
17.2 Campaign Registration Stuck in PENDING
If campaign has been PENDING for more than 5 business days:
- Check brand status first. Brand must be VERIFIED before campaign review begins.
- If brand is VERIFIED and campaign has been PENDING for 7+ days: note Campaign SID and contact Twilio Support requesting TCR status escalation.
- If no resolution within 48 hours: request Twilio to resubmit campaign to TCR.
17.3 Trust Score Unexpectedly Low
- Verify submitted EIN exactly matches IRS EIN letter (character-for-character)
- Verify legal entity name exactly matches IRS records — no abbreviations
- Check if DUNS number was included in brand registration. If not: obtain DUNS and contact Twilio to update brand registration.
- Check domain age. Domain under 6 months is a significant negative trust signal.
- Search "[business name] reviews" — negative reviews reduce trust score.
- If all above verified and score still low: contact Twilio Support to request TCR manual score review with supporting documentation.
18. Glossary
| Term | Definition |
|---|---|
| 10DLC | 10-Digit Long Code — standard local phone number format required for A2P business messaging |
| A2P | Application-to-Person — automated messages sent from business applications to consumer devices |
| Brand Registration | First phase of TCR process establishing verified business identity |
| Campaign Registration | Second phase defining specific messaging use cases under a verified brand |
| CNP | Connectivity Network Provider — entity connecting CSPs to carrier networks |
| CSP | Campaign Service Provider — messaging platform (Twilio) facilitating TCR registration and carrier connectivity |
| CTIA | Cellular Telecommunications Industry Association — trade body setting mobile messaging best practices |
| DUNS | Data Universal Numbering System identifier from Dun & Bradstreet verifying business legitimacy |
| EIN | Employer Identification Number — IRS-assigned business tax identification number (XX-XXXXXXX) |
| Messaging Service | Twilio resource linking an approved campaign to phone numbers |
| MNO | Mobile Network Operator — cellular carrier (AT&T, T-Mobile, Verizon) |
| SHAFT | Prohibited content categories: Sex, Hate, Alcohol, Firearms, Tobacco |
| Suppression List | Database of phone numbers that have opted out — must never receive further messages |
| TCR | The Campaign Registry — centralized authority managing 10DLC brand vetting and campaign approval |
| TCPA | Telephone Consumer Protection Act — federal law requiring express written consent for automated messaging |
| TrustHub | Twilio's compliance management system for A2P registrations |
| Trust Score | TCR-assigned rating (0–100) determining throughput limits and approval speed |
19. Legal Disclaimer
This document provides general procedural guidance for 10DLC registration and A2P messaging compliance using Twilio and MyTCRPlus.com tools. It does not constitute legal advice. Compliance requirements vary based on business model, use case category, message content, and recipient jurisdiction. Organizations should consult qualified legal counsel for guidance specific to their messaging programs.
MyTCRPlus.com is designed to help customers achieve 10DLC compliance and carrier policy adherence. Final carrier approval is subject to The Campaign Registry (TCR) review and use case specifics. Campaign throughput limits and trust scores are determined by TCR based on brand verification and reputation signals outside MyTCRPlus.com's control. Customers remain responsible for obtaining appropriate legal counsel regarding TCPA compliance and consent management requirements.
Twilio fees, platform requirements, and API specifications referenced in this document are accurate as of February 2025 and subject to change. Verify current Twilio pricing and requirements at help.twilio.com and console.twilio.com before initiating registration.
MyTCRPlus.com | Native Chaos Holdings LLC | Henderson, Nevada | Document Version 1.0 | February 2025