If your business texts customers from a regular 10-digit phone number, U.S. carriers want to know who you are first. That sign-up is called A2P 10DLC registration, and since September 1, 2023, texts from unregistered numbers on Twilio have been blocked outright.
This guide explains what it is in plain English, what it costs, how long it takes, and the mistakes that get small businesses rejected. We include our own rejection and what fixed it.
What is A2P 10DLC?
A2P means application-to-person: texts sent by a business system, not one person typing to a friend. 10DLC means 10-digit long code, which is just a normal local phone number like (512) 555-0142.
Put together, A2P 10DLC is the carriers' system for business texting from local numbers. A company called The Campaign Registry (TCR) keeps the list of approved businesses and what each one texts about.
Registered texts get through more reliably and can be sent faster. Unregistered ones get filtered or blocked.
Do you need to register for A2P 10DLC?
Yes, if you send texts to U.S. numbers from a local 10-digit business number through any app or service. That includes appointment reminders, missed call text back, booking links, review requests and two-way chat from a business inbox.
Twilio's help center puts it simply: "if you send SMS or MMS to U.S. phone numbers using long code numbers, you need to register for A2P 10DLC." Twilio started blocking every unregistered message on September 1, 2023.
You don't need it for texts typed on your personal cell phone, or for numbers that aren't local 10-digit numbers. Toll-free numbers go through a separate toll-free verification, and short codes like 55123 have their own approval.
How registration works: brand, then campaign
You can't register with The Campaign Registry yourself. Your texting provider, called a Campaign Service Provider, submits it for you.
There are two parts, and both have to be approved before your texts flow normally:
On Twilio, one brand can have up to five campaigns. Most small businesses only need one.
Sole proprietor vs standard brand
Which brand type you get depends on whether you have an EIN and how many texts you send a day.
| Sole proprietor | Low volume standard | Standard | |
|---|---|---|---|
| Who it's for | No EIN | Has an EIN, low volume | Has an EIN, higher volume |
| Texts per day (U.S.) | Up to 3,000 (1,000 to T-Mobile) | Up to 6,000 (2,000 to T-Mobile) | Up to 200,000 to T-Mobile, by trust score |
| Campaigns | 1 | Up to 5 | Up to 5 |
| Phone numbers | 1 | More than 1 | More than 1 |
| Speed | 1 message per second | 3.75 per second | Up to 225 per second |
Limits from Twilio's comparison of the three brand types, captured October 24, 2026. Other providers pass through the same carrier limits but may word them differently.
Sole proprietor is the simplest path, but it's tightly capped. Twilio's help center says these brands "are limited to 1 Campaign, 1 phone number per Campaign, and a throughput limit of 1 MPS."
It also needs a real mobile phone. You'll get a code by text and must reply within 24 hours, and the number can't come from an internet phone service.
If you have an EIN, you're not eligible for sole proprietor and register as a standard brand. Most small businesses with an EIN start as low volume standard.
How much does A2P 10DLC registration cost?
The Campaign Registry doesn't publish its fees, and the carriers don't either. Providers pass them through, so here are Twilio's published numbers as a benchmark.
| Fee | Sole proprietor | Low volume standard | Standard |
|---|---|---|---|
| Brand registration (one time) | $4.50 | $4.50 | $46 (includes $41.50 vetting) |
| Campaign vetting (one time, each try) | $15 | $15 | $15 |
| Campaign fee (monthly) | $2 | $1.50 to $10 | $1.50 to $10 |
| Typical first-year total | about $44 | about $38 to $140 | about $79 to $181 |
First-year totals are our math from Twilio's fees: brand fee, plus one $15 vetting, plus 12 months of the campaign fee. They don't include phone number rent or per-text charges.
The monthly campaign fee depends on the use case. On Twilio, a low volume mixed campaign is $1.50 a month, a standard campaign like customer care or marketing is $10, charities pay $3 and emergency services pay $5.
Two catches cost people the most. The $15 vetting fee is non-refundable and is charged again every time you resubmit after a rejection, and the brand fee is charged even if your brand never gets verified.
Fees also went up on August 1, 2025, so older guides may quote $4 and $44. The Campaign Registry raised brand registration to $4.50 and standard vetting to $41.50.
On top of that, carriers add a small surcharge to each text. On Twilio's U.S. pricing page it runs from $0.0035 to $0.005 per outbound text, depending on the carrier.
How long does A2P 10DLC approval take?
Plan on one to two weeks if everything is right the first time. Brand checks usually take minutes; campaign review is the slow part.
| Step | Typical time (Twilio) |
|---|---|
| Brand registration | A few minutes, up to 24 hours |
| Secondary vetting (standard brands) | Up to 7 days |
| Sole proprietor code | You must reply within 24 hours |
| Campaign review | 5 to 10 business days |
| Each rejection | Fix, resubmit, and the review starts again |
Even Twilio's own pages disagree on campaign timing. Its vetting FAQ says up to 5 business days, its overview says about 7, and a banner on the same overview says reviews "can take up to 10 business days" right now.
Rejections are what turn days into months. Every resubmission goes back into the queue, which is why getting it right the first time matters so much.
A2P 10DLC approval checklist
Most rejections come down to reviewers not being able to verify something. Fix these before you submit:
- Legal name and EIN match your IRS letter exactly, including "LLC" or "Inc." and punctuation.
- A working website on your own domain that matches the business name. No "coming soon" page, and no site that's only a booking link.
- A privacy policy on that site that says mobile numbers and opt-in data won't be shared or sold to third parties for marketing.
- Terms of service with an SMS section, on a public page, not behind a login. Don't point the terms field at your privacy policy.
- A public page that shows how people opt in, such as a web form with an unchecked consent box, or a page that explains "text us at this number."
- Consent wording that names your business, says what you'll text, the message frequency, "Msg & data rates may apply," and "Reply STOP to opt out, HELP for help."
- A campaign description that says who sends the texts, who gets them, and why.
- 2 to 5 sample messages that match your use case, include your business name, and mark variables in brackets like [first name].
- No public link shorteners like bit.ly in your samples, and a real support email, not a disposable one.
Here's consent wording you can adapt for a web form:
Sample opt-in checkbox (leave it unchecked)
"[ ] I agree to receive text messages from [Business Name] about my appointments and questions I send. Message frequency varies. Msg & data rates may apply. Reply STOP to opt out or HELP for help. See our [Privacy Policy] and [Terms]."
Common A2P 10DLC rejection reasons
Twilio publishes what each campaign rejection code means and what to fix, and it added more specific codes on September 15, 2026. These are the ones most relevant to a small business:
| Code | What it means | How to fix it |
|---|---|---|
| 30880 | Unknown error | Make your brand, website, opt-in, use case and samples all describe the same business. |
| 30881 | Invalid support email | Use a real email on your business domain. |
| 30882 | Terms and conditions | Publish terms with an SMS section on a public page. |
| 30886 | Vague campaign description | Say who sends, who receives, and why. |
| 30887 | Opt-out missing | Make your opt-in wording and message flow say how to opt out, such as replying STOP. |
| 30889 | Embedded phone number | If your texts include phone numbers, show them in your sample messages too. |
| 30891 | Website not working | Make sure the site loads publicly and matches your brand. |
| 30892 | Public link shortener | Use full links or a branded short domain. |
| 30893 | Samples don't match use case | Rewrite samples to fit the use case you picked. |
| 30883, 30884 | Content violation, spam or phishing | Can't be fixed by resubmitting. Contact your provider if you think it's wrong. |
Before you start over, read every error code on the rejection. Twilio warns that deleting and recreating a campaign "can have registration and billing consequences," and editing and resubmitting is often enough.
Our own campaign got rejected, too
When we registered Zinng's own customer care campaign in 2026, it came back rejected with error 30909. That code meant the reviewer couldn't verify our call to action, the proof of how people agree to get our texts.
Our opt-in was real: people text our public number first, or ask us on a call to text them a link. The problem was that nothing on our website said so, and we'd pointed the terms field at our privacy policy.
Here's what fixed it:
The campaign was approved after we resubmitted. The lesson: reviewers only approve what they can see on a public page.
What owners say about A2P 10DLC
Owners and developers on Reddit mostly complain about two things: waiting, and rejections that don't explain themselves. Most of these threads are from the 2023 and 2024 backlog, when waits were longest.
Repeat rejections also cost money, because every resubmission pays the vetting fee again:
The r/twilio moderators' pinned advice from January 2026 matches what worked for us:
Texting customers with Zinng
Most small businesses text for the same few reasons: confirming appointments, sending a booking link after a call, and texting back missed calls. Our appointment reminder templates cover the messages themselves.
Zinng answers your business line with an AI phone agent that can text callers a link during the call, and gives you a shared texting inbox for replies. We guide you through the 10DLC registration texting requires, using what we learned from our own.
Zinng starts at $49 a month for 300 minutes, with done-for-you setup and a 7-day free trial. You can hear a demo built from your own website in about a minute. Still choosing a number? See how to get a business phone number.
Sources
All pages were checked and captured on October 24, 2026. Fees are Twilio's published pass-through numbers, because The Campaign Registry and the carriers don't publish theirs. Other providers may charge more.
- The Campaign Registry, homepage and "Authentication Plus is Here" (October 25, 2024).
- Twilio Help Center, Overview of US A2P 10DLC, Pricing and Fees, Campaign Vetting FAQ, brand type comparison and Campaign Registration Rejected.
- Twilio docs, Standard and Low-Volume Standard registration and Sole Proprietor registration.
- Twilio, full blocking of unregistered traffic (September 1, 2023) and U.S. SMS pricing and carrier fees.
- Owner quotes: public Reddit threads in r/twilio, r/SaaS and r/sysadmin, linked where quoted. These are individual experiences from 2023 to 2026, not research.
- Zinng's own campaign: our registration records, 2026.
FAQ
What is A2P 10DLC?
It's the U.S. carriers' registration system for businesses that text customers from regular 10-digit local numbers. Your business (the brand) and what you text about (the campaign) are registered with The Campaign Registry through your texting provider.
Is A2P 10DLC registration required?
Yes, for any business texting U.S. numbers from a local 10-digit number through software or a service. Twilio, for example, has blocked all unregistered texts since September 1, 2023.
How much does A2P 10DLC cost?
On Twilio, a brand costs $4.50 (or $46 for a standard brand with vetting), each campaign review costs $15, and the campaign fee is $1.50 to $10 a month. Carriers also add a fraction of a cent to each text.
How long does A2P 10DLC registration take?
Brand checks usually take minutes, and campaign review takes about 5 to 10 business days on Twilio. Each rejection sends you back into the review queue.
Can I register for A2P 10DLC myself?
Not directly. The Campaign Registry only accepts registrations from texting providers, so your provider submits your brand and campaign for you.
Why was my A2P 10DLC campaign rejected?
Usually because a reviewer couldn't verify something: your opt-in, terms, website or business details. Read every error code, fix what it names, and resubmit instead of starting over.
Do I need A2P 10DLC if I don't have an EIN?
Yes, but you can register as a sole proprietor. It's limited to one campaign, one phone number and about 3,000 texts a day, and you'll need a real mobile number to verify.
Keep reading
- Out of Office Voicemail Greetings: 15 Examples You Can Copy 15 out-of-office voicemail scripts for vacations, holidays, sick days, lunch, after hours and solo owners, plus how to …
- Does Anyone Actually Leave Voicemails Anymore? (What It Means for Your Business) Almost nobody leaves voicemails anymore. Here's what the stats and Reddit really say, why people stopped, and what it q…
- AI Receptionist for Small Business (2026): How It Works, Cost and Live Demo What an AI receptionist is, what it does on a call, what it costs (we checked 30 small-business services), how it compa…
- Call Forwarding Code Generator Free call forwarding tool. Pick your carrier (Verizon, AT&T, T-Mobile, US Cellular, Rogers, Bell, Telus, Fido, Koodo, F…
Ready to get started?
Set up your AI phone agent in minutes. Try it free for 7 days.
Try Zinng Free for 7 Days
About the Author
Timothy Bramlett
Co-Founder & CEO, Zinng
Timothy Bramlett is an American entrepreneur, software engineer, and product strategist. He is the founder of Zinng, an AI-powered phone agent platform that helps businesses never miss a customer call with intelligent call handling, real-time transcripts, and instant summaries.