Fix: GoHighLevel emails landing in spam

    Your GHL emails hit spam because of missing DNS records, cold domains, or content triggers. Here's the full SPF/DKIM/DMARC setup plus the warmup schedule that actually works.

    Last updated 2026-06-08~7 min read
    GoHighLevelEmailSPFDKIMDMARC

    Symptoms — what you're seeing

    • Emails sent from GoHighLevel workflows land in the spam or promotions folder instead of the primary inbox
    • Your email open rates dropped from 30–40% to under 10% with no change to content
    • Contacts report not receiving emails at all — they're not even in spam
    • New sub-accounts or domains you add to GHL have near-zero deliverability from day one
    • Gmail shows a "This message seems dangerous" or "Be careful with this message" warning on your emails
    • You passed SPF/DKIM checks but emails still land in spam

    Why this happens

    Email deliverability is controlled by three layers, and all three have to be right. Most GHL users fix one layer and assume they're done — then wonder why emails still hit spam.

    Layer 1: DNS authentication (SPF, DKIM, DMARC)

    These are DNS records that prove to receiving mail servers that you're authorized to send from your domain. Without them, Gmail and Outlook treat your emails like unsigned checks — suspicious by default.

    • SPF — tells receivers which mail servers are allowed to send on behalf of your domain
    • DKIM — adds a cryptographic signature to every email, proving it wasn't tampered with in transit
    • DMARC — tells receivers what to do when SPF or DKIM fails (quarantine, reject, or do nothing)

    Layer 2: Domain reputation

    Even with perfect DNS, a new domain has no reputation. Mailbox providers (Gmail, Outlook, Yahoo) track how recipients interact with your emails. If you blast 5,000 cold emails from a fresh domain on day one, the domain gets flagged as spam — and recovering from that takes weeks.

    Layer 3: Content and sending patterns

    Spam filters analyze email content, link density, image-to-text ratio, and sending velocity. A perfectly authenticated email with a subject line full of "FREE" and "ACT NOW" still gets flagged.

    The fix, step by step

    Step 1: Verify DNS records

    1. Check your SPF record. In your DNS provider, look for a TXT record on your root domain. It should include GHL's sending servers:
      v=spf1 include:_spf.msgsndr.com ~all
      If you also send from Google Workspace, Mailgun, or another provider, include them too — but never have more than one SPF record (combine with multiple include: directives).
    2. Verify DKIM. GHL generates DKIM keys per sub-account. Go to Settings → Email Services → DNS Records in your GHL sub-account and add the CNAME records to your DNS. There are usually two DKIM CNAME records.
    3. Add a DMARC record. If you don't have one, add this TXT record on _dmarc.yourdomain.com:
      v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com
      Start with p=none (monitor mode) so you can see failures without rejecting emails. After 2–4 weeks of clean reports, move to p=quarantine, then eventually p=reject.
    4. Validate everything. Use a DNS checker to confirm all three records resolve correctly. Common mistakes:
      • Two SPF records on the same domain (only the first is read — merge them)
      • DKIM CNAME records pointing to the wrong host (copy exactly from GHL, including trailing dots)
      • DMARC record on the wrong subdomain (must be _dmarc.yourdomain.com, not yourdomain.com)

    Step 2: Warm up the domain

    If your domain is less than 30 days old or has never sent email at volume, you need to warm it up. This means gradually increasing sending volume over 2–4 weeks so mailbox providers build positive reputation data.

    # Recommended warmup schedule (per day)
    Week 1: 10-20 emails/day (to engaged contacts who will open/reply)
    Week 2: 30-50 emails/day
    Week 3: 75-150 emails/day
    Week 4: 200-500 emails/day
    Week 5+: Scale to your normal volume
    
    # Key rules during warmup:
    - Only send to contacts who are likely to open and reply
    - Send at natural times (business hours in the recipient's timezone)
    - Include a plain-text version — don't send HTML-only
    - Avoid links in the first few days if possible
    - If bounce rate exceeds 5% on any day, stop and clean your list

    Step 3: Fix content-level issues

    • Subject lines: Avoid ALL CAPS, excessive punctuation (!!!), and spam trigger words ("free," "limited time," "act now"). Write subject lines like a human would write to a colleague.
    • Link density: Keep links to 1–2 per email. Every additional link increases spam score. Never use URL shorteners (bit.ly, t.ly) — spam filters hate them.
    • Images: Don't send image-only emails. Maintain at least a 60:40 text-to-image ratio. Always include alt text.
    • Unsubscribe link: Required by CAN-SPAM and GDPR. GHL adds one automatically in most email actions, but verify it's present — missing unsubscribe links are a guaranteed spam flag.
    • Reply-to address: Set a reply-to address that's a real, monitored mailbox. Replies improve reputation.

    Step 4: Monitor ongoing deliverability

    • Check your domain against major blacklists weekly
    • Monitor DMARC reports (the rua address in your DMARC record receives XML reports)
    • Track bounce rates per campaign in GHL — hard bounces above 2% mean your list needs cleaning
    • Watch for sudden open rate drops — that's the earliest signal of deliverability problems

    Common variations

    • "Emails work from Gmail but not from GHL" — your SPF record doesn't include GHL's servers. Add include:_spf.msgsndr.com to your SPF record.
    • "Only Gmail recipients flag spam, Outlook is fine" — Gmail is stricter about DMARC alignment. Verify your DKIM signature's domain matches your From address domain exactly.
    • "Deliverability tanked after adding a new sub-account" — the new sub-account is sending from a domain with no warmup history. Either warm it up gradually or send from a domain that already has established reputation.
    • "Emails land in Promotions tab, not spam" — this is a content issue, not an authentication issue. Gmail's Promotions filter triggers on marketing-style formatting (logos, banners, multiple CTAs). Send plain-text or minimally formatted emails to land in Primary.
    • "SPF passes but DKIM fails" — the DKIM CNAME records in your DNS are wrong or haven't propagated yet. DNS changes can take up to 48 hours. Verify with a DNS lookup tool, not just the GHL dashboard.

    When this isn't the issue

    • If emails aren't sending at all (not just landing in spam), the issue is in your GHL workflow configuration or email action setup — check that the email action step is properly configured with a From address, subject, and body
    • If only specific contacts don't receive emails, they may have previously marked you as spam or their email address is invalid — check the contact's email activity in GHL
    • If your GHL account is suspended or restricted, contact GHL support — no DNS fix will help if the sending infrastructure is disabled

    Browse 4,900+ ready-to-import workflow templates →

    Need this workflow customized or debugged? Book a 30-min scope call →

    Stuck configuring this workflow?

    I build and fix n8n workflows for agencies and SaaS teams. 30-minute scope call — bring the problem, leave with an estimate.

    Related pages