How it worksPricingLog InSign Up Free

What is A2P 10DLC? How it compares to toll-free and short code

Definition

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

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:

  1. Is this sender and use case registered for the US 10DLC route?
  2. 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.

Figure 1

Registration and consent are two separate gates

Registration and delivery are separate lanes. Recipient permission is a separate gate that neither lane creates.

  1. Registration
    1
    Brand and CSP
    The business identity, registered through a messaging provider.
  2. 2
    TCR records Brand and Campaign
    Not a hop every message travels through.
  3. Number associated with the Campaign
  4. Delivery
    3
    Application sends through the provider
    Reseller or aggregator layers can sit here too.
  5. 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.

Not the same: Registration proves who is sending and what they intend to send. It does not prove that this recipient may receive this message, and it does not guarantee carrier delivery.
A Brand and Campaign can be fully registered and approved while the recipient has never agreed to receive this message. Both gates have to pass.

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:

Figure 2

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.

Brand
Draft
Submitted
Verified
Needs correctionLegal name does not match the tax ID
Campaign
Draft
Submitted
Approved
Rejected or needs correctionReviewed by the CSP and its upstream partners
Number
Unassociated
Association pending
Active on Campaign
Association failureA separate provider-side step from Campaign approval
  • Separate trackConsent and opt-out readiness

    Tracked per recipient and program. No Brand, Campaign, or number state changes it.

Labels vary by provider: This models the stable concepts, not one provider's API status enum. TCR itself does not review or approve Campaigns; that happens through CSPs and their upstream partners.
Brand, Campaign, and number association move through their own approval states. A rejection in one does not explain the others, and none of them create recipient consent.

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.

OptionSender typeIdentifier the recipient seesRegistration modelWhen the distinction matters
A2P 10DLCA2P 10DLCUS 10-digit local numberBrand + Campaign framework for the 10DLC ecosystem, plus provider-side sender associationYou want to send application traffic over ordinary US long codes
Toll-freeToll-freeUS toll-free numberSeparate toll-free verification programYou choose a toll-free sender and must follow that route's verification requirements
Short codeShort code5- or 6-digit short codeSeparate short-code provisioning and carrier ecosystemYou 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

  1. Treating A2P 10DLC as a legal-consent certificate
  2. Saying TCR itself universally approves or rejects every Campaign
  3. Promising one fixed registration timeline across providers and use cases
  4. Using a trade name when the Brand-verification flow needs the legal entity tied to the tax ID
  5. Treating Brand verification, Campaign approval, and number association as one status
  6. Registering a Campaign description that does not match the messages actually sent
  7. Assuming more phone numbers automatically create more throughput
  8. Reusing a recipient's consent for a different Campaign or sender without checking whether that permission actually covers it
  9. 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.

Try OnVoard free

Every app on every plan. Connect your store and switch on the flows in an evening.

Sign Up Free
Share
Commonly confused with

Sources

All retrieved September 14, 2026
The Campaign RegistryAbout Uscampaignregistry.com/about/
The Campaign RegistryResourcescampaignregistry.com/resources/
TwilioA2P 10DLC campaign registration will require privacy policy and terms & conditions URLs starting June 30, 2026twilio.com/en-us/changelog/a2p-10dlc-campaign-registration-will-require-privacy-policy-and-
TwilioProgrammable Messaging and A2P 10DLCtwilio.com/docs/messaging/compliance/a2p-10dlc
CTIAMessaging Principles and Best Practicesapi.ctia.org/wp-content/uploads/2023/05/230523-CTIA-Messaging-Principles-and-Best-Practices-FINAL.pdf