Domain Not Verified Error in GoHighLevel: How to Fix It
If you've added a custom domain to your GoHighLevel sub-account or agency account and keep seeing a Domain Not Verified warning, you're not alone. This is one of the most frequently reported setup issues on the platform. The good news is that it almost always comes down to a DNS configuration problem — something you can resolve without contacting support, as long as you follow the right steps.
This guide walks you through why the error happens, how to fix it, and what to check when the standard fix doesn't work.
Why GoHighLevel Shows a 'Domain Not Verified' Error
GoHighLevel needs to confirm that you actually control the domain you're trying to connect. It does this by checking for specific DNS records on your domain — typically a CNAME record (for subdomains like funnels.yourdomain.com) or an A record (for root domains like yourdomain.com).
The verification error appears when:
- The required DNS records haven't been added yet
- The records were added incorrectly (wrong value, wrong type, or extra characters)
- DNS propagation hasn't completed yet
- The domain is using a proxy (like Cloudflare's orange-cloud mode) that interferes with verification
- The domain was added in GoHighLevel but the DNS was never updated on the registrar side
Understanding which of these applies to your situation is the first step.
Step-by-Step: How to Verify Your Domain in GoHighLevel
- Log in to your GoHighLevel account and navigate to the relevant sub-account.
- Go to Settings → Domains (the exact menu path may vary slightly depending on your account type and plan).
- Click on the domain showing the Not Verified status. You should see the DNS records that GoHighLevel requires you to add.
- Copy the required DNS values exactly as shown — this usually includes a CNAME pointing to a GoHighLevel hostname, or an A record pointing to a specific IP address.
- Open a new browser tab and log in to your domain registrar or DNS provider (examples: GoDaddy, Namecheap, Cloudflare, Google Domains/Squarespace Domains).
- Navigate to your domain's DNS Management or DNS Zone Editor section.
- Add or update the records as specified by GoHighLevel. Pay close attention to:
- Record type (CNAME vs. A vs. TXT)
- Host/Name field (use only the subdomain part, not the full domain — e.g., enter
funnels, notfunnels.yourdomain.com, unless your registrar requires the full form) - Value/Points to field (paste the GoHighLevel-provided value exactly)
- TTL (set to the lowest available, such as 300 seconds, to speed up propagation)
- Save the changes.
- Return to GoHighLevel and click Verify or Check DNS to trigger a recheck.
DNS changes are not instant. Depending on your provider and the previous TTL setting, propagation can take anywhere from a few minutes to 48 hours. In most cases, it resolves within 1–4 hours.
How to Confirm Your DNS Records Are Propagating Correctly
Before assuming GoHighLevel is at fault, verify that your DNS records are actually live. Use a free tool like MXToolbox (mxtoolbox.com) or WhatsMyDNS (whatsmydns.net) to look up your domain's CNAME or A record.
- Enter your full subdomain (e.g.,
funnels.yourdomain.com) and select the record type. - If the tool shows the correct GoHighLevel value, the record is propagated and GoHighLevel should be able to verify it shortly.
- If the tool returns no record found or shows an old value, propagation hasn't completed — or the record was entered incorrectly.
This step helps you avoid going in circles inside GoHighLevel when the real issue is on the DNS side.
Common Errors and Troubleshooting
The domain still shows 'Not Verified' after 24 hours
If propagation should be complete but verification still fails:
- Double-check the record value for typos. Even a single extra character or a trailing period can break verification.
- Check for conflicting records. If there's already a CNAME or A record for the same hostname, delete the old one before adding the new one. Duplicate records cause resolution conflicts.
- Confirm you're editing the right domain. If your domain is managed through a hosting provider (e.g., Bluehost, SiteGround) rather than your registrar, the DNS zone may live in your hosting panel, not the registrar dashboard.
Cloudflare proxy is interfering
If you're using Cloudflare and your CNAME record has the orange cloud icon (proxy enabled), this can prevent GoHighLevel from verifying the domain correctly. Try switching the record to DNS only (gray cloud) during verification. You can re-evaluate proxy settings after the domain is confirmed.
The root domain (non-subdomain) isn't verifying
Some DNS providers don't support CNAME records at the root level (this is a known DNS limitation, not a GoHighLevel issue). In that case:
- Use an A record pointing to the IP address GoHighLevel provides, if that option is available in your account.
- Or use a subdomain (e.g.,
www.yourdomain.comorgo.yourdomain.com) instead of the bare root domain. - Some providers like Cloudflare offer CNAME flattening, which resolves this limitation automatically.
Verification button is grayed out or missing
This can happen when the domain was added but not fully saved, or when there's a platform-side glitch. Try removing the domain from GoHighLevel and re-adding it from scratch. If the issue persists, this may require opening a support ticket directly with GoHighLevel.
GoHighLevel is the wrong tool for this scenario
If you're trying to connect a domain that's tightly integrated with another platform (e.g., a WordPress site, Shopify store, or email infrastructure), GoHighLevel's domain setup is designed primarily for its own funnels, websites, and hosted pages — not as a general-purpose DNS manager. Forcing a domain into GoHighLevel that needs to serve multiple platforms simultaneously can create conflicts that are difficult to resolve cleanly. In those cases, using a dedicated subdomain exclusively for GoHighLevel content is a more practical approach.
Final Checklist Before Contacting Support
Before escalating the issue, run through this checklist:
- [ ] The correct record type (CNAME or A) was added — not just any record
- [ ] The host/name field contains only the subdomain prefix, formatted correctly for your registrar
- [ ] The value was copied exactly from GoHighLevel with no extra spaces or characters
- [ ] There are no conflicting records for the same hostname
- [ ] At least 4 hours have passed since the DNS change was saved
- [ ] A third-party DNS lookup tool confirms the record is live and correct
- [ ] Cloudflare proxy is disabled during verification (if applicable)
If all of the above are confirmed and verification still fails, the next step is to reach out to GoHighLevel's support team with a screenshot of your DNS records and the result from a DNS lookup tool. That context will help them diagnose faster.
Still stuck?
If this walkthrough did not solve your case, describe your exact scenario. Every question we receive becomes a new tutorial here.
Send my question