Most teams meet 10DLC as an obstacle between them and a working SMS integration. That framing is what causes the trouble later. Registration is the carriers building a model of who you are and what you intend to send, and every delivery decision after that is made by comparing your traffic against that model. If you register a support notification campaign and then run a marketing blast, nothing breaks loudly. Messages simply stop arriving.
The short version
- Registration has two layers: a brand, which is your company, and a campaign, which is a specific messaging program with a declared use case.
- Your throughput is assigned from the vetting outcome, not requested. Better identity verification generally yields a better tier.
- Toll-free verification is the alternative path, and for some programs it is the better one.
- Filtering is mostly silent. A 200 from the API means accepted for delivery, not delivered.
- Consent and opt-out records are the artifact you will be asked for. Keep them at the number level, timestamped, with the source.
What 10DLC is actually solving
Ten-digit long code means an ordinary local phone number used to send application-to-person messages. For years that traffic was a gray area: the numbers were built for person-to-person texting, and businesses used them anyway because they were cheap and looked local. Carriers responded with unregistered blocking, aggressive filtering, and number churn, and senders responded by rotating through numbers faster, which made the filtering worse.
The registered 10DLC ecosystem is the settlement. You identify yourself, you describe your messaging program, you get sanctioned throughput on numbers that carriers will not treat as suspicious by default, and in exchange the carriers get a party to hold accountable when the traffic does not match the description. Once you see it as an accountability trade rather than a tax, the requirements stop looking arbitrary.
Brand registration
The brand is your legal entity. Registration asks for the things that make an entity verifiable: legal name exactly as registered, tax identifier, entity type, registered address, website, and a contact. This is checked against public and commercial business records, so the failure mode is boring and common: the name on your registration is your trading name rather than the name on your incorporation documents, or the address is your current office rather than the one on file.
Two things are worth getting right the first time. First, use the legal entity name and the tax identifier exactly as they appear on your filings, including suffixes like LLC or Inc. Second, make sure the website you supply describes the business that is sending the messages and is reachable. A parked domain or a landing page with no company information is a common reason a brand fails identity checks.
There is also an enhanced vetting step available, performed by a third-party vetting provider, which produces a score used downstream when throughput is assigned. It is optional, it costs money, and for any program sending meaningful volume it is usually worth doing up front rather than after you discover your throughput is too low.
Campaign registration and use-case vetting
A campaign is one messaging program. If you send appointment reminders and also send promotional offers, those are two campaigns, not one campaign with two kinds of message. Each campaign declares a use case, and the use case is the thing carriers hold you to.
Common use cases include two-factor authentication, account notifications, customer care, delivery notifications, marketing, and higher-scrutiny categories that are reviewed more carefully or restricted outright. The declaration matters because it sets expectations about volume shape, content, and consent. A two-factor campaign sending a burst of identical short messages is normal. A customer care campaign doing the same thing is not.
The submission asks for sample messages, a description of the program, the opt-in mechanism, and evidence of how consent is collected. This is the part teams rush, and it is the part that determines whether the campaign is approved quickly, rejected, or approved into a throughput tier that does not fit the plan.
- Sample messages must look like your real messages. Include the brand name, include the opt-out language, and use the same placeholders you will use in production.
- The opt-in description has to match a real, reachable flow. If consent is collected on a web form, the form should be live and the consent language visible on it.
- Declare embedded links and phone numbers honestly. Public URL shorteners are a common filtering trigger; a branded domain you control is better.
- One campaign per program. Splitting is cheaper than being filtered because your marketing traffic is riding on a notification registration.
Throughput tiers, and why you do not pick one
Throughput is expressed as message segments per second toward a given carrier, and it is assigned based on your brand vetting outcome and the campaign's use case rather than requested. Two consequences follow, and both surprise people.
The first is that a low tier is usually a vetting problem, not a volume problem. If your assigned throughput does not fit your program, the fix is generally to improve the identity verification behind the brand, not to appeal the number. The second is that throughput is per carrier, so a message queue destined mostly for one mobile network will drain at that network's rate regardless of your aggregate figure.
Plan the queue, not the peak. A campaign that sends a hundred thousand messages at nine in the morning will hit its ceiling and queue, and queued messages arrive late, which for a time-sensitive program is the same as not arriving. Spread sends, prioritize transactional traffic over promotional traffic in your own queue, and instrument the delay between submission and delivery receipt rather than assuming submission is delivery.
$0.0075
Long-code SMS, per message, to send
$0.0075
Long-code SMS, per message, to receive
$0.02
Long-code MMS, each way
Toll-free SMS is also $0.0075 each way. Registration work is handled as part of onboarding rather than billed as a project. See the messaging product or the full rate card.
Toll-free verification as the alternative
Toll-free numbers are a separate messaging path with a separate approval process, and they are frequently the better answer. Verification asks for similar information to a campaign registration: the business, the use case, sample messages, the opt-in flow, and expected volume. What differs is the shape of the result.
Toll-free messaging is generally suited to higher-volume programs from a single identity, and it does not carry the same per-campaign structure. It is a good fit for a national brand sending one kind of message, for support and notification traffic where a toll-free number is already the published contact, and for programs where a local presence is not part of the point.
Long-code 10DLC is the better fit when local presence matters, when you need many numbers across many markets, or when one platform is sending on behalf of many distinct businesses, since each of those businesses can be its own brand.
The one thing to avoid is treating toll-free as the way around registration. Unverified toll-free traffic is filtered at least as aggressively as unregistered long-code traffic, and the filtering is just as quiet. Verification is not optional in practice, only in name.
Why traffic gets filtered silently
This is the part that costs teams the most time, because the system is designed to fail closed without telling the sender much. A message accepted by your provider's API has been accepted for delivery. It then passes through carrier filtering, spam analysis, and in some cases handset-level filtering, and any of those can drop it. Delivery receipts help, but they are not uniformly reliable across carriers and a receipt can indicate handoff rather than handset delivery.
The common triggers are unglamorous:
- Content that does not match the registered use case. Promotional content on a notification campaign is the single most common cause.
- Public URL shorteners. Shared shortener domains inherit the reputation of everyone else using them.
- High opt-out or complaint rates. Recipients marking messages as spam is a direct input to filtering decisions.
- Number rotation. Spreading traffic across many numbers to dodge limits looks exactly like the behavior the filtering was built to catch.
- Sending to recipients who did not opt in. Purchased lists and stale consent produce complaints quickly, and the reputation damage outlasts the campaign.
The operational answer is to treat delivery as a measured outcome. Track delivery rate per carrier, per campaign, and per sending number, and alert on a drop rather than reviewing it monthly. A single carrier's delivery rate falling while the others hold steady is a filtering signal, and it is visible days before anyone in the business notices that replies have dried up.
Consent and opt-out records
Registration describes your consent process. Records prove you followed it. These are separate obligations and only the second one helps you during a complaint.
Keep consent at the number level, with a timestamp, the source of the consent, and the exact language the person agreed to at the time. Language changes; the record should reflect what was on the page that day, not what is on it now. If consent came from a paper form, a call recording, or an import from another system, note that too, including where the underlying artifact lives.
Opt-out handling has a mechanical part and a record-keeping part. Mechanically, STOP, UNSUBSCRIBE, CANCEL, END, and QUIT must stop messages, HELP must return help text, and the response should be immediate. Practically, the stop has to apply across your whole program rather than one campaign, because a recipient who opted out of marketing and then receives marketing from a different number of yours will complain, and the complaint is what feeds filtering.
Store the opt-out with the same fidelity as the opt-in: number, timestamp, keyword received, and the campaign it arrived on. Expose that state to your own application so a downstream system cannot enqueue a message to a number that has opted out. On our network, STOP and HELP handling and consent state are tracked at the number level and readable over the API for exactly this reason.
A practical checklist
Before you register
Legal name and tax identifier from your filings. A live website describing the sending business. A decision on enhanced vetting. A list of every distinct messaging program you run.
In the submission
One campaign per program. Real sample messages with brand name and opt-out language. A reachable opt-in flow. Branded links rather than public shorteners.
Once you are live
Delivery rate by carrier, campaign, and number. Alerting on a drop. Consent and opt-out records at the number level. Traffic that still matches the use case you declared.
Registration takes as long as it takes, and the parts that go slowly are almost always identity verification and campaign review. Both are faster when the information you submit matches what a carrier can independently verify, which is the whole design of the system.
We handle brand registration, campaign submission, use-case vetting, and toll-free verification as part of onboarding, because a registration that does not match the traffic is a support problem for everybody later. Messaging runs at $0.0075 per SMS in either direction on long-code and toll-free, with MMS at $0.02. If you want to talk through which path fits your program, schedule a demo or read the messaging product page.