FHDtech GHL Showcase
FAHID GHL SHOWCASE
A2P 10DLC

A2P Verification — 3 Approval Methods

Every GoHighLevel sub-account sending SMS in the US must complete A2P 10DLC registration. Here are the 3 real-world methods I use to get brands and campaigns approved — with exact steps.

What is A2P 10DLC?

A2P 10DLC (Application-to-Person, 10-Digit Long Code) is the US carrier system for registering business SMS traffic. Every message that leaves GoHighLevel is checked against your registered Brand + Campaign. Get approved and messages deliver instantly; get rejected and your account is throttled or blocked.

Approval requires two things carriers can verify: a visible business identity (website, brand, contact info) and proof of consent (privacy policy, terms, and an opt-in mechanism). The 3 methods below map to different client situations.

Real submissions, real approvals

What a passing A2P setup actually looks like

Two screenshots from a live client build (Blue Path Realty): the compliant funnel I put together for the A2P Optin, and the final Brand + Campaign approval inside GoHighLevel.

Step 1 — Build the compliant funnel

A2P Optin Funnel — 5 required pages

GoHighLevel funnel steps for A2P Optin: Home, About, Contact, Privacy, Terms

This is the exact funnel I built on the client's subdomain go.bluepathrealty.com. A2P reviewers open the domain and expect to see a real business plus every compliance page — so the funnel has 5 steps, each linked in the footer:

  • Home — business name, logo, services, contact info
  • About — who the business is (builds trust)
  • Contact — form + chat widget with SMS consent line
  • Privacy — SMS-specific data & no-share clause
  • Terms — SMS terms: STOP, HELP, frequency, rates

Without any of these pages, the campaign is rejected instantly. With all five live on an SSL subdomain, approval is almost always cleared on the first submission.

Step 2 — Submit and get approved

A2P Messaging — Brand & Campaign Approved

GoHighLevel A2P Messaging (SMS) card showing Brand status Approved and Campaign status Approved

This is the outcome inside GoHighLevel → Phone Numbers → Trust Center after submitting the registration with the funnel above. Both statuses matter:

  • Brand status: Approved — the legal business (name + EIN or Sole Prop identity) is verified by The Campaign Registry.
  • Campaign status: Approved — the use case, sample messages and opt-in proof are cleared by US carriers.

Only when both are green does GoHighLevel actually deliver SMS through US carriers at full throughput. Anything less (Pending, Failed, one green + one grey) means messages are throttled or blocked — and every A2P setup I ship targets exactly this two-green result.

1Method 01

Subdomain + Chat Widget + Policy Pages

The go-to method — build a compliant brand-site on a subdomain (like go.nextstepre.com or go.bluepathrealty.com).

Why this method works

Carriers need a real, live URL that proves the business exists and describes what SMS it will send. When a client has no website (or an old one), the fastest, cleanest approval path is a purpose-built subdomain of your agency domain, hosted inside GoHighLevel itself.

  1. 1

    Pick a subdomain

    Use a short subdomain on your agency domain — go.clientname.com, hi.clientname.com, or app.clientname.com. Keep it professional; carriers reject anything that looks disposable.

  2. 2

    Point DNS to GoHighLevel

    In your DNS provider (Cloudflare, GoDaddy, Namecheap), create a CNAME record for the subdomain pointing to funnels.msgsndr.com (or the domain GHL shows in Sites → Domains). Wait for propagation.

  3. 3

    Attach the domain inside GHL

    GHL sub-account → Sites → Domains → Add Domain → paste the subdomain. GHL auto-issues an SSL certificate. Once green, the domain is live.

  4. 4

    Build the home / landing page

    Create a Funnel with one page and set it as the domain's root. Include: business name, real logo, what the business does, physical address, contact email, contact phone, and a hero image. This is what the carrier reviewer sees first.

  5. 5

    Add the Chat Widget as the opt-in mechanism

    GHL → Sites → Chat Widget → create a widget with an SMS opt-in checkbox. Add the widget's script tag to the funnel page. The widget must clearly show 'By submitting, you agree to receive SMS from [Business]. Msg & data rates may apply. Reply STOP to unsubscribe.'

  6. 6

    Publish the required policy pages

    Create 3 additional pages on the same domain and link them in the footer:

    • /privacy — privacy policy that explicitly states phone numbers collected via forms/chat are used to send SMS and are never sold or shared with third parties for marketing.
    • /terms — terms of service covering acceptable use.
    • /sms — dedicated SMS terms page: message frequency, opt-in method, opt-out (STOP), help (HELP), and 'Msg & data rates may apply'.
  7. 7

    Fill out A2P registration in GHL

    Settings → Phone Numbers → Trust Center → Start. Brand = legal business name + EIN (or Sole Prop if no EIN). Website URL = your new subdomain. Campaign use case = Customer Care or Marketing. Sample messages must match what the chat widget promises.

  8. 8

    Submit and wait 1–5 business days

    Brand approval is usually instant. Campaign approval takes 1–5 days. If rejected, 90% of the time it's because the policy pages are missing SMS-specific language or the opt-in isn't visible on the homepage — fix and resubmit.

Pre-submit checklist

  • Subdomain resolves with a valid SSL certificate
  • Homepage shows business name, address, phone, email
  • Chat widget is visible and has an SMS consent line
  • Privacy, Terms and SMS policy pages linked in the footer
  • Sample messages in A2P match what the widget promises
2Method 02

Existing Business Website

Client already has a real website — you just need to make it A2P-compliant.

Why this method works

If the client already has a legitimate site with real traffic, don't rebuild it — retrofit it. This is faster and carriers prefer seeing an established domain with organic history.

  1. 1

    Audit the current site

    Check the client's existing site for: physical address, contact info, working forms, and any current privacy/terms pages. Note what's missing.

  2. 2

    Add or update the Privacy Policy

    The privacy page must include: what info is collected (name, email, phone), how it's used, an explicit line that phone numbers are used to send SMS, that data is NOT shared with third parties for marketing, and a way to request deletion.

  3. 3

    Add a dedicated SMS Terms page

    Add /sms-terms (or add an SMS section inside Terms) covering: opt-in method used, message types, message frequency ('recurring messages'), STOP to opt out, HELP for help, and 'Msg & data rates may apply'.

  4. 4

    Confirm an opt-in form exists

    Every A2P registration must show HOW consent is collected. Point the reviewer to an existing contact form, booking form, or chat widget on the site — and make sure that form has a visible SMS-consent checkbox or disclosure right next to the phone field.

  5. 5

    Link the policy pages in the footer

    Reviewers scan the footer first. Privacy, Terms, and SMS Terms must be linked sitewide, not buried inside another page.

  6. 6

    Register the Brand and Campaign in GHL

    Settings → Phone Numbers → Trust Center. Use the client's legal name and EIN, the existing website URL, and paste the opt-in form URL as the 'How do end-users opt in?' proof.

  7. 7

    Provide 2–5 sample messages

    Samples must reflect the campaign use case. Include the business name and STOP instructions in at least one sample. Example: 'Hi {{first_name}}, this is Sarah from ACME Dental confirming your appointment on Fri 3pm. Reply STOP to opt out.'

Pre-submit checklist

  • Business name, address, phone visible on the site
  • Privacy policy explicitly mentions SMS use of phone numbers
  • SMS Terms page live with STOP/HELP/frequency wording
  • Opt-in form URL provided in the A2P registration
  • Sample messages contain the brand name + opt-out
3Method 03

Sole Proprietor Registration

For individuals with no EIN and low sending volume.

Why this method works

If the client is a solo operator (agent, coach, consultant) with no registered business or EIN — and they'll send fewer than ~3,000 messages/day — Sole Proprietor is the fastest, cheapest path. No website is strictly required, but a simple landing page dramatically improves approval odds.

  1. 1

    Confirm eligibility

    Sole Prop is for US-based individuals sending low volume. If the client has an EIN, register as a Standard Brand instead — you'll get higher throughput and better trust score.

  2. 2

    Gather personal info

    You need: legal first + last name, personal address, personal mobile number (used for identity verification), and personal email. This info is sent to TCR (The Campaign Registry) — it is NOT public.

  3. 3

    Verify the personal mobile via OTP

    During registration, the individual receives an OTP text on their personal mobile. This is the identity check that replaces EIN verification.

  4. 4

    (Optional but recommended) Publish a simple 1-page site

    Even Sole Prop registrations approve faster with a live URL. Spin up a single-page subdomain (see Method 1) with the person's name, what they do, contact info, and a mini privacy + SMS policy section on the same page.

  5. 5

    Register the Campaign

    Use case = Low Volume Mixed or Customer Care. Description must explain who the person is, what SMS they'll send, and how recipients opted in (e.g., 'via my Calendly booking form which has an SMS-consent checkbox').

  6. 6

    Provide opt-in proof + samples

    Paste the URL of your booking form / opt-in form. Provide 2–3 sample messages that include your name and STOP instructions.

  7. 7

    Wait for approval

    Sole Prop approvals are usually faster (1–3 business days). Rejection reasons are almost always: sample messages don't include opt-out, or the opt-in URL doesn't show a visible consent checkbox.

Pre-submit checklist

  • Legal name + personal address + personal mobile ready
  • Mobile OTP verified during registration
  • Opt-in mechanism URL provided (booking form, chat widget)
  • Samples include personal/business name and STOP
  • Volume stays under Sole Prop throughput limits
Avoid rejection

The 6 things that get A2P registrations rejected

Privacy policy doesn't mention SMS specifically.

No visible opt-in / consent checkbox next to the phone field.

Sample messages don't include the brand name or STOP instructions.

Website doesn't load, has no SSL, or is a generic template with placeholder text.

Business address/phone missing from the site.

Campaign use case doesn't match the sample messages.

Need me to handle A2P for you?

I've submitted 100+ A2P registrations across all 3 methods. I'll pick the fastest path for your client, build the site + policy pages, and get you approved.

Get A2P Approved