
GoHighLevel Custom Domain Not Working? Fix DNS and SSL
GoHighLevel Custom Domain Not Working? DNS and SSL Troubleshooting
If your GoHighLevel custom domain is not working, the cause is almost always one of five things: a CNAME record that points to the wrong target, DNS changes that have not finished propagating, an SSL certificate that has not been issued yet, a domain added in the wrong place inside GoHighLevel, or a conflicting record left over from a previous host. The fix in most cases is to confirm the CNAME points to the exact target GoHighLevel gives you, remove any clashing A or CNAME records, wait for propagation, and let GoHighLevel re issue the certificate. Most domains come back online within a few minutes to a few hours once the records are correct.
That is the short answer. The rest of this guide walks through each cause in order, with the exact checks to run and the current 2026 menu paths, so you can find your specific break instead of guessing.
The Five Reasons a GoHighLevel Custom Domain Fails
Before changing anything, it helps to know which of the five failure types you are dealing with, because the fix is different for each. The table below maps the symptom you are seeing to the most likely cause.
Fix 1: Check Your CNAME Record First
The single most common reason a GoHighLevel custom domain will not load is a CNAME record that is missing, pointing to the wrong place, or entered with a small mistake.
When you add a domain in GoHighLevel, the platform gives you a specific target value to point your domain at. For a subdomain such as go.yourbrand.com or www.yourbrand.com, this is a CNAME record. You create that record at your domain registrar or wherever your DNS is managed, such as GoDaddy, Namecheap, Cloudflare, or Google Domains.
Three things go wrong most often here. The target value is copied with an extra space or a missing character. The record is created as an A record when it should be a CNAME. Or the host field is filled in incorrectly, for example typing the full domain when only the subdomain prefix is needed.
To check it, open your DNS settings at your registrar and confirm the CNAME host and target match exactly what GoHighLevel shows you in the domain setup screen. The target must be identical, character for character. If anything differs, correct it, save, and then give it time to update.
Where to find the target value in GoHighLevel
Inside your sub account, go to Settings, then Domains. Select the domain you are connecting and GoHighLevel displays the required record type, the host, and the target value to copy. This is the source of truth. Do not use a target value from an old guide or a different account, because GoHighLevel has used different targets over time and the one shown in your own account is the correct one for you.
Fix 2: Give DNS Propagation Enough Time
DNS changes are not instant. When you add or edit a record, it has to spread across servers worldwide, and that takes time. This is called propagation.
In most cases propagation completes within a few minutes to a couple of hours. In some cases, depending on your registrar and the record's time to live setting, it can take up to a full day. This is the reason a domain that looks correctly configured still does not work right after you set it up.
The table below shows what to reasonably expect.
To see whether your record has propagated, use a free DNS checker such as a global DNS lookup tool. Enter your domain, choose CNAME, and confirm the target matches what GoHighLevel gave you across most locations. If it shows the correct target in most regions, propagation is effectively done and the problem is elsewhere.
One quiet cause of slow updates is a high time to live value on an old record. If you previously had a record with a long time to live, the old value can linger in caches. Lowering the time to live before making changes helps, though that only helps for future edits, not the current one.
Fix 3: Solve the SSL Certificate Problem
If your site loads but the browser shows a not secure warning, a privacy error, or a padlock with a line through it, your DNS is working but the SSL certificate has not been issued yet.
GoHighLevel issues SSL certificates automatically once your DNS is verified. You do not buy or upload a certificate yourself. The certificate is requested the moment GoHighLevel confirms your domain points correctly, and once issued, your site loads over https with a valid padlock.
The usual reasons SSL fails to issue are straightforward. DNS has not fully verified yet, so the certificate request cannot start. There is a CAA record on your domain that blocks the certificate authority GoHighLevel uses. Or a proxy service is sitting in front of your DNS and interfering with verification.
If you use Cloudflare, this last point matters. When your CNAME in Cloudflare is set to Proxied, shown by the orange cloud icon, it can prevent GoHighLevel from verifying the domain and issuing the certificate. Switching that record to DNS only, the grey cloud icon, usually resolves it. After changing it, remove and re add the domain in GoHighLevel so it re attempts verification and certificate issuance.
If a CAA record is the blocker, check your DNS for any CAA entries. If one exists and does not permit the certificate authority GoHighLevel relies on, either remove the CAA record or add an entry that allows it, then let GoHighLevel try again.
Fix 4: Remove Conflicting Records From a Previous Host
If your domain loads the wrong website, an old page, or a parked registrar page instead of your GoHighLevel funnel, the cause is almost always a leftover DNS record from wherever the domain used to point.
A domain can only have one active destination for a given host. If an old A record still points your root domain to a previous host, or an old CNAME points your subdomain somewhere else, that record competes with the one you just created. The browser follows whichever record it finds, which is why the old site keeps showing.
Go into your DNS settings and look for any record on the same host you are configuring. Delete or update any A record or CNAME that points to an old host, a previous website builder, or a parked page. Leave only the single CNAME that points to the GoHighLevel target. Once the conflicting record is gone and propagation completes, the correct funnel loads.
This is also the most common reason a domain that worked somewhere else before will not connect cleanly to GoHighLevel. The old configuration was never removed.
Fix 5: Confirm the Domain Is Assigned Inside GoHighLevel
Sometimes the DNS, the CNAME, and the SSL are all correct, yet visitors still do not land on the right page. In that case the break is inside GoHighLevel, not in your DNS.
Connecting a domain and assigning it to a funnel are two separate steps. First the domain is added under Settings, then Domains. Then, inside the specific funnel, you set which domain and path each step uses under the funnel's Settings. If you connected the domain but never pointed a funnel step at it, the domain resolves to GoHighLevel but has no page mapped to it.
Open your funnel, go to its Settings, and confirm the domain is selected and a path is set for the step you want people to land on. Setting a default or home step ensures the root of your domain shows the page you intend rather than a blank or missing page.
If you want a deeper walkthrough of building and wiring the funnel itself, our step by step guide to building a GoHighLevel funnel covers the full process including where domain assignment fits in.
A Clean Setup From the Start Avoids Most of This
Most domain problems trace back to a rushed first setup. Working through the connection in the right order prevents nearly all of them. The sequence below is the one that works cleanly.
Follow that order and the domain usually connects the first time. The errors in this guide nearly always come from skipping step one or rushing step four.
When to Stop Troubleshooting and Get Help
Most domain issues are solved by the five fixes above. But there are cases where the time spent chasing a DNS problem costs more than the fix is worth, especially when you have paid traffic waiting or a launch date set.
It is reasonable to hand it off when the domain has been pending for more than 48 hours with correct records, when a registrar's DNS panel does not behave as expected, when you manage domains for multiple clients and need them all done consistently, or simply when the setup is blocking a launch and you would rather someone who does this daily take it off your plate.
If you are weighing whether to keep your pages on a funnel or move to a full site setup, our guide on GoHighLevel funnels versus websites explains which structure fits which goal, since the domain setup differs slightly between them.
Frequently Asked Questions
Why is my GoHighLevel custom domain not working?
The most common causes are a CNAME record that points to the wrong target, DNS that has not finished propagating, an SSL certificate that has not been issued yet, a conflicting record left over from a previous host, or a domain that is connected but not assigned to a funnel step. Check the CNAME target against what GoHighLevel shows in Settings then Domains first, since that resolves most cases.
What CNAME record does GoHighLevel need?
GoHighLevel gives you the exact target value inside your own account under Settings, then Domains. You create a CNAME record at your registrar with the host matching your subdomain and the target matching that value exactly. Always use the target shown in your account rather than one from a guide, because it can differ between accounts.
How long does a GoHighLevel domain take to connect?
Usually a few minutes to a couple of hours once the record is correct. In rare cases full DNS propagation takes up to 24 to 48 hours. After DNS verifies, GoHighLevel issues the SSL certificate automatically within a few minutes to a few hours.
Why does my GoHighLevel site say not secure?
That means your DNS is working but the SSL certificate has not been issued yet. GoHighLevel issues certificates automatically after DNS verifies. If it is stuck, check for a CAA record blocking the certificate authority, and if you use Cloudflare, set the record to DNS only rather than Proxied, then re add the domain.
Do I need to buy an SSL certificate for GoHighLevel?
No. GoHighLevel provisions the SSL certificate for your custom domain automatically once the domain is verified. You never purchase or upload a certificate yourself.
Can I use Cloudflare with a GoHighLevel domain?
Yes, but the CNAME record in Cloudflare should be set to DNS only, shown by the grey cloud, rather than Proxied, the orange cloud. The proxied setting can block domain verification and SSL issuance. Set it to DNS only and re add the domain if it was already failing.
My domain loads the wrong website, how do I fix it?
An old A or CNAME record from a previous host is still pointing the domain elsewhere. Go into your DNS settings, remove any record on that host that points to a previous provider or parked page, and leave only the single CNAME pointing to the GoHighLevel target. The correct page loads once propagation completes.
Can I connect a root domain or only a subdomain to GoHighLevel?
Both are possible. Subdomains such as go.yourbrand.com connect with a CNAME record, which is the simplest and most reliable route. Root domains can also be connected, though the record setup differs and some registrars handle root level CNAMEs differently, so a subdomain is the easier starting point if you have the choice.






