A2P 10DLC registration explained: why your business SMS isn't delivering.
If you've ever sent a business SMS that "went through" but the recipient never got it, the missing piece is almost always A2P 10DLC registration. Here's what the framework is, why US carriers built it, and the exact steps to get registered.
What is A2P 10DLC?
A2P 10DLC stands for Application-to-Person 10-Digit Long Code. It's the US carrier framework that distinguishes business SMS (sent from software to a customer) from personal SMS (sent between two people). If your business isn't registered, AT&T, Verizon, T-Mobile, and US Cellular silently filter or block most of your messages.
WHAT THIS MEANS IN PRACTICE
An unregistered business sending 100 SMS messages will see 30–60 actually delivered. A registered business sending the same 100 will see 95+ delivered. The platform UI shows "sent" for both. Only one of them actually arrived.
Why does this exist?
Three reasons, in roughly this order:
- Spam reduction. US carriers were drowning in unwanted business SMS by 2019–2020. Verification helps them filter aggressively at the network level.
- Consumer protection. Phishing-via-SMS (smishing) was exploding. Verified senders are accountable in ways anonymous senders aren't.
- Revenue. Carriers charge fees per verified campaign, creating both filtering capability and a revenue stream.
The framework was rolled out across all major US carriers between 2021 and 2023. Enforcement got serious in 2024. By 2026, unregistered traffic is essentially blocked.
What the framework actually requires
Three layers of registration, in order:
1. Brand Registration
You (or your SMS provider) register your business with The Campaign Registry (TCR), the consortium that manages 10DLC for US carriers. TCR verifies:
- Your business legal name
- EIN (Federal Tax ID)
- Business address
- Website
- Industry vertical
Cost: $4 one-time, plus a $10 EIN verification fee if you don't have an EIN already on file. Approval: 1–3 business days.
2. Campaign Registration
Once your brand is approved, you register one or more campaigns. A campaign describes a specific messaging use case. The most common types:
- Marketing / Promotional — offers, promotions, newsletters
- Account Notifications — order updates, shipping, appointment reminders
- Customer Care — support replies, customer service threads
- 2FA / OTP — login codes, verification
- Polling / Voting — surveys, NPS, feedback
For each campaign you have to submit 2–5 sample messages, your opt-in flow description, and your STOP/HELP keyword handling. Cost: ~$10 one-time + $1.50–$10/month per campaign depending on use case. Approval: 2–5 business days.
3. Number Assignment
Once your campaign is approved, you assign actual phone numbers to it. The carriers then know "messages from this number, sent by this brand, for this campaign use case" are legitimate.
Business text messages not delivering? This is why
Skip registration and this is the actual current behavior from US carriers as of 2026:
| Carrier | Unregistered behavior |
|---|---|
| AT&T | Filters or blocks most A2P traffic; throughput capped at 1 msg/sec |
| T-Mobile | Aggressive filtering, especially marketing-pattern messages; surcharges per message |
| Verizon | Silent filtering, particularly for messages with links or marketing keywords |
| US Cellular | Throughput throttled, sender flagged after volume spikes |
The most damaging part isn't the blocking — it's the silence. Your software reports messages as "sent." The carrier accepts them at the gateway. They just never reach the handset. You'd never know without comparing your "sent" count to your actual reply rate.
HOW TO DIAGNOSE BLOCKING
Send 20 messages to a friend on each major carrier (AT&T, Verizon, T-Mobile). Ask them how many actually arrived. If the answer is "I got 8 of 20 from AT&T," you have a 10DLC problem.
Throughput tiers (the part nobody explains)
Even after registration, your messaging speed depends on your vetting score — a 0–100 number TCR assigns based on how thoroughly your brand is verified. This determines messages-per-second throughput:
| Vetting score | Throughput | Typical use |
|---|---|---|
| 0–24 (Unverified) | ~1 msg/sec | Blocked or rate-limited heavily |
| 25–49 (Standard) | ~10 msg/sec | Small business marketing |
| 50–74 (Verified) | ~30 msg/sec | Mid-size operators with EIN + verified address |
| 75–100 (Premium) | ~60+ msg/sec | Enterprise senders with full disclosure |
For a small business sending 100 SMS in a campaign blast, this barely matters. For an operator sending 10,000 SMS in a winback campaign, the difference between 1 msg/sec and 30 msg/sec is the difference between "done in five minutes" and "done in three hours."
How to get registered (without losing your mind)
There are three paths:
Path 1: Do it yourself, direct to TCR
Sign up at tcr-solutions.com, submit brand + campaign forms, pay fees, wait 5–8 business days total. Risk: a mistake on the form costs you the registration fee + restart. Realistic time investment: 4–8 hours.
Path 2: Through a SMS provider (Twilio, Telnyx, Bandwidth, etc.)
Your SMS infrastructure provider handles submission. You fill out their form, they pass it to TCR. Faster (because they catch common mistakes) but ties you to that provider for re-registration if you switch.
Path 3: Through a platform that handles it end-to-end
Platforms like Ironscale handle brand + campaign registration as part of onboarding. You provide EIN, business name, and address; they submit everything, monitor approval status, and handle compliance updates when TCR changes the rules (which happens twice a year). See how Ironscale's SMS engine works for the full pipeline from registration to delivery receipt.
A2P 10DLC registration checklist: step by step
This is the full A2P 10DLC registration sequence in order. Work through it top to bottom and most businesses are fully approved in 5–10 business days — without a single resubmission fee.
- Step 1 — Gather your business records. Legal business name exactly as it appears on your IRS EIN paperwork (the CP 575 letter), your EIN, registered business address, and a live website with a visible privacy policy. Name mismatches are the single most common rejection.
- Step 2 — Register your brand with TCR. Submit through your SMS provider or platform. $4 one-time, plus $10 EIN verification if your EIN isn't already on file. Approval: 1–3 business days.
- Step 3 — Write a specific campaign description. Name the use case, the audience, and the trigger. "Order confirmations and appointment reminders sent to customers who opted in at checkout" passes; "updates to customers" doesn't.
- Step 4 — Prepare 2–5 sample messages. Include your business name in each sample, and "Reply STOP to opt out" in at least the first-message sample.
- Step 5 — Document your opt-in flow. Screenshot the exact form, checkbox, or keyword flow where customers consent to receive SMS, plus the consent language itself.
- Step 6 — Submit the campaign and wait for vetting. ~$10 one-time plus $1.50–$10/month. Standard approval runs 2–5 business days; campaigns routed through carrier DCA review can take 10–15.
- Step 7 — Assign your phone numbers to the approved campaign. Unassigned numbers still send as unregistered traffic — this step is where most "I registered but I'm still blocked" cases break.
- Step 8 — Run a live deliverability test. Send 20 messages to real handsets on AT&T, Verizon, and T-Mobile before launching any campaign. Count arrivals, not "sent" statuses.
What about toll-free numbers?
Toll-free numbers (8XX prefixes) are subject to a separate compliance framework called toll-free verification. It's lighter weight than 10DLC but still required. Same idea: register your business + use case, get higher throughput and deliverability. Toll-free is generally better than 10DLC for marketing messages because they're treated as "trusted" by carriers — but they cost more per message ($0.0075 vs $0.005 typical) and have lower throughput.
What about international SMS?
10DLC is US-specific. Canada has a similar framework (CSCA short codes for high-volume, no formal long-code registry yet). UK, EU, and APAC each have their own rules. If you're sending to multiple countries, expect to register separately for each market.
Common mistakes to avoid
- Mismatched business info. If your EIN says "John Smith Holdings LLC" and your website footer says "Smith Brothers," TCR rejects the brand. Fix: match exactly.
- Vague campaign descriptions. "Send updates to customers" gets rejected. "Send order confirmations, shipping updates, and delivery notifications to customers who placed orders on our e-commerce site" gets approved.
- Missing opt-in flow documentation. Carriers want to see exactly where users consent to receive SMS. A checkbox on your form + the exact consent language. Vague "our customers opt in" is a rejection.
- Marketing campaign without proper STOP/HELP handling. Every campaign message must include "Reply STOP to unsubscribe" in the first message and respond to HELP keywords with sender identification.
- Trying to send before registration is complete. Some operators register and start sending before campaigns are fully approved. Carriers see those messages as unregistered = blocked.
What this costs in real numbers
For a small operator handling registration personally:
- $4 brand registration (one-time)
- $10 EIN verification (one-time)
- $10 campaign registration (one-time)
- $1.50–$10/month per campaign (recurring)
- 4–8 hours of your time
- Total Year 1: ~$50–150 + your hours
Through Ironscale: included in subscription. You provide EIN and business info, we register, you skip the manual TCR portal entirely.
Bottom line
A2P 10DLC registration isn't optional anymore. If your business depends on SMS reaching customers — appointment reminders, order confirmations, missed call text back, follow-up campaigns, anything — you need to be registered. The good news: it's not actually hard. The bad news: most operators don't realize they need to do it until they've already lost weeks of message volume to silent blocking.
If you're already running SMS through a tool that didn't handle this for you, audit your actual deliverability today. Send 20 test messages across the major carriers. Count how many arrive. The answer will tell you whether you have a 10DLC problem. And once your messages are landing, speed becomes the next lever — the 90-second follow-up window is where registered senders win the deals everyone else loses.
Ironscale handles A2P 10DLC for you.
Provide your EIN + business info. We submit, monitor, and maintain. You focus on sending messages that actually arrive.
Start free trial →