Zenoti to GoHighLevel migration: a practical guide for med spas
Most med spas should keep Zenoti for operations and add GoHighLevel for marketing. Here is how to do it without breaking either.
Learn moreWhy your GoHighLevel SMS is filtered or blocked, what A2P 10DLC brand and campaign registration requires, the website changes that get approvals through, and what to do after a rejection.
Short answer: when GoHighLevel texts are not sending, the usual reason is that the number is not registered and approved for A2P 10DLC, the US carrier system for application-to-person messaging from ten-digit numbers. Registration has two parts, brand (who you are) and campaign (what you send and how people consented). Approval depends on a consistent legal identity and a website with a privacy policy, terms and explicit consent language on every phone-collecting form. Rejections are almost always fixable by tightening those three things.
Carriers want to know which business is sending texts and whether recipients agreed to receive them. Brand registration verifies the business: legal name, EIN, address, website. Campaign registration describes the use case (appointment reminders, lead follow-up, marketing), provides sample messages and documents how consent is collected. Approved traffic gets reliable delivery; unregistered traffic gets filtered, which from inside GoHighLevel looks like messages that show as sent but never arrive.
A physical therapy practice we set up had to add a contact page, a privacy policy, terms and consent checkboxes to a WordPress site before the campaign could be approved. This is normal. Reviewers open your website and look for: your legal business name matching the registration, a privacy policy that mentions SMS, terms of service, and a consent statement at the point of collection that names the message type, frequency, opt-out method and that message and data rates may apply.
Next to every phone field: "By providing your phone number, you agree to receive text messages from [Business] about [appointments and account updates]. Message frequency varies. Reply STOP to opt out. Message and data rates may apply." Owners sometimes feel this "forces people to accept marketing." It does not; it tells them what they are agreeing to, which is the point, and it protects the business.
Team members who "use their CRM numbers religiously" need those numbers ported carefully, and ported or new numbers must be attached to an approved campaign before use. New sub-accounts register separately. Build A2P into the onboarding checklist so nobody discovers it the week of launch.
Registration lets you send; consent law governs whether you may. Outbound texting to purchased lists, common in real estate, requires consent handling and Do Not Call screening, and state rules such as New York's add restrictions. We build consent capture, DNC scrubbing and quiet hours into every outbound design and recommend a compliance review of the documented flow. See GoHighLevel for real estate for how that looks in practice.
If the number is not A2P 10DLC registered and approved, carriers filter the traffic. Check the phone number's registration status in the sub-account first. Other causes are a missing opt-in on the contact, a paused number for spam complaints, or a workflow condition that is not met.
Brand registration is usually quick; campaign approval typically takes several business days and longer if it is rejected and resubmitted. Start before you need to send.
A privacy policy and terms page, a contact page with your legal business name and address, and a consent checkbox or statement on every form that collects a phone number that says what you will text, how often, and how to opt out.
Each sub-account with its own phone numbers registers its own brand and campaign. Agencies should build the registration into the onboarding checklist.
Most med spas should keep Zenoti for operations and add GoHighLevel for marketing. Here is how to do it without breaking either.
Learn moreFor local and multi-location service businesses, the decision usually comes down to communication channels and cost structure. Here is how we think about it.
Learn moreThe businesses AI cannot replace are the ones AI helps most. A thesis on where automation pays for physical service companies.
Learn moreBook a 30-minute call. We look at the account live and tell you what is broken, what we would fix first and what it would cost.
No pitch deck. We look at your current setup and tell you what we would do and what it would cost.Need more than GoHighLevel? Yotomations, our parent company, also builds AI agents, custom software and websites.