Skip to content

The complete US A2P 10DLC guide for GoHighLevel (2026)

A2P 10DLC is the US carrier framework for business texting from standard ten-digit phone numbers; since 1 September 2023 Twilio (which powers HighLevel's LC Phone) blocks any A2P traffic from unregistered numbers. Registration has two parts: a brand (your legal business verified against its EIN) and a campaign (use case plus sample messages). Verizon, AT&T and T-Mobile each enforce it differently — T-Mobile is the strictest, capping daily volume by a 0 to 100 trust score. Approvals clear in 3 to 10 days for a standard EIN; sole proprietors go through a separate low-volume path. Fees are pass-through from The Campaign Registry, Twilio and the carriers; HighLevel adds no markup. The eight recurring rejection reasons are all fixable before you file.

Published · Last updated · By Ghulam Qadir, Automation & Infrastructure Lead, LogixLevel

Why this guide exists

Every US GoHighLevel sub-account that sends a text to a mobile number owned by a Verizon, AT&T or T-Mobile subscriber has to clear A2P 10DLC first. The rules are enforced by the carriers, not by HighLevel, and they changed quickly between 2023 and 2026. This page is the full picture: definitions, who needs to register, how each carrier enforces it, exact costs, timelines, every reason registrations get rejected, consent templates you can copy, and the GoHighLevel-specific traps.

Two shorter pieces on this site cover slices of the topic:

Everything below is the long form.

What A2P 10DLC actually is

A2P = application-to-person messaging: any text sent by a system (CRM, workflow, bot) rather than a human typing on a phone. 10DLC = a standard ten-digit long code — the normal local number you’d see on caller ID (e.g. (860) 555-0123). Before A2P 10DLC, businesses used plain long codes meant for person-to-person traffic. Carriers tolerated it; spammers abused it.

In 2021 the US wireless carriers, working through The Campaign Registry (TCR), rolled out A2P 10DLC: a registry where every business sending A2P traffic from a 10DLC number has to register its brand (who you are, verified against your IRS EIN record) and its campaigns (what you’ll send, how recipients opted in, and sample messages). Carriers filter traffic against this registry. Unregistered traffic is throttled, filtered, or rejected outright depending on carrier.

The transition dates that matter:

  • September 2021 — A2P 10DLC available; registration optional.
  • May 2023 — AT&T begins hard-blocking unregistered A2P traffic.
  • 1 September 2023 — Twilio (which powers HighLevel’s native LC Phone) blocks all unregistered US A2P traffic, returning error 30034. This is the deadline every GoHighLevel sub-account needed to clear.
  • 18 March 2026 — Twilio begins scaling MMS messages-per-second (MPS) by TCR trust score, matching the SMS throughput tiers.

If you set up a HighLevel sub-account for a US business after September 2023 and the texts stopped landing, you have an A2P 10DLC problem — not a workflow problem.

Who has to register

Short answer: anyone sending A2P traffic to a US mobile number. That includes everything a GoHighLevel sub-account typically does:

  • Missed-call text-back
  • Appointment confirmation + reminders
  • Lead response (speed-to-lead)
  • Review requests
  • Marketing campaigns, newsletters, promotions
  • Lifecycle sequences
  • Workflow-fired notifications to the business owner themselves

Even “transactional” messages — appointment reminders, OTP-style codes, delivery updates — count as A2P. The TCR has a specific “low volume mixed” use case that fits most small service businesses.

P2P exceptions. A real human typing on a phone talking to a known customer is P2P (person-to-person) and is not subject to 10DLC registration. But as soon as that conversation is automated — even a two-step “send ‘YES’ to confirm” — it reclassifies to A2P. Most GHL use cases are A2P.

How each carrier enforces it

The three major US carriers each enforce A2P 10DLC through TCR, but with different filtering models and daily volume caps.

T-Mobile — the strictest

T-Mobile uses the TCR brand trust score (0 to 100) to cap daily message volume per brand across all campaigns:

Trust score Daily cap on T-Mobile
75 to 100 200,000 messages
50 to 74 40,000 messages
25 to 49 10,000 messages
1 to 24 2,000 messages
Unregistered 0 (blocked)

T-Mobile also applies a per-second ceiling (messages per second, MPS). From 18 March 2026, Twilio scales MPS the same way: 40 MPS at trust 75+, 20 MPS at 50 to 74, 5 MPS below 50 per major carrier.

Most service businesses never hit the daily cap. The silent killer is the per-second cap during a batch send — e.g. firing 500 appointment reminders at 8 a.m. causes a backlog that lands two hours late. A missed-call text-back on a single call never hits this, but a database reactivation to 10,000 contacts does.

AT&T — hard filter on unregistered

AT&T enforces the registration itself more than the tier. Unregistered A2P traffic from 10DLCs is dropped at the network level. Registered traffic flows at the campaign-approved rate without the tiered daily cap T-Mobile uses, though AT&T applies its own anti-spam filters that silently drop messages flagged for prohibited content (SHAFT: Sex, Hate, Alcohol, Firearms, Tobacco), bad links, or impersonation.

Verizon — content-level filtering

Verizon registers campaigns through TCR the same way, but its filtering is more content-driven. A low trust score on Verizon reduces per-message deliverability (silent drops) rather than imposing a hard daily cap. Verizon is particularly aggressive with URL shorteners (bit.ly, tinyurl) and will filter messages containing them even from registered brands — switch to your branded domain.

Carrier-specific checks before you file

  • T-Mobile: aim for a trust score of 75+. The score is driven by the accuracy of the brand record (legal name, EIN, address, website, vertical) — not by how long you’ve been registered.
  • AT&T: no shortened URLs in sample messages; no SHAFT content; brand name on the website must match the registration.
  • Verizon: avoid high link density; use your own domain, not a URL shortener; keep sample messages under 160 characters where possible to avoid segment-count penalties.

The eight reasons registrations get rejected

Pulled from the registrations we clear for clients each week, in order of frequency. Each has a specific fix.

  1. Legal name mismatch. The brand name on TCR must match the IRS CP 575 (or newer 147C letter) exactly — including “LLC” or “Inc.”, punctuation, apostrophes, and spacing. “Smith’s Plumbing, LLC” and “Smiths Plumbing LLC” are different brands. Fix: pull the IRS letter, copy the name character-for-character.

  2. No consent language on forms. Every form that collects a phone number for texting must have an unchecked-by-default SMS consent checkbox and disclosure text that says who sends the texts, what they’re for, and how to stop them. Fix: add the templates in the Consent language section below.

  3. Privacy policy missing the SMS clause. TCR looks for a specific line in your privacy policy stating that mobile information collected via SMS consent is not shared with third parties for marketing purposes. CTIA requires this verbatim concept. Fix: add the clause in the SMS privacy policy template section.

  4. Vague campaign description. “Marketing” or “customer communication” is not a use case. The description must be specific enough that a reviewer can match it to the sample messages. Fix: write it like a sentence a lawyer would read. “Appointment reminders and follow-up for booked estimates for home-services customers who filled out the website form, with STOP to opt out.”

  5. Sample messages that don’t match the description. If you say “appointment reminders” but one of your three samples is “20% off this weekend”, TCR rejects. Fix: keep each sample message tightly on the described use case; file a separate campaign for promotional messages.

  6. Website doesn’t show the business. TCR reviewers open the website on the brand record. If the domain doesn’t match the brand name, has no address or contact info, or has no privacy policy linked in the footer, the registration gets rejected. Fix: before filing, make sure the brand’s website shows the legal name, a business address, a privacy policy with the SMS clause, and a terms page.

  7. EIN not yet in IRS database. Fresh EINs take 2 to 4 weeks to populate in the systems TCR validates against. Filing immediately after registering a new LLC usually gets rejected on EIN lookup. Fix: wait 4 weeks post-EIN issuance, or file knowing you’ll likely need to resubmit.

  8. Sole proprietor registering as Standard brand. Sole proprietors (individuals operating without an EIN under their SSN) can’t register as a Standard brand. Fix: use the Sole Proprietor path (see below) — it’s a separate, lower-throughput registration flow with different fees.

Costs — what you actually pay

Every A2P 10DLC fee is a pass-through from TCR, Twilio and the carriers. HighLevel adds no markup to any of them. HighLevel’s documentation states this explicitly in the A2P messaging fees page.

Rough US fees as of November 2026 (confirm current rates with HighLevel; small changes happen):

Fee Amount When
Brand registration ~$4.00 One-time, when you file the brand
Fast-track brand verification ~$20.50 One-time, added to brand registration (standard; recommended)
Campaign vetting ~$15.75 One-time, per campaign filed
Campaign monthly fee (Low Volume Mixed) ~$2 Per campaign, per month
Campaign monthly fee (Standard use cases) ~$10 to $11 Per campaign, per month
Sole Proprietor brand (if applicable) ~$4.00 One-time
Sole Proprietor campaign ~$0.75 to $2 Per month
Per-message carrier fees ~$0.004 to $0.03 each Varies by carrier and segment length

Total upfront for a standard brand with one Low Volume Mixed campaign: around $44. Monthly recurring on top of HighLevel + Twilio base: around $2 per campaign per month. The carrier per-message fees apply to every message sent and are already in the per-text pricing you see in HighLevel.

Fast-track brand verification is almost always worth the $20.50 — it reduces review time from “whenever TCR gets to it” (sometimes 2+ weeks) to typically 1 to 3 business days.

Approval timelines by entity type

Entity Typical approval
Standard brand (Fortune 1000) Instant (pre-vetted)
Standard brand (private company, Fast Track) 1 to 3 business days
Standard brand (private company, no Fast Track) 1 to 3 weeks
Sole Proprietor 1 to 3 business days (once filed correctly)
Non-profit (501c3) 3 to 7 business days
Starter / Low Volume 1 to 2 business days

Campaigns go through separate review after brand approval, typically 1 to 2 business days per campaign.

End-to-end for a US LLC that already has an EIN older than 4 weeks, a complete website, and privacy policy: expect 3 to 10 business days from filing to the first registered text going through. New EINs can double that.

The Sole Proprietor path (no EIN)

If you operate under your SSN without an EIN, you can’t register as a Standard brand. TCR added a Sole Proprietor registration path specifically for this case. It has different throughput caps and lower fees but trades off daily message volume.

Sole Proprietor caps:

  • 1 campaign max per brand
  • 1,000 messages per day per brand on T-Mobile
  • Lower MPS than Standard

For most micro-businesses this is enough. If you’re already past 1,000 reminders a day or planning multi-channel campaigns, apply for an EIN (free, instant online at IRS.gov) and register as a Standard brand instead.

GoHighLevel-specific setup

HighLevel exposes A2P 10DLC registration inside each sub-account under Settings → Phone Numbers → Trust Center. The flow is:

  1. Create a Business Profile — this becomes the brand record TCR validates.
  2. Register the brand — HighLevel passes it to Twilio, which files it with TCR.
  3. Submit a Campaign — pick a use case, write the description, add 2 to 3 sample messages, link the opt-in URLs.
  4. Attach phone number(s) to the approved campaign.

Two GoHighLevel-specific traps:

LC Phone vs direct Twilio

HighLevel’s native LeadConnector Phone (LC Phone) and a direct Twilio integration are two different message routes. Each has its own A2P registration tied to the underlying Twilio account HighLevel provisions for you. If a client arrives with a sub-account that was partially migrated — some numbers on LC Phone, some on direct Twilio — you may have two separate A2P registrations in play. Audit before you register.

Phone number vintage

Numbers acquired through HighLevel before 2023 and never used for A2P may have no registration history and get flagged by Verizon as “unknown” even after your brand is approved. Rotating to a fresh number from an already-registered account is sometimes faster than fighting the filter on an old number.

The “view required fixes” modal

HighLevel added a “view required fixes” modal to campaign rejections in 2026. It shows TCR’s reason codes, which saves one roundtrip per rejection — but it still won’t write the consent language or sample messages for you. Treat it as a hint, not a fix.

Paste these into the GHL form builder (and your website’s standalone forms) with the SMS field. Both the checkbox and the disclosure text are required by CTIA; either alone fails review.

Standard disclosure (any US service business)

☐ By checking this box, I agree to receive SMS messages from {{business_name}} at the phone number above. Message frequency varies. Message and data rates may apply. Reply STOP to opt out, HELP for help. Privacy Policy and Terms.

☐ I agree to receive appointment reminders, confirmations and follow-up messages from {{business_name}} via SMS at the number provided. Reminders typically send 24 hours and 1 hour before an appointment. Reply STOP to opt out, HELP for help. Privacy Policy.

Lead-form disclosure (any inbound inquiry form)

☐ I’d like to receive SMS messages from {{business_name}} about my inquiry, including quotes, follow-ups and appointment information. Reply STOP to opt out at any time. Privacy Policy.

The checkbox must be unchecked by default. Checking it must require a deliberate click. “I agree” baked into the submit button is non-compliant and is a frequent rejection reason.

Privacy policy clause — exact wording

Add this verbatim to the privacy policy linked in your site footer. CTIA’s compliance framework looks for the “no sharing with third parties for marketing” concept; the explicit sentence makes TCR reviewers happy and reduces back-and-forth.

SMS communications. We collect your mobile number and consent only to send text messages related to the service you requested. Mobile information will not be shared with third parties or affiliates for marketing or promotional purposes. All categories listed in this section exclude text messaging originator opt-in data and consent; this information will not be shared with any third parties.

Also include:

  • The categories of messages you’ll send (appointment reminders, lead follow-up, promotions, etc.)
  • Message frequency (either an exact number per week or “message frequency varies”)
  • STOP / HELP keyword behavior
  • A contact email for texting-related requests

Sample message templates by use case

TCR requires 2 to 3 real sample messages per campaign. These are templates we file for common GHL use cases. Replace the merge tags with your own copy before submission.

Missed call / text-back:

Hi {{first_name}}, this is Dave at Smith Plumbing — sorry we missed your call. Can I help over text? Reply with what's going on and I'll get back to you shortly. Reply STOP to opt out.

Appointment reminder:

Reminder: your appointment with Smith Plumbing is tomorrow at {{appt_time}}. Reply C to confirm, R to reschedule, or STOP to opt out.

Lead response (speed-to-lead):

Hi {{first_name}} — this is {{owner_name}} from Smith Plumbing. Thanks for your request about {{service}}. Do you prefer we call or keep going by text? Reply STOP to opt out.

Review request:

Hi {{first_name}}, thanks for choosing Smith Plumbing. If we did a good job today, a Google review helps us a lot: {{review_url}}. Reply STOP to opt out of future texts.

Important: real sample messages — not Lorem Ipsum, not merge tags left unfilled, not three variants of the same text. TCR reviewers read these.

Monitoring and maintenance

Once a brand is approved, two things need ongoing attention:

  1. Trust score. TCR re-scores brands periodically. If you change your legal name, EIN, address or website on the brand record, the score can drop. Check it in the sub-account’s Trust Center monthly.
  2. Campaign fit. If you file a “Low Volume Mixed” campaign and then your volume grows past 2,000 messages per day on T-Mobile, carriers start throttling. Watch the Twilio messaging logs for 30007 (filtered) and 30008 (unknown) error codes — these are signals the campaign no longer fits your volume.

Rotating or adding numbers to an approved campaign doesn’t require a new registration — just attach the new number to the existing campaign in Trust Center.

FAQs

Can I text without A2P 10DLC if I keep volume low? No. Volume thresholds don’t exempt you — any A2P traffic to a US mobile is subject to registration. The Sole Proprietor path exists specifically for low-volume senders without an EIN; use that if you qualify.

Does toll-free messaging bypass A2P 10DLC? Toll-free numbers have their own registration (Twilio calls it “toll-free verification”) and have historically had better deliverability, but Verizon and T-Mobile now filter unverified toll-free traffic too. The path is similar: register the business, submit a use case, get approval. Fees are typically lower than 10DLC and timelines are 3 to 5 business days.

Can I just register under HighLevel’s agency EIN? No — the brand record must match the business sending the texts. Registering a client’s sub-account under your agency EIN will fail IRS lookup and reduces the trust score for every sub-account you file under it.

What’s the fastest path to a 75+ trust score? Fast-track brand verification + accurate legal name, EIN and address + complete website with privacy policy + specific campaign description. Most LogixLevel-filed brands score 90+ on first submission.

Does A2P 10DLC apply if we only text internally (owner-to-staff)? Yes. Any traffic from a 10DLC number to a US mobile is subject to registration, even if the recipients are your employees. Register and keep volume low under the Low Volume Mixed use case.

What happens if we text without registering? Twilio returns error 30034 and the message is dropped before it reaches the carrier. HighLevel shows “sent” in the UI (because the API returned 200), but the recipient never gets the text. This is the most common “my workflow is broken” complaint we solve.

Can we text Canadian or UK numbers from a US sub-account? International A2P has separate rules per country. For Canada, use a toll-free number verified under Canadian CTA rules. For the UK, you need a UK sender ID. None of these are A2P 10DLC — that’s US-only.

How often does TCR re-vet a brand? TCR runs continuous validation. Changes to the brand record (name, address, EIN) can trigger a re-score. Carriers can also request re-vetting if filtering patterns suggest brand drift.

Our brand got approved but T-Mobile throughput is tiny — what gives? The trust score. Check Twilio Console → Messaging → Services → Regulatory Compliance → Brands → your brand → trust score. Scores below 50 cap you at 10,000 messages per day on T-Mobile. The fix is almost always correcting the brand record (name match, address, website) and requesting re-vetting.

Can we have more than one campaign on one brand? Yes, and you should. File separate campaigns for: appointment reminders / notifications (Low Volume Mixed), promotional (Standard — Marketing), and account notifications (Standard — Account Notifications). Mixing them in one campaign is a common rejection reason.

When this is included vs. a standalone service

A2P 10DLC registration is part of every LogixLevel system that texts customers — Never-Missed-Call System, 5-Minute Lead Response Engine, Booked Calendar + No-Show Shield, Review Velocity. If you only need the compliance work without a new system, we handle it standalone as Texting Unlocked — EIN audit, consent language, privacy clause, brand + campaign filing, test send verification. Check your current readiness first with the free A2P 10DLC Readiness Check.

Sources and further reading

Find out which system would pay for itself first.

A free 20-minute fit call with a US-based engineer, not a salesperson. We’ll tell you what to build, what it costs, and whether we’re the right people . or point you somewhere better.

Reply within 1 business day · US Eastern · No contracts · You own everything