Skip to content

GoHighLevel

A2P SMS Registration Playbook

Platform
GoHighLevel
Owner
GoHighLevel Specialist
Assignee
Anne
Supports
Website Specialist, CSM
Needs review — This SOP contains our content but has not been verified by Nick. Treat as a working draft until marked Live.

Use this when a Tekton client needs A2P, 10DLC, or SMS carrier registration approval.

A2P reviewers are checking whether the legal business, website, opt-in flow, Privacy Policy, Terms, sample messages, and submitted campaign details all tell the same story. The goal is to make consent clear, provable, optional, and consistent before the registration is submitted.

Treat A2P like a compliance packet, not a form fill. If the website does not support the registration claim, fix the website before submitting.

Collect these before submitting:

  • Legal business name exactly as shown on IRS/EIN records.
  • DBA or public brand name, if different from the legal name.
  • EIN, if the business has one.
  • Entity type and business address matching the EIN record.
  • Business website URL.
  • Public contact, booking, or opt-in page URL where SMS opt-in happens.
  • Screenshot link if opt-in is offline, behind login, inside a multi-step form, QR-based, or not yet public.
  • Privacy Policy URL.
  • Terms and Conditions or Terms of Service URL.
  • Business phone number.
  • Domain-based business email when available.
  • SMS campaign use case.
  • Campaign description.
  • Message flow and opt-in description.
  • Opt-in confirmation message.
  • HELP message.
  • STOP or opt-out confirmation message.
  • Opt-in, opt-out, and HELP keywords.
  • At least two sample SMS messages.

Register the business that will send messages to consumers. Do not register Tekton, HighLevel, LeadConnector, or another software/agency brand when the client is the sender.

Bad pattern:

Brand registered: Tekton Growth or HighLevel agency account
Website submitted: clientdomain.com
Messages sent from: client business

Good pattern:

Brand registered: Client legal business
Website submitted: client website
Messages sent from: client business

Use the legal business name and address tied to the EIN. If the client has an EIN, do not submit them as a sole proprietor campaign.

For DBAs, use the legal entity for the brand registration and make the DBA/public brand visible on the website and campaign copy where appropriate.

Do not create excessive duplicate brands or campaigns with the same EIN and nearly identical campaign attributes. Carriers can treat this as high risk.

If the client uses LeadConnector, GoHighLevel, or another CRM widget, install the provided widget script sitewide in the shared layout.

Preferred placement:

<script src="https://widgets.leadconnectorhq.com/loader.js" data-resources-url="https://widgets.leadconnectorhq.com/chat-widget/loader.js" data-widget-id="WIDGET_ID"></script>

Place the script before </body> so it loads across the public site without blocking rendering.

Do not assume generic legal pages are enough. Use the exact URLs submitted in the A2P registration packet.

Common accepted paths:

  • /privacy-policy/
  • /terms-and-conditions-page/

If the site already has /privacy/ and /terms/, create real route aliases for the A2P paths. Avoid homepage fallbacks. Redirects are better than missing pages, but real pages at the submitted URLs are cleaner for review.

Search the codebase for every form and embed that collects a phone number:

  • Native <form> elements.
  • CRM iframes.
  • LeadConnector forms.
  • Contact forms.
  • Booking forms.
  • Newsletter or lead forms with phone fields.

If a form collects a phone number, SMS opt-in language must be visible near that form.

Best practice: add an SMS consent checkbox inside the CRM form itself.

This matters because a checkbox outside an iframe does not actually control the embedded form submission. For LeadConnector forms, edit the form in LeadConnector when possible.

Required behavior:

  • The checkbox must be optional, not required to submit the form.
  • The checkbox must not be pre-selected.
  • SMS consent must be separate from email or phone-call consent.
  • Marketing SMS consent must be separate from non-marketing/customer-care SMS consent.
  • Submitting a form with a phone number is not enough by itself. SMS messages should only be sent when the user selected SMS consent or otherwise provided verifiable consent.

Recommended non-marketing checkbox label:

I consent to receive non-marketing text messages from [Business Name] about appointment reminders, estimate follow-ups, service updates, and customer support at the phone number provided. Message frequency may vary. Message and data rates may apply. Reply HELP for help. Reply STOP to opt out.

Recommended marketing checkbox label:

I consent to receive marketing text messages from [Business Name] about offers, promotions, and service updates at the phone number provided. Message frequency may vary. Message and data rates may apply. Reply HELP for help. Reply STOP to opt out. Consent is not a condition of purchase.

If the form builder supports links, link:

  • Privacy Policy
  • Terms of Service

Do not combine marketing and non-marketing consent in one checkbox unless the campaign and samples are registered for that combined use case and the consent language clearly covers it.

Keep a visible disclosure below the form submit button as backup, especially when the form is embedded in an iframe.

Recommended disclosure:

SMS consent: By submitting this form and providing your phone number, you may opt in to receive calls and text messages from [Business Name] about your inquiry. Message frequency may vary. Message and data rates may apply. Reply STOP to opt out or HELP for help. Consent is not a condition of purchase. View our Privacy Policy and Terms of Service.

Placement preference:

  1. Optional checkbox above the Submit button, inside the CRM form.
  2. Disclosure text directly below the Submit button or directly below the embedded form.

Add explicit SMS and mobile-data language. This is one of the most common rejection points.

Recommended section:

SMS Communications
If you provide your phone number through our website, forms, or direct communication, you may consent to receive calls and text messages from [Business Name] related to your inquiry, appointments, requested services, or account communication. Message frequency may vary. Message and data rates may apply. You may reply STOP to opt out or HELP for help.
No mobile information will be shared with third parties or affiliates for marketing or promotional purposes. Information sharing to subcontractors in support services, such as customer service, is permitted. All other use case categories exclude text messaging originator opt-in data and consent. This information will not be shared with any third parties.

Avoid broad language that says the business may share personal information with partners or affiliates for marketing. That conflicts with current reviewer expectations.

Add SMS terms to the Terms and Conditions or Terms of Service page.

Recommended section:

SMS Terms
By providing your phone number and opting in, you agree to receive text messages from [Business Name] related to your inquiry, appointments, requested services, or account communication. Message frequency may vary. Message and data rates may apply.
You can cancel SMS messages at any time by replying STOP. After you reply STOP, we may send one final message confirming that you have been unsubscribed. For help, reply HELP or contact us at [support email or phone number].
Carriers are not liable for delayed or undelivered messages. Consent to receive text messages is not a condition of purchase.

Choose the use case that actually matches the messages. Do not select marketing if the samples are appointment reminders. Do not select 2FA if the samples are sales follow-up.

For most Tekton local-service clients, use one of these positioning buckets:

  • Inquiry response.
  • Appointment coordination.
  • Estimate follow-up.
  • Requested service follow-up.
  • Client communication.
  • Customer care.

Only use marketing when the client truly sends promos/offers and the opt-in checkbox explicitly covers marketing.

Use plain operational language. Do not describe cold outreach, mass texting, promotional blasts, or purchased lists.

Template:

[Business Name] sends SMS messages to customers and inbound leads who have opted in through [opt-in source]. Messages include appointment reminders, estimate follow-ups, service updates, scheduling coordination, and customer support responses. Recipients are existing customers or inbound leads who requested communication from [Business Name].

Example for JC Bookkeeping:

JC Bookkeeping Services sends SMS messages to customers and inbound leads who have opted in through the website contact form. Messages include consultation coordination, bookkeeping inquiry follow-up, requested service updates, and customer support responses.

The message flow must explain exactly where and how the user opts in. A reviewer must be able to verify it.

Template for web forms:

End users opt in by visiting [direct form URL] and submitting the contact form. The form asks for their phone number and includes an optional, unchecked SMS consent checkbox with the following language: “[exact checkbox language].” The form links to the Privacy Policy at [URL] and Terms & Conditions at [URL]. SMS consent is not required to submit the form.

If opt-in is not visible on a public page, include a hosted screenshot URL:

End users opt in through [paper form / in-person form / QR code / gated portal / phone call]. A screenshot or document showing the opt-in language is available here: [public screenshot URL]. The opt-in language includes the brand name, message purpose, message frequency, message and data rates disclosure, STOP instructions, HELP instructions, Privacy Policy link, and Terms link.

Do not submit vague language like:

Customers sign up.

Required for recurring campaigns. Keep it short and include brand, message type, frequency, rates, HELP, and STOP.

Template:

[Business Name]: You’re opted in for appointment reminders, service updates, and customer support messages. Msg freq varies. Msg/data rates may apply. Reply HELP for help, STOP to cancel.

Use messages that match the campaign description.

Rules:

  • Include the business name in at least one sample.
  • Include STOP language in at least one sample.
  • Use bracketed placeholders for variables, such as [First Name] or [Date].
  • Make the samples realistic.
  • Make sure samples match the selected campaign type.

Inquiry response:

Hi [First Name], this is [Name] with [Business Name]. Thanks for reaching out about [Service]. What day works best for a quick call? Reply STOP to opt out.

Appointment confirmation:

[Business Name]: Hi [First Name], confirming your consultation for [Date] at [Time]. Reply HELP for help or STOP to opt out.

Follow-up:

Hi [First Name], following up on your inquiry with [Business Name]. Are you still looking for help with [Service]? Reply STOP to opt out.

Client communication:

[Business Name]: Hi [First Name], we received your message and will follow up shortly about your requested service. Reply HELP for help or STOP to opt out.

Bad sample:

You have an upcoming appointment.

Why it fails: no brand, too vague, and no opt-out language.

Opt-in keywords, if used:

START, JOIN, OPTIN, UNSTOP

Opt-out keywords:

STOP, UNSUBSCRIBE, END, QUIT, CANCEL, STOP ALL

HELP keywords:

HELP, INFO, SUPPORT

Opt-out confirmation:

You have successfully unsubscribed from [Business Name]. You will not receive any more messages from this number.

HELP response:

[Business Name]: For help, call [Phone] or visit [Website]. Reply STOP to opt out.

Avoid these phrases unless the client truly runs a compliant marketing campaign:

  • Marketing blasts.
  • Promotional offers.
  • Mass texting.
  • Cold outreach.
  • Purchased lists.
  • Lead lists.
  • Automated marketing campaigns.
  • Discounts and coupons, unless the campaign is registered for that exact use case.

Do not submit campaigns tied to:

  • Cannabis, CBD, or illegal drugs.
  • Hate, harassment, or abusive content.
  • Firearms or weapons.
  • Gambling.
  • Adult content.
  • Debt collection or debt relief.
  • High-risk financial services.
  • Payday loans.
  • Lead generation or affiliate marketing where opt-in is passed between parties.
  • Cold outreach to people who did not directly opt in.

If a client sits near one of these categories, escalate before submitting.

Audit for these before resubmitting. Reviewers often reject on the first issue they see, so fixing only the stated rejection reason can lead to another denial.

  • Opt-in flow is vague or unverifiable.
  • Website does not show SMS opt-in language.
  • Website URL is invalid, broken, inaccessible, or does not match the brand.
  • Privacy Policy allows sharing mobile information with third parties or affiliates for marketing.
  • Terms page is missing or not public.
  • Campaign description is too generic.
  • Sample messages do not match campaign type.
  • Sample messages do not include brand name.
  • No STOP language in samples.
  • Agency or software company is registered instead of the actual sender.
  • EIN business is submitted as sole proprietor.
  • Placeholders like [Company Name] are submitted instead of the real brand.
  • Consent checkbox is required or pre-checked.
  • Marketing and non-marketing consent are combined without a matching use case.
  • Duplicate brands or campaigns with the same EIN and same attributes.
  • Prohibited or high-risk content.

Before telling Nick the packet is ready:

  • Website builds successfully.
  • Contact page returns HTTP 200.
  • Privacy Policy URL returns HTTP 200.
  • Terms URL returns HTTP 200.
  • Chat or CRM widget loads, if required for the packet.
  • Phone-collecting form is visible.
  • SMS checkbox is present inside the form when possible.
  • SMS checkbox is optional, not pre-checked, and not required to submit.
  • SMS checkbox is separate from email, calls, and marketing when needed.
  • SMS disclosure is visible below the submit button or embedded form.
  • Privacy Policy includes mobile-data no-sale/no-sharing language.
  • Terms include SMS terms.
  • Campaign description answers sender, recipient, purpose, and relationship.
  • Message flow includes the direct URL or screenshot proof where consent is collected.
  • Sample messages include brand name, bracketed variables, and STOP language.
  • Opt-in confirmation, HELP response, and STOP response are complete.
  • Browser console has no blocking errors on the contact page.
  • Submitted A2P URLs exactly match the live pages.

Live URLs used:

  • Website: https://www.jcbookkeeper.com/
  • Contact and opt-in page: https://www.jcbookkeeper.com/contact/
  • Privacy Policy: https://jcbookkeeper.com/privacy-policy
  • Terms: https://jcbookkeeper.com/terms-and-conditions-page

Implementation notes:

  • LeadConnector chat widget installed sitewide in the Astro layout.
  • Exact legal route aliases created at /privacy-policy/ and /terms-and-conditions-page/.
  • Contact page LeadConnector form collects Phone *.
  • SMS disclosure placed below the embedded form submit area.
  • Recommended remaining improvement: add an optional, unchecked SMS consent checkbox inside the LeadConnector form itself.

A reviewer should be able to answer these questions without guessing:

  • Who is sending texts?
  • Who receives the texts?
  • Why will the user receive texts?
  • Where did the user opt in?
  • Can the reviewer verify the opt-in flow from a public URL or screenshot?
  • Did the user know texts were part of the submission?
  • Is SMS consent optional and not required for purchase?
  • Is the checkbox unchecked by default?
  • Are marketing and non-marketing texts separated when needed?
  • Can the user opt out with STOP?
  • Can the user get help with HELP?
  • Are message and data rates disclosed?
  • Does the Privacy Policy say mobile opt-in data is not sold or shared with third parties or affiliates for marketing?
  • Do the website, form, legal pages, sample messages, and registration packet all match?