GoHighLevel email sending domain not verifying

Short answer
When a GoHighLevel dedicated sending domain won't verify, the usual cause is an old MX or SPF record already on that subdomain, a wildcard record, Cloudflare's proxy turned on, a record that's the wrong type or one character off, or more than one SPF or DMARC record. It often verifies within minutes; HighLevel's articles allow up to 24 to 48 hours for DNS to update.
How to fix it
- Add a subdomain, not your main domain. Settings > Email Services > Dedicated Domain & IP > Add Domain. Use something like mg.yourbusiness.com, then Add & Verify.
- Let HighLevel add the records, or add them yourself. HighLevel can configure the records automatically, or you add them at your DNS host.
- Remove what's already there. Delete any existing MX or SPF records on that subdomain first, even old HighLevel ones.
- Wildcard records. A wildcard record (*.yourbusiness.com) makes every subdomain look like it already exists. Remove it, verify, then add it back.
- One DKIM, one SPF, one DMARC. HighLevel doesn't support more than one DKIM record on the same domain. Keep a single SPF and a single DMARC record.
- Turn off Cloudflare's proxy. Set the records to DNS only (the gray cloud), not proxied.
- Match every value exactly. Check the record type (TXT, CNAME or MX), that the host field holds only the subdomain part, and that each value matches character for character. A low TTL like 300 seconds speeds up retries.
- Verify again. Open the domain's ⋮ menu and choose Verify domain. If it still fails, check the records with a DNS lookup tool.
Common questions
- What does "Domain already pointing to email server" mean?
- Records already on the subdomain conflict with HighLevel's. Remove the old MX and SPF records and verify again.
- How long should verification take?
- Often minutes. HighLevel's articles allow anywhere up to 24 to 48 hours for DNS to update.
Rather we set it up?
We set this up for you as part of a done-for-you package, quoted on a free call.
Most complete
Complete GoHighLevel setup
Your whole GoHighLevel account built and run for you: phone, texting, email, calendars, pipeline, forms, every lead source, the automations and the reports.
More email fixes
GoHighLevel emails going to spam or bouncing
Usually no dedicated sending domain, a free From address, missing DMARC, a sudden volume jump, or a list with too many bad addresses.
GoHighLevel emails not sending at all
Usually a bounce-rate suspension, a sending domain problem, the contact on email DND or marked invalid, or a bad From address in the step.
GoHighLevel unsubscribe link not working, or missing
Test emails disable the link on purpose. Otherwise it's the Business Profile toggle, a missing or doubled link, or the inbox hiding its own button.
GoHighLevel email template broken on mobile
Preview on mobile, then use mobile formatting, hide elements or layouts per device, and set images to auto size. Dark mode isn't adjustable yet.
Related fixes
GoHighLevel custom domain not connecting, or SSL pending
Almost always DNS: records at the wrong provider, extra A or AAAA records, Cloudflare's proxy on, or a CAA record blocking the certificate.
Read the fix
Want GoHighLevel set up and running for you?
Book a free 15-minute call. Tell us what you sell and where your leads come from, new account or the one you have, and we'll tell you what we'd set up, how long it takes and what it costs.