Deliverability Guide
Why Your GoHighLevel Emails Go to Spam (and How to Fix It)
By Marnix Geerkens. Published 2026-05-31. Updated 2026-05-31.
DNS steps and warm-up schedule last verified 2026-05-31 against GoHighLevel's LC Email and Mailgun setup.
In short
Your GoHighLevel emails go to spam mostly because the new sending subdomain has no reputation yet, often made worse by missing SPF, DKIM, or DMARC. Authenticate the domain with all three records, then warm it slowly. Budget 6 to 8 weeks for full trust. This is the exact path we run on RocketLauncher.
- A fresh LC Email subdomain has zero sender reputation, so Gmail treats it as a stranger.
- Fix SPF, DKIM, and DMARC first, then warm the domain slowly. Plan 6 to 8 weeks for full trust.
- A dedicated sending domain keeps your reputation in your own hands and protects your main domain.
Why this happens in the first place
When you turn on LC Email in GoHighLevel, your account sends through a fresh subdomain on Mailgun. That subdomain is brand new. Gmail, Outlook, and Yahoo have never seen it send a single message. To them it is a total stranger, and strangers get watched closely.
Here is the part most people get wrong. They assume their main domain's good reputation carries over. It does not. A subdomain earns its own trust from scratch.
"the lc subdomain is a fresh sender with zero reputation. Gmail doesnt carry over trust from the root domain so you are starting from scratch. warming takes longer than most people expect 6 to 8 weeks minimum"
So you have two jobs. First, prove the mail is really from you (that is SPF, DKIM, and DMARC). Second, build a track record slowly so the inbox providers learn to trust you (that is warm-up). Skip either one and you land in Promotions or Spam.
The drop people feel after switching
If you just migrated to LC Email or moved to a new sending domain, you might watch your inbox placement fall off a cliff. This is normal, and it is exactly the zero-reputation problem biting. One person who moved put it plainly:
"Since the migration, inbox placement has dropped significantly and most emails are now landing in Promotions or Spam, with recent open rates dropping as low as 5%."
A 5 percent open rate is a panic number. The good news: it climbs back as the new domain earns trust, as long as your records are right and you ramp volume the slow way. The rest of this guide is how to do that.
Step 1: Set up SPF, DKIM, and DMARC
These three records are how a receiving server checks that mail claiming to be from you really is. GoHighLevel sends through Mailgun, so the records point at Mailgun's signing. You add them once at your DNS host (Cloudflare, GoDaddy, Namecheap, or wherever your domain lives).
Open the domain setup
In GoHighLevel, go to Settings, then Email Services, then Dedicated Domain (newer accounts may just say Domain). Enter the subdomain you want to send from, for example mail.yourdomain.com. GoHighLevel then hands you the exact records to add.
SPF: who is allowed to send
SPF is a TXT record that lists the servers allowed to send for your domain. GoHighLevel gives you one that includes mailgun.org. Add it as-is. If you already have an SPF record, do not create a second one. Merge Mailgun into the existing record, because more than one SPF record breaks the check.
DKIM: a tamper-proof signature
DKIM signs every message with a private key. The matching public key sits in the CNAME records GoHighLevel gives you (usually two or three). When Gmail gets your email, it checks the signature. If it matches, the mail was not changed in transit and it is really from your domain. Add each CNAME exactly as shown, host and target both.
DMARC: the policy that ties it together
DMARC tells receivers what to do when a message fails SPF or DKIM, and it gives you reports. Create a TXT record at _dmarc.yourdomain.com. Start gentle so you do not block your own mail by accident:
- Start with
v=DMARC1; p=none; rua=mailto:you@yourdomain.com. This monitors only, and emails you the reports. - After a couple of weeks of clean reports, move to
p=quarantine. - Once you are confident, tighten to
p=rejectfor the strongest protection.
DNS can take minutes to a few hours to spread. Wait for GoHighLevel to verify the records, then send one test to a Gmail inbox and one to an Outlook inbox. Open the message, view the details, and confirm it shows as signed and passing. Only then start real sends.
Free Skool community. Get the full deliverability setup checklist and ask questions.
Step 2: Warm the domain up, slowly
Records prove who you are. Warm-up earns trust. The idea is simple: start with a tiny number of sends to people who actually open and reply, then grow the volume a little at a time. Each good send tells Gmail you are a real sender that people want to hear from.
Below is a 14 day ramp to get you to a usable daily volume. Treat the numbers as a guide, not a law. If opens dip or spam complaints rise, hold at the current level for a day or two before you go higher.
| Day | Daily sends | What to watch |
|---|---|---|
| Day 1 | 10 to 20 | Send only to your warmest contacts who reply or open. |
| Day 2 | 20 to 30 | Same warm list. Watch that opens stay healthy. |
| Day 3 | 30 to 50 | Add a few engaged contacts. Keep the content useful. |
| Day 4 | 50 to 75 | Reply-friendly subject lines help here. |
| Day 5 | 75 to 100 | Pause the weekend if your audience is quiet then. |
| Day 6 | 100 to 150 | Prune anyone who has not opened at all. |
| Day 7 | 150 to 200 | Check your spam rate stays under 0.1 percent. |
| Day 8 | 200 to 300 | Start mixing in slightly colder but valid contacts. |
| Day 9 | 300 to 400 | Keep one clear call to action per email. |
| Day 10 | 400 to 600 | Confirm Gmail and Outlook both still inbox you. |
| Day 11 | 600 to 800 | Remove hard bounces right away. |
| Day 12 | 800 to 1,000 | Hold steady if open rates dip below 20 percent. |
| Day 13 | 1,000 to 1,500 | You are building real history now. Stay consistent. |
| Day 14 | 1,500 to 2,000 | Ramp daily volume only as engagement holds. |
Day 14 is not the finish line. It is the point where you can send useful daily volume without spooking the inbox providers. Full sender trust takes longer. Plan for 6 to 8 weeks of steady, engaged sending before you treat the domain as fully warmed and push large campaigns.
Step 3: Use a dedicated sending domain
Here is my clear take: if you send real volume, use a dedicated sending subdomain. Send from something like mail.yourdomain.com rather than a shared pool. Two reasons.
First, your reputation is your own. On a shared IP you inherit the habits of every other sender on it, good or bad. A dedicated domain means your inbox placement reflects your sending, not a stranger's. Second, it protects your main domain. If a campaign goes wrong, the address people reply to and the domain your website runs on stay clean.
The setup is the same SPF, DKIM, and DMARC work from Step 1, just on the subdomain. We wrote a full record-by-record walkthrough here: the dedicated sending domain guide (SPF, DKIM, DMARC).
Troubleshooting: still landing in spam
- Two SPF records. A domain can have only one. If you added Mailgun as a second SPF record, both fail. Merge them into a single TXT record.
- DKIM not verified. Double check each CNAME host and target match GoHighLevel exactly. A trailing dot or a wrong subdomain prefix breaks it. Re-verify after the DNS spreads.
- Sending too fast. Blasting your whole list on day one is the fastest way to burn a fresh domain. Drop back to the warm-up volumes and rebuild.
- Cold or stale list. Emailing people who never opted in, or have not engaged in a year, drives complaints. Clean the list and send only to people who want it.
- Spammy content. All-caps subject lines, one giant image, link shorteners, and the word free everywhere all trip filters. Write like a normal email with a clear single ask.
- No engagement signal. If nobody replies or opens, providers downrank you. Ask for replies early in the warm-up to send a strong positive signal.
If the problem is specifically cold outreach rather than your normal list, the rules are a bit different. We cover that in the email warm-up for cold outreach guide.
Free Skool community. Grab the deliverability checklist and the warm-up calendar template.
Frequently asked questions
Why are my GoHighLevel emails going to spam?
The most common reason is a brand new sending subdomain with zero sender reputation. When you set up LC Email, GoHighLevel sends from a fresh subdomain on Mailgun, and Gmail does not carry over any trust from your main domain. On top of that, missing or wrong SPF, DKIM, and DMARC records, sending too much too soon, and emailing a cold or unengaged list all push mail into Promotions or Spam. Fix the DNS records first, then warm the domain slowly.
How do I set up DKIM and SPF in GoHighLevel?
Go to Settings, then Email Services, then Dedicated Domain (or Domain in newer accounts) and start the setup. GoHighLevel gives you the exact DNS records to add: an SPF TXT record that includes mailgun.org, two or three CNAME records for DKIM signing, and a CNAME for tracking. Add those at your DNS host (Cloudflare, GoDaddy, Namecheap), wait for them to verify inside GoHighLevel, then add a DMARC TXT record at _dmarc with a policy of p=none to start. All three should show green before you send.
How long does domain warm-up take?
Plan for 6 to 8 weeks for full sender trust, not a few days. A 14 day ramp gets you to a usable daily volume, but Gmail and Outlook keep watching engagement well past two weeks before they fully trust a fresh subdomain. Start at 10 to 20 sends a day to your warmest contacts, roughly double every couple of days, and only push volume up while open rates stay healthy and spam complaints stay near zero.
Should I use a dedicated sending domain?
Yes, for almost everyone sending real volume. A dedicated sending subdomain (like mail.yourdomain.com) keeps your reputation in your own hands instead of sharing an IP pool with strangers. It also protects your main domain, so a bad campaign never burns the address people reply to. Set up SPF, DKIM, and DMARC on it, warm it slowly, and you control your own inbox placement. See our dedicated sending domain guide for the full record-by-record walkthrough.
