The direct answer: in GoHighLevel, A2P 10DLC runs through the LeadConnector phone system's Trust Center inside each sub-account: register the brand (the client's legal identity + EIN), then the campaign (use case, description, sample messages, opt-in evidence). Approval is decided by The Campaign Registry and the carriers — not by GHL — so the inputs decide everything. Prepare the five inputs below first and most registrations clear without drama; wing it and you'll meet the rejection codes.
Context if you're new to this: A2P 10DLC is the US carrier registration required for any business texting over standard 10-digit numbers — full background here. This guide is specifically about doing it inside GoHighLevel, where the flow has its own quirks and its own classic mistakes.
Before you touch the Trust Center: the five inputs
Registration is a form-filling exercise wrapped around five pieces of evidence. Gather them first — for the client's business, not your agency:
- Legal identity: business name, address and EIN exactly as they appear in IRS/state records. "Exactly" is literal — mismatches push the brand into manual review or vetting.
- A live website that matches the brand. Not "coming soon," not a Facebook page, and visibly the same business name being registered.
- A privacy policy reachable from that site, mentioning SMS, and stating opt-in data isn't shared with third parties for marketing.
- Visible opt-in: the actual form or flow where a person consents to texts — with consent language, frequency disclosure, "Message and Data Rates May Apply," and STOP instructions. Screenshot-ready.
- Honest sample messages — what the workflows will really send, opt-out line included.
Step 1: Register the brand
In the sub-account's Trust Center flow, the brand is the business identity. Two decisions matter:
Standard Brand vs Sole Proprietor — pick correctly
| Standard Brand | Sole Proprietor | |
|---|---|---|
| Who it's for | Any business with an EIN | Businesses without an EIN only |
| Verification | EIN vs IRS/state records | One-time code to a personal mobile number (VoIP/LeadConnector numbers won't work) |
| Limits | Normal throughput | Low throughput; max 3 brands per mobile number |
Registering an EIN business as a Sole Proprietor "because it looked easier" is one of the five classic rejections (code 30903) — and it wastes a full review cycle.
Step 2: Register the campaign
The campaign describes what you'll send. Three fields do the heavy lifting:
- Use case. Match it to your real messages — lead follow-up that stops on reply is typically Customer Care or Mixed, not Marketing. Our use-case guide maps the common GHL workflows (follow-ups, reminders, review requests, revival campaigns) to the right label.
- Description. Plain, specific, and consistent with the use case: who opted in, how, and what they receive. The #1 rejection (30886) is a description that contradicts the chosen use case.
- Sample messages. Pull them from the actual workflows you've built. Include "Reply STOP to opt out."
The GHL-specific rejection wall
These are the codes we see across sub-accounts, with the actual fix:
| Code | What it means | Fix |
|---|---|---|
| 30886 | Description doesn't match use case | Rewrite honestly; align with real workflows |
| 30907 | Website broken / doesn't match brand | Live site, matching name, working URL |
| 30908 | No accessible privacy policy | Linked policy that mentions SMS + no data sharing |
| 30909 | Opt-in / CTA missing or unclear | Real form with the required disclosures |
| 30903 | EIN business registered as Sole Prop | Re-register as Standard Brand |
Every rejection restarts that stage's review clock — which is why the five-input prep beats submit-and-pray. For the full clock (including AT&T's 2–4 week human review that nobody can expedite), see the 2026 approval timeline.
The agency trap: sub-accounts are separate businesses
The most expensive misunderstanding in GHL land: you cannot register once at the agency level and cover every client. Registration identifies the business actually sending. Each sub-account needs its own brand (that client's EIN, that client's website, that client's opt-in) and its own campaign. Register client traffic under your agency brand and you've mismatched the sender identity — filtering and rejections follow, sometimes months later.
What the agency should centralize is the process: a standard intake checklist for the five inputs, template privacy-policy language clients can adapt, and a tested opt-in form pattern. That's how we run it — registration becomes a one-week task instead of a three-month saga.
After approval: don't undo it
- Send what you registered. Drifting from Customer Care descriptions into promo blasts invites filtering on a registered campaign.
- Warm up volume — low sends first, then scale.
- Watch delivery, not just "sent." If replies and clicks flatline, investigate before blasting more.
- Keep opt-in provable. If your forms change, keep them compliant — audits happen after approval too.
If the default LeadConnector route itself becomes the constraint — cost at volume, or registration support — a dedicated aggregator is the next step up; our SignalHouse review covers when that switch is actually worth it (and when it isn't).
Stuck in GHL A2P purgatory? Send us your registration details and we'll tell you exactly which input is failing and what to resubmit — request a free audit, written answer within 24 hours. We've cleared registrations other people abandoned.