A2P 10DLC is the US carrier framework for application-originated SMS and MMS sent to US recipients over ordinary 10-digit long-code phone numbers. In the framework, the sender's business identity is registered as a Brand, the messaging purpose is registered as a Campaign, and one or more 10DLC numbers are associated with the approved messaging use case through the sender's provider.
A2P 10DLC- What is A2P 10DLC? The US business-texting registration chain explained
- The mental model
- What A2P and 10DLC mean separately
- Treat registration as a state machine, not a checkbox
- Who actually approves a Campaign?
- A current provider-specific example
- 10DLC vs toll-free vs short code
- Why a registration gets rejected or stalls
- Brand verification fails
- Campaign review fails
- The provider asks for privacy or terms pages
- Campaign is approved but messages are still not ready to send
- Messages are registered but still filtered or fail
- The business changes its use case
- Worked example
- What A2P 10DLC requires
- What passes and what does not
- Common mistakes
- Questions we get asked
- OnVoard's take
What is A2P 10DLC? The US business-texting registration chain explained
That registration is important, but it is not the same thing as recipient consent. A business can have a correctly registered Brand and Campaign and still lack permission to message a particular person. The reverse can also happen: a customer can have clearly opted in, while the sender's 10DLC route is not yet properly registered or associated. Understanding A2P 10DLC therefore requires keeping 2 questions separate:
- Is this sender and use case registered for the US 10DLC route?
- Is this recipient permitted to receive this message from this sender for this campaign?
The mental model: 2 ledgers have to agree
A2P 10DLC is easiest to understand as a registration control plane sitting beside the actual message-delivery path.
The registration side identifies who is sending and what they intend to send. The Campaign Registry describes the Brand as the company or entity the end user believes is sending the message, and a Campaign Service Provider, or CSP, as a party that works with Brands to create and launch messaging Campaigns. TCR provides the registry where CSPs register Brands and Campaigns.
The delivery side is the path the message takes from an application, through messaging-provider and carrier infrastructure, to the recipient. TCR is not a hop that every text message travels through. It is a registry that supplies identity and use-case information to the ecosystem. Recipient permission sits beside both. It is not automatically created by a registry approval.
Registration and consent are two separate gates
Registration and delivery are separate lanes. Recipient permission is a separate gate that neither lane creates.
- Registration1Brand and CSPThe business identity, registered through a messaging provider.
- 2TCR records Brand and CampaignNot a hop every message travels through.
- Number associated with the Campaign
- Delivery3Application sends through the providerReseller or aggregator layers can sit here too.
- Mobile carrier to recipient
- Separate gateRecipient permission
Opt-in, opt-out, and consent scoped to this Campaign and sender. A registry approval does not create it.
What A2P and 10DLC mean separately
A2P means application-to-person. The recipient is getting an SMS or MMS from software rather than from another individual engaged in normal person-to-person texting.
10DLC means 10-digit long code, the familiar US local-number format. A business can also send US application messaging over other sender types, such as toll-free numbers or short codes, but those are not part of the A2P 10DLC registration system.
The framework matters because ordinary long-code routes were not originally designed as an unbounded business-messaging channel. US carriers introduced A2P 10DLC to make business messaging over that route more attributable and controlled.
If an ecommerce platform sends an order update, abandoned-cart reminder, marketing promotion, or support notification through an application using a US long-code number to a US recipient, the traffic is in the kind of application-originated category the 10DLC framework is intended to govern.
Treat registration as a state machine, not a checkbox
A reliable messaging system should not store A2P 10DLC as one boolean such as registered = true. At minimum, keep separate state for:
Registered is not one switch
Three states can each be stuck on their own. A fourth, separate track never moves just because one of them did.
- Separate trackConsent and opt-out readiness
Tracked per recipient and program. No Brand, Campaign, or number state changes it.
This makes failures diagnosable. "Brand verified, Campaign approved, number association pending" tells an operator what to fix. "Registered" does not. It also prevents a dangerous inference in application code: registry approval should never flip a customer's consent state to true.
Who actually approves a Campaign?
The answer is more nuanced than "The Campaign Registry approves it." TCR says it is the centralized registry, but it also explicitly states that TCR does not review, approve, or reject Campaigns. Campaign approval is performed by CSPs and their upstream connection partners. TCR also says approval time varies by use case and by CSP, and can take longer when more partners are in the connection chain. That has 2 practical consequences.
First, do not promise a universal approval time such as "all 10DLC registrations take 3 days" or "10 business days." The correct estimate depends on the provider, the use case, whether manual vetting is involved, the connection chain, and whether the submitted data is complete.
Second, when a Campaign is rejected, the actionable rejection reason is normally obtained through the CSP or provider used to register it. TCR directs rejected senders back to their CSP for remediation guidance.
A current provider-specific example: privacy and terms URLs
Provider implementations change, which is why fields should be described with scope and date rather than as eternal properties of "10DLC."
Twilio announced that, starting June 30, 2026, new A2P 10DLC Campaign registrations submitted through its Messaging REST API must include both PrivacyPolicyUrl and TermsAndConditionsUrl. Twilio says a new Campaign request without both fields is rejected during Campaign review. Its announcement also says this specific API-field change does not retroactively affect existing registered Campaigns.
That is a Twilio implementation requirement for new submissions, not evidence that every CSP exposes the same API fields or that TCR suddenly became the author of those web pages. The durable lesson is to re-check the current provider registration schema before building a fixed form into your product.
10DLC vs toll-free vs short code
These sender types can all be used for application messaging in the US, but they are not interchangeable registration labels. Do not copy throughput numbers, fees, or approval-time promises from one route into another. Those values can be carrier- and provider-specific and change over time.
| Option | Sender type | Identifier the recipient sees | Registration model | When the distinction matters |
|---|---|---|---|---|
| A2P 10DLC | A2P 10DLC | US 10-digit local number | Brand + Campaign framework for the 10DLC ecosystem, plus provider-side sender association | You want to send application traffic over ordinary US long codes |
| Toll-free | Toll-free | US toll-free number | Separate toll-free verification program | You choose a toll-free sender and must follow that route's verification requirements |
| Short code | Short code | 5- or 6-digit short code | Separate short-code provisioning and carrier ecosystem | You need a short-code sender and accept its distinct setup and commercial model |
Why a registration gets rejected or stalls
The fastest way to troubleshoot is to identify which object or state is failing.
Brand verification fails
Check whether the legal entity information matches the tax identifier and authoritative records. Do not assume the storefront name is the legal name.
Campaign review fails
Check whether the description and samples accurately explain the messaging program, whether the opt-in path can be inspected, and whether help and opt-out behavior are clear. Resolve the provider's actual rejection reason instead of resubmitting the same vague text.
The provider asks for privacy or terms pages
Confirm whether this is a current provider requirement and whether the pages are publicly accessible and match the business and messaging program. For Twilio API submissions after its June 30, 2026 change, both URLs are explicit fields for new Campaigns.
Campaign is approved but messages are still not ready to send
Verify that the intended 10DLC number is actually associated with the Campaign or provider messaging service. Approval and number association are separate states.
Messages are registered but still filtered or fail
Registration can improve the route's legitimacy and, in provider implementations, can affect filtering and throughput. It does not make delivery unconditional. Diagnose the carrier/provider error, content, traffic behavior, recipient state, and sender configuration rather than assuming "approved" means "guaranteed."
The business changes its use case
Do not assume a Campaign registered for one purpose automatically describes materially different traffic forever. Review the provider's current rules before expanding or changing the messaging program.
Worked example
Imagine Example Store wants to use one US local number for transactional order updates and promotional messages.
- A weak implementation treats the number itself as the permission boundary:
Number is registered -> customer can receive SMS- That model loses the distinction between infrastructure and permission
- A stronger implementation keeps the layers separate:
Business identity -> Brand verificationMessaging program -> Campaign registrationSender -> number associated with approved CampaignRecipient -> separate consent state for the relevant programMessage -> send only when route state and recipient state both allow it
- Suppose the Brand verifies successfully and the Campaign is approved. The number is associated. The route is now operationally ready
- Customer A explicitly opted in to shipping updates. Sending an order-status message can be evaluated against that permission record
- Customer B bought once but never agreed to marketing texts. Campaign approval does not turn that purchase into marketing consent
Customer C previously opted in but sent STOP. A valid route does not override the opt-out. The registration data and consent data answer different questions, and the system should keep both.
What A2P 10DLC requires
People often say "our 10DLC is registered" as if registration were one switch. Operationally, it is more useful to track at least 3 distinct objects.
1. Brand: who is sending
The Brand represents the real business or entity behind the messages. For business registrations, exact identity data matters. The Campaign Registry says its Brand verification uses information such as the tax ID together with legal company name, address, and other business information. It specifically warns that the EIN or tax ID must match the legal company name for correct verification, with separate handling for sole proprietors.
That explains a common failure mode: a merchant enters a storefront name while the registration system expects the legal entity associated with the tax identifier. The messaging content can be perfectly legitimate and the Brand can still fail verification because the identity record does not match.
2. Campaign: what the Brand intends to send
A Campaign describes the messaging use case. In Twilio's current implementation, Campaign registration includes the purpose of the messages and information about how recipients opt in, opt out, and request help.
A Campaign is not simply a creative campaign such as "Black Friday sale." Think of it as an operationally registered messaging program or use case. The exact Campaign taxonomy and fields exposed to you depend on the provider.
The quality of this description matters. A vague submission such as "customer messages" gives reviewers very little evidence that the declared program matches the messages that will actually be sent. A useful submission clearly explains the business, the message purpose, the opt-in path, example messages, help behavior, opt-out behavior, and any provider-required policy URLs.
3. Number association: which sender is attached to the Campaign
After the Brand and Campaign are in an acceptable state, the sending number still has to be associated through the provider's A2P 10DLC configuration.
This is a separate operational step. It is possible to have an approved Campaign but a number that is still unassociated, pending, attached to the wrong messaging service, or otherwise not active on the intended Campaign.
Adding more phone numbers is not a shortcut to a better trust position. TCR states that throughput is determined from the Brand and Campaign rather than simply by how many numbers are associated with the Campaign.
What passes and what does not
- This is the distinction most worth remembering
- A2P 10DLC registration describes the route, sender, and declared messaging program. Recipient permission describes whether a particular person has agreed to receive a particular class of messages from that sender
- CTIA's Messaging Principles and Best Practices says non-consumer message senders should provide clear calls to action, send only after opt-in where applicable, retain consent evidence, make opt-out available, and treat an opt-in as specific to the intended Campaign and message sender. It also says opt-in lists should not be rented, sold, or shared for messaging
- A useful consent record can include information such as:
- phone number
- timestamp
- acquisition method
- the wording or experience used to obtain consent
- the Campaign or messaging program covered
- enough identity/session evidence to investigate disputes
- opt-out state and timestamp
- Those records solve a different problem from Brand or Campaign registration
- This page is not a substitute for legal advice or a dedicated TCPA/consent guide. Laws, carrier rules, CTIA guidance, provider policy, and the facts of a particular program can impose different or additional requirements. The operational point is simpler: never treat route registration as proof of recipient permission
Common mistakes
- Treating A2P 10DLC as a legal-consent certificate
- Saying TCR itself universally approves or rejects every Campaign
- Promising one fixed registration timeline across providers and use cases
- Using a trade name when the Brand-verification flow needs the legal entity tied to the tax ID
- Treating Brand verification, Campaign approval, and number association as one status
- Registering a Campaign description that does not match the messages actually sent
- Assuming more phone numbers automatically create more throughput
- Reusing a recipient's consent for a different Campaign or sender without checking whether that permission actually covers it
- Copying one provider's API fields, fees, or limits into a universal definition of 10DLC
Questions we get asked
Is A2P 10DLC required for every business text message in the US?
No. A2P 10DLC specifically concerns application-originated traffic sent over US 10-digit long-code numbers. Toll-free numbers and short codes use different registration or provisioning systems. Within a provider such as Twilio, application-originated SMS/MMS over US 10DLC is expected to be registered for A2P 10DLC.
What is the difference between a Brand and a Campaign?
The Brand answers who is sending. The Campaign answers what kind of messaging program is being sent, including the declared use case and, in provider registration flows, information about opt-in, opt-out, help, and examples.
Does A2P 10DLC approval mean I have TCPA consent?
No. Registry and route approval do not prove that a particular recipient gave the permission required for a particular message. Keep consent evidence and opt-out state separately, and evaluate applicable law and policy for the program.
Does The Campaign Registry approve my Campaign?
TCR says it does not itself review, approve, or reject Campaigns. That review is performed by CSPs and upstream connection partners in the registration chain.
How long does Campaign approval take?
There is no reliable universal number. TCR says approval time varies by use case and CSP, and more partners in the connection chain can increase the time. Use your provider's current estimate for the specific registration path and avoid promising it as a standard-wide SLA.
Can I increase throughput by attaching more numbers to the same Campaign?
Do not assume so. TCR states that throughput is determined by the Brand and Campaign, not simply by the number of phone numbers associated with that Campaign.
If my Campaign is approved, are my messages guaranteed to be delivered?
No. Approval is one infrastructure and trust input. Carrier/provider filtering, message content, traffic behavior, number configuration, recipient state, and other factors can still affect delivery.
OnVoard's take
The safest product architecture is to model A2P 10DLC as infrastructure state, not customer permission.
Keep Brand, Campaign, and number-association states explicit. Keep consent and opt-out evidence in a separate recipient-level ledger. Then require both sides to be valid before a message can send.
That design is slightly more work than a single "10DLC approved" checkbox, but it prevents one of the most consequential category errors in business messaging: treating registration to use a route as permission to contact a person.
Every app on every plan. Connect your store and switch on the flows in an evening.