A2P 10DLC Best Practices
Complete guide to getting your A2P 10DLC campaign approved on the first attempt.
A2P 10DLC Best Practices
A comprehensive guide to avoiding campaign rejection and getting approved quickly.
What is A2P 10DLC?
A2P 10DLC (Application-to-Person 10-Digit Long Code) is a system that allows businesses to send SMS messages through standard 10-digit phone numbers. All US business texting requires A2P registration through The Campaign Registry (TCR).
Why it matters: Unregistered numbers face message filtering, low delivery rates, and potential number suspension.
Brand Registration
Sole Proprietor
- Simple verification with your mobile number
- Twilio sends an OTP SMS; reply "YES" to verify
- Lower daily message limits (~1,000/day)
- Best for freelancers and small businesses without an EIN
Standard Business
- Requires EIN (Employer Identification Number)
- Higher daily message limits (~10,000+/day)
- Better delivery rates and trust score
- Requires authorized representative information
Tip: If you have an EIN, always choose Standard Business for better throughput.
Campaign Registration Requirements
Campaign Description
- Describe the purpose of your messaging
- Mention that consumers opt in through your website
- Reference your company by name
- Describe responding to consumer inquiries
Avoid these words: cold, purchased list, cold text, unsolicited, bought leads, scraped, data broker, mass text, blast, outreach, prospecting
Message Flow (Call to Action) - Most Important Field
This is the #1 rejection reason (Error 30909). Your message flow MUST include ALL of these disclosures:
- Brand name - Your company name
- How consumers opt in - Website form with SMS consent checkbox
- Message frequency - "Message frequency varies"
- Rates disclaimer - "Message and data rates may apply"
- Opt-out instructions - "Reply STOP to unsubscribe"
- Help instructions - "Reply HELP for help"
- Privacy Policy link - URL to your privacy policy
- Terms link - URL to your terms of service
Our wizard automatically builds this by combining your opt-in description with all required disclosures.
Sample Messages
- Provide 2-5 realistic message examples
- Include your company name in every sample
- End each with opt-out language (e.g., "Reply STOP to opt out")
- Show different message types you'll send
Help Message
- Must include your company name
- Provide contact info (email, website, or phone)
- Reference STOP for unsubscribing
- Include "Msg&Data rates may apply"
Privacy Policy Requirements
Your privacy policy page MUST contain:
- SMS/text messaging mention - Explicitly state you communicate via SMS
- Third-party data sharing prohibition - State that mobile/SMS opt-in data and phone numbers will NOT be shared with or sold to third parties for marketing purposes
- Data collection disclosure - What data you collect and why
- Opt-out instructions - How to stop receiving messages
This is the single biggest compliance requirement. TCR will check your privacy policy page. If the third-party sharing prohibition is missing, your campaign will be rejected.
Terms of Service Requirements
Your terms of service page must mention:
- SMS communications as part of the service
- How to opt out (STOP keyword)
- How to get help (HELP keyword)
- Message and data rates may apply
Common Rejection Reasons
Error 30909: CTA Verification Failed
Cause: Message flow missing required disclosures (privacy link, terms link, rates disclaimer, brand name, frequency)
Fix: Our wizard now automatically embeds all 5 mandatory disclosures into your message flow. Ensure you provide valid Privacy Policy and Terms URLs.
Privacy Policy Missing Third-Party Prohibition
Cause: Privacy policy doesn't explicitly state mobile data won't be shared
Fix: Add this language to your privacy policy: "We will not share or sell your mobile phone number or SMS opt-in data with third parties for marketing purposes."
URLs Not Reachable
Cause: Privacy policy or terms URLs return errors
Fix: Ensure both pages are publicly accessible (not behind login). Our wizard validates URL reachability before submission.
Rejection Trigger Words
Cause: Campaign content contains words associated with spam
Fix: Remove words like "cold", "blast", "purchased list", "outreach" from all fields.
How Our Wizard Handles Compliance
| Requirement | How We Handle It |
|---|---|
| Brand name in message flow | Auto-prepended if missing |
| Frequency disclosure | Auto-appended: "Message frequency varies" |
| Rates disclaimer | Auto-appended: "Message and data rates may apply" |
| Privacy Policy link | Required field, embedded in message flow |
| Terms link | Required field, embedded in message flow |
| Opt-out instructions | Auto-appended: "Reply STOP to unsubscribe" |
| Help message with brand | Default includes org name |
| Opt-in message | Auto-generated with brand name |
| Opt-out confirmation | Auto-generated with brand name |
| URL validation | Checks reachability before submission |
| Rejection trigger words | Real-time detection with warnings |
| AI content generation | Optimized for TCR approval |
What to Do If Your Campaign Is Rejected
- Check the rejection reason - Shown on the A2P registration page
- Click "Retry Campaign" - Pre-fills your previous values for editing
- Fix the issue - Usually privacy policy content or message flow disclosures
- Resubmit - Twilio allows up to 3 free resubmissions
- Wait for review - Typically 2-3 weeks
FAQ
Q: How long does approval take? A: Brand verification is usually instant to a few days. Campaign review typically takes 2-3 weeks.
Q: Can I send SMS before approval? A: Messages sent without A2P registration face heavy filtering and may not be delivered.
Q: What's the daily message limit? A: Sole Proprietor: ~1,000/day. Standard Business: varies by trust score, typically 10,000+/day.
Q: Can I change my campaign after approval? A: You can update some fields, but major changes may require a new campaign submission.