Twilio A2P 10DLC Registration for Sending SMS

How to register your Twilio number for A2P 10DLC so client SMS messages actually get delivered. Required for all US business texting.

Why A2P Registration Is Required

US carriers (AT&T, T-Mobile, Verizon) now require A2P 10DLC registration for all business SMS sent from local 10-digit numbers. Without it:

Registration tells carriers who you are, what you're sending, and that recipients opted in. Once approved, your messages get higher throughput and reliable delivery.

Timeline: Brand approval takes minutes. Campaign approval currently takes 10–15 business days due to high volume. Start this early.

What You Need Before Starting

B3X context: For our "Book a Call SMS" plugin, the use case is: visitor submits a contact form on the client's website → they receive an SMS with a booking link. The opt-in happens when they submit the form.

Registration Overview

There are four steps, done in order inside the Twilio Console:

# Step What It Does Approval Time
1Customer ProfileVerifies the business identityInstant
2Brand RegistrationRegisters the business with The Campaign Registry (TCR)Minutes
3Campaign RegistrationDescribes what SMS you're sending and why10–15 days
4Phone Number AssignmentLinks your Twilio number to the approved campaignInstant
1

Create a Customer Profile (Trust Hub)

Log in to the Twilio Console and navigate to:

Console Path Messaging → Trust Hub → Customer Profiles → Create New Customer Profile

Or go directly to: console.twilio.com → Trust Hub

Fill in the business details:

FieldWhat to Enter
Business NameExact legal name from EIN letter (e.g., "GS Home Services LLC")
Business TypeCorporation, LLC, Partnership, or Sole Proprietorship
Business Registration IDSelect "EIN" for US businesses
EIN9-digit number (e.g., 12-3456789)
Business AddressStreet, City, State, ZIP
WebsiteClient's website URL
Business IndustrySelect the closest match (e.g., "Construction" for HVAC)
Authorized ContactName, email, and phone of someone at the business
Important: The business name and EIN must match exactly what the IRS has on file. Mismatches cause registration failures. If unsure, ask the client for their IRS CP 575 letter or EIN confirmation.

Submit the profile. It should be approved immediately or within minutes.

2

Register the Brand

Once your Customer Profile is approved, register the brand:

Console Path Messaging → Trust Hub → A2P Brand Registration → Register Brand

Select the Customer Profile you just created. Most fields auto-populate from it.

You'll be asked to verify via OTP (one-time passcode):

  1. Twilio sends a verification code to the authorized contact's mobile number
  2. The contact must reply with the code within 24 hours
  3. Brand registration completes after OTP verification
Tip: Give the client a heads up before submitting — tell them to expect a verification text and to reply promptly. If they miss the 24-hour window, you'll need to resubmit.

Brand approval is usually within minutes after OTP verification. You'll get an email and Console notification when it's done.

3

Register the Campaign

This is the most detailed step. After the brand is approved:

Console Path Messaging → Trust Hub → A2P Campaign Registration → Register Campaign

Fill in the campaign details:

Campaign Use Case

FieldWhat to Enter
Campaign Use CaseSelect "Low Volume Mixed" or "Customer Care"
Campaign DescriptionA thorough description — single words like "Marketing" will be rejected
Example Campaign Description (Book a Call SMS) When a potential customer submits a contact form on our website requesting HVAC service, we send them a single SMS with a direct link to book a service appointment. This is a one-time transactional message per form submission, not a marketing campaign. Messages are only sent to users who voluntarily provide their phone number via our website contact form.

Sample Messages

Provide two sample messages that reflect what you'll actually send. Messages must include:

Sample Message 1 Hi [Name]! Thanks for contacting GS Home Services. Book your HVAC appointment here: [BookingLink] - Reply STOP to opt out.
Sample Message 2 [Name], GS Home Services received your request. Schedule your service call at a time that works for you: [BookingLink] - Reply STOP to unsubscribe.

User Consent (Opt-In)

FieldWhat to Enter
Opt-In TypeWebsite form submission
Opt-In DescriptionSee example below
Opt-In KeywordsLeave blank (users don't text in to subscribe)
Opt-In MessageNot applicable — this is a one-time message, not a subscription
Opt-Out KeywordsSTOP, CANCEL, UNSUBSCRIBE
Privacy Policy URLThe client's privacy policy page
Example Opt-In Description Users opt in by voluntarily submitting a contact form on our website (https://www.gshomeservices.com/contact/). The form collects their name, phone number, and service request. By submitting the form, the user consents to receive a single SMS with a link to schedule their appointment. The form includes a privacy policy link and the website has a published privacy policy page.
Common rejection reasons:
• Vague campaign description ("We send texts to customers")
• Sample messages missing the business name or opt-out language
• No privacy policy URL provided
• Opt-in description doesn't explain how users consent

Submit and wait. Campaign review currently takes 10–15 business days. You'll get an email when it's approved or if changes are needed.

4

Assign Your Phone Number to the Campaign

After the campaign is approved, link your Twilio phone number:

Console Path Messaging → Trust Hub → A2P Campaign → [Your Campaign] → Add Phone Numbers
  1. You'll need a Messaging Service — if you don't have one, Twilio will create one during this step
  2. Click "Add Senders"
  3. Select your Twilio phone number (e.g., +14802072086 for GS Home)
  4. Confirm the assignment
Tip: If you're using the Book a Call SMS plugin, make sure the phone number you assign here is the same "From" number configured in the plugin settings (WP Admin → Book a Call SMS → Twilio From Number).

Once assigned, your number is fully registered. SMS sent from this number through the Messaging Service will be delivered as verified A2P traffic.

5

Update Your Code to Use the Messaging Service

After registration, Twilio recommends sending messages through the Messaging Service SID instead of just the phone number. This ensures messages route through your verified campaign.

In the Twilio Console, find your Messaging Service SID:

Console Path Messaging → Services → [Your Service] → Copy the SID (starts with "MG...")

For the Book a Call SMS plugin, the current code sends using the From number directly. If Twilio requires the Messaging Service SID, update the plugin settings or code to use it.

Note: For most setups, sending from the registered phone number still works fine after A2P approval. The Messaging Service SID is mainly needed if you have multiple numbers or want automatic number selection.
6

Verify Everything Is Working

After registration is complete:

  1. Go to Twilio Console → Messaging → Trust Hub and confirm all statuses show Approved
  2. Send a test SMS using the plugin's "Send Test SMS" button in WP Admin
  3. Check the Twilio Message Logs (Console → Monitor → Messaging) to confirm the message was delivered (status: "delivered", not "undelivered" or "failed")
  4. Submit a test form on the client's website and verify the SMS arrives
Tip: In the Twilio message logs, look for the messaging_service_sid field. If it's populated, your message went through the verified A2P pipeline.

A2P Registration Fees

Twilio charges the following for A2P 10DLC registration:

ItemCostFrequency
Brand Registration$4One-time
Brand Vetting (optional)$40One-time (for higher throughput)
Campaign RegistrationVaries by use caseOne-time + monthly
Low Volume Mixed$2/monthMonthly
Standard Campaigns$10/monthMonthly

Plus standard Twilio SMS rates (~$0.0079/message). These costs are per-client, so each client brand needs its own registration.

B3X Client Onboarding Checklist

Before starting A2P registration for a new client, collect these items:

#ItemExample
1Legal business nameGS Home Services LLC
2EIN12-3456789
3Business address123 Main St, Phoenix, AZ 85001
4Authorized contact nameJohn Smith
5Contact email[email protected]
6Contact mobile phone+16025551234 (for OTP verification)
7Website URLhttps://www.gshomeservices.com
8Privacy policy URLhttps://www.gshomeservices.com/privacy/
9Contact form URLhttps://www.gshomeservices.com/contact/
10Booking link URLCalendly, Cal.com, or Service Titan scheduler URL
Tip: Send this checklist to the client in advance. Most delays come from waiting for the EIN and authorized contact info.

Troubleshooting

ProblemSolution
Brand registration rejectedEIN or business name doesn't match IRS records. Verify with client's CP 575 letter.
Campaign rejectedRewrite the description to be more specific. Add privacy policy link. Include opt-out language in sample messages.
OTP verification expiredRe-submit the brand registration. Alert the client to respond within 24 hours this time.
Messages still filtered after approvalVerify the phone number is assigned to the campaign. Check that you're sending through the Messaging Service.
"Unregistered" error in Twilio logsThe phone number isn't linked to an approved campaign yet. Complete Step 4.
Low throughput / rate limitedConsider secondary brand vetting ($40) for higher message-per-second limits.

Twilio Reference Links