Documentation

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:

  1. Brand name - Your company name
  2. How consumers opt in - Website form with SMS consent checkbox
  3. Message frequency - "Message frequency varies"
  4. Rates disclaimer - "Message and data rates may apply"
  5. Opt-out instructions - "Reply STOP to unsubscribe"
  6. Help instructions - "Reply HELP for help"
  7. Privacy Policy link - URL to your privacy policy
  8. 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:

  1. SMS/text messaging mention - Explicitly state you communicate via SMS
  2. 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
  3. Data collection disclosure - What data you collect and why
  4. 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

RequirementHow We Handle It
Brand name in message flowAuto-prepended if missing
Frequency disclosureAuto-appended: "Message frequency varies"
Rates disclaimerAuto-appended: "Message and data rates may apply"
Privacy Policy linkRequired field, embedded in message flow
Terms linkRequired field, embedded in message flow
Opt-out instructionsAuto-appended: "Reply STOP to unsubscribe"
Help message with brandDefault includes org name
Opt-in messageAuto-generated with brand name
Opt-out confirmationAuto-generated with brand name
URL validationChecks reachability before submission
Rejection trigger wordsReal-time detection with warnings
AI content generationOptimized for TCR approval

What to Do If Your Campaign Is Rejected

  1. Check the rejection reason - Shown on the A2P registration page
  2. Click "Retry Campaign" - Pre-fills your previous values for editing
  3. Fix the issue - Usually privacy policy content or message flow disclosures
  4. Resubmit - Twilio allows up to 3 free resubmissions
  5. 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.