Guides · Compliance
10DLC for freight brokers: registering to text drivers, step by step
Updated September 11, 2026 · 5 min read
In short
10DLC is the US carriers' registration scheme for businesses that text from ordinary ten-digit numbers. A brokerage registers its legal entity as a brand, describes its messages and how recipients consent as a campaign, and puts its number into a messaging service tied to that campaign; until the campaign is approved, carriers block the traffic. Registration takes a few days to a few weeks, costs a few dollars a month, and fails for two predictable reasons: the campaign description names a brand that is not the registered legal entity, and the consent description mentions a signed form the reviewer cannot see.
We registered LogiPilot Ping’s texting number in a day of forms and one rejection, and most of what the documentation does not tell you is below. The steps are the same whichever messaging provider you use; the screenshots differ.
What is being registered, and why
US mobile carriers filter business texting from local numbers unless the sender is registered with The Campaign Registry (TCR). Registration has two objects. The brand is the legal entity sending the messages, verified against tax records. The campaign is a description of what the messages are, who receives them, how they consented, and what they look like. A number is attached to a campaign through a messaging service. Traffic from numbers with no approved campaign is blocked outright; the error code in one provider’s logs is 30034.
The point of the scheme is to make spammers identifiable. The cost to an honest business is a few days and a few dollars a month.
Step 1: the business profile
Your messaging provider collects the legal entity first: legal name, EIN, registered address, website, an authorized contact. The legal name, EIN and address must match IRS records character for character. “Marrowdale Logistics” when the IRS knows “Marrowdale Logistics LLC” fails vetting. If the company does business under a brand name that is not the legal name, that is fine, but it is the legal name that gets registered.
The website field should be the site where the texting program is described. Reviewers open it.
Step 2: the brand
The brand registration takes the business profile and submits it to TCR for vetting. Standard vetting is a one-time fee of a few dollars. “Secondary vetting” (around $40) raises the daily message cap and is not needed for a brokerage’s status texts. Brand vetting usually returns within hours; a mismatch with IRS records returns “unverified” and has to be corrected and resubmitted.
Step 3: the messaging service and the number
Create a messaging service, buy or move a local number into it, and set the number’s inbound webhook so that replies (STOP, HELP, and drivers texting back) reach your software. Buying a US local number requires a submitted business profile; it does not require an approved campaign, so this step and the next can run in parallel.
Step 4: the campaign
This is the form the reviewers read. For a brokerage sending load status texts to drivers, a Low Volume Mixed use case (up to a few thousand messages a day, the lowest monthly fee) is the right fit; the alternatives, Customer Care plus Account Notification, are fine too. What to put in each field:
- Campaign description. Say who the legal entity is, what the product does, who receives the messages and why, and that there is no marketing. Name the legal entity in the first sentence.
- Message flow (how consent is collected). Describe every way a recipient consents, and for each one where the reviewer can verify it. For drivers: the consent clause in the signed carrier agreement and rate confirmation, and a public link to the clause. For a website form: the URL of the form. Include links to the privacy policy and terms.
- Sample messages. Real examples with the sender named and opt-out language present. Brackets for the variable parts.
- Opt-in keywords and message. None, when consent comes from a signed agreement and a web form rather than a keyword. Say so.
- Opt-out keywords and message. STOP, UNSUBSCRIBE, CANCEL, END, QUIT, and the confirmation text.
- Help keywords and message. HELP, INFO, and a message that says who is texting and how to reach a person.
- Content attributes. Embedded links: yes (your tracking links); embedded phone numbers: usually no; no lending, no age-gated content, no affiliate marketing.
The two rejections almost everyone hits
Providers now run an automated check before the campaign reaches TCR, and it produces the same two errors for most first submissions.
“Your campaign description names a different business than your registered brand.” The registered brand is the legal entity; the description talked about the product. Fix: name the legal entity in the description (“[Legal name] LLC (brand: [Brand]) operates [Product]…”), or add the brand name to the brand registration as a DBA if you have one.
“Your opt-in is collected on a paper/printed form, but we couldn’t find it.” You said consent comes from a signed agreement, and the reviewer wants to see the agreement. Fix: publish the consent clause and a sample of the form it appears in at a public URL, and put that URL in the message flow. LogiPilot’s is at logipilot.ai/ping/consent; the rate confirmation template and carrier packet template carry the same clause.
The privacy policy and terms
Reviewers open the privacy policy and look for the texting program. The paragraph needs to say: that the business sends text messages for load status on behalf of freight brokerages; how consent is obtained; message frequency (a cap per load per day); “message and data rates may apply”; STOP to opt out and HELP for help; and, in almost these words, that mobile numbers and consent information will not be shared with or sold to third parties for marketing purposes. The last sentence is the one TCR checks for. The terms of service get a matching SMS terms section.
After approval
Send through the messaging service so every message carries the campaign. Honor STOP within seconds, across every load a number is on. Keep to the frequency you declared. Log opt-outs. And keep the campaign description true: if the program changes, update the campaign, because the review was of the program described, not the one running.
The timeline we saw
Business profile submitted in the morning, number purchased the same afternoon, campaign submitted in the evening after fixing the two errors above, review in progress the next day. Brands clear in hours; campaigns take days to weeks. Until then, the texts fail with a carrier rejection, which the sending software should surface as a failed message rather than a quiet “sent.”