How to Connect a Custom Domain to GoHighLevel
A GoHighLevel custom domain replaces the generic funnel or website address HighLevel hands you with a domain your business actually owns, like yourcompany.com instead of a shared subdomain.
Connecting one takes a handful of DNS records and a short wait for propagation. Which records you need depends on whether you're pointing a root domain, a subdomain, or the agency login screen itself.
Connecting a GoHighLevel Custom Domain to a Site or Funnel
Inside a sub-account, domain connections live under Settings → Domains & URL Redirects. Click "Connect a domain" and pick whether you're pointing it at a funnel, a website built with HighLevel's own website builder, a store, a blog or a webinar.
From there you get two paths: automatic Domain Connect for providers HighLevel recognizes, or manual DNS entry for everyone else.
Domains bought directly through HighLevel skip that flow, running instead through Settings → Domains → Purchased Domains, where you add A, CNAME, AAAA, MX or TXT records on the same screen.
Don't expect the domain to resolve the moment you save a record, either way. HighLevel's own domain configuration guide puts propagation at anywhere from a few minutes to several hours, and the connection won't finish until the record it's checking for actually resolves.
Getting the records right the first time avoids that wait, which is why a GoHighLevel setup and configuration engagement treats domains as a line item, not an afterthought.
Root Domain or Subdomain: The DNS Records Differ
A root domain like example.com and a subdomain like offers.example.com don't take the same record. Get them backwards and the domain sits there unresolved while the SSL certificate never issues.
| Domain type | Record type | Host/name | Target value |
|---|---|---|---|
| Root domain | A | @ | 162.159.140.166 |
| Subdomain (funnel/site) | CNAME | subdomain only, e.g. "offers" | sites.ludicrous.cloud |
| Whitelabel app login | CNAME | subdomain only, e.g. "app" | whitelabel.ludicrous.cloud |
HighLevel is explicit that you use one or the other, never both, on the same hostname. Pairing an A record and a CNAME on the same subdomain creates a conflict no resolver can settle.
Once the right one resolves, HighLevel's root and subdomain setup guide says SSL provisions automatically, typically within a few minutes of the domain connecting.
Cloudflare users hit a specific snag here. Leave the record proxied behind the orange cloud, and HighLevel can't validate it to issue a certificate.
Cloudflare's own documentation on proxy status recommends DNS only for exactly this case: a SaaS-hosted website that just needs the real IP handed out, not proxied. Switch the record, and the same CNAME that failed a minute earlier resolves cleanly.
That domain's performance in search is a separate question, covered in our rundown of what GoHighLevel's landing page SEO controls.
Whitelabel Domains Answer a Different Question
A domain on a funnel is about what a lead sees in their browser. Whitelabel domains are about what a client sees logging into the platform you resell them, and the two aren't interchangeable.
Setting one up means a CNAME pointed at whitelabel.ludicrous.cloud, entered under Agency Settings → Company → Whitelabel, along with a logo and links to your privacy policy and terms.
SSL on a whitelabel domain comes from Let's Encrypt and issues automatically once DNS resolves, according to HighLevel's whitelabel domain setup guide, generally inside about 30 minutes.
The API domain is a related but separate setting. It controls the links HighLevel generates inside emails and texts, not the login screen.
Agencies running ongoing white-label support for clients usually set up both, since a branded login that still sends mail from a HighLevel-owned link undoes most of the branding work.
Whichever domain you're connecting, the failure mode is nearly always the same: a leftover A or CNAME record still pointed at an old host, or a proxied record blocking certificate validation. Check what's already there before adding anything new, rather than waiting to see why SSL is stuck on pending.
Cover photo by Markus Winkler on Pexels
Need help implementing this in GoHighLevel?
Our team builds, automates, and scales GoHighLevel systems for agencies every day. Book a free call and we'll map out exactly what to ship next.
Book a free call


