The short answer
If your emails keep landing in spam, the cause is almost always one of four things: broken authentication (SPF/DKIM/DMARC), damaged sender reputation (your IP or domain is flagged), content that trips filters (spammy phrasing, bad links, attachments), or poor list hygiene (sending to addresses that bounce or complain).
This guide walks through each one in the order I'd debug them — after four years supporting GMX and two at united domains, I've seen every failure mode.
Step 1: Check your authentication (SPF, DKIM, DMARC)
Authentication tells the receiving server that your email is legitimately from your domain. Without it, modern providers like Gmail and Outlook increasingly route your mail straight to spam — or refuse delivery entirely.
- SPF — a TXT record listing IPs allowed to send as your domain
- DKIM — a cryptographic signature added to every email
- DMARC — tells receivers what to do when SPF/DKIM fails
Since February 2024, Gmail and Yahoo require all three for bulk senders (5,000+/day). Use our SPF/DKIM/DMARC checker to verify your setup in seconds.
Step 2: Check your sender reputation
Mailbox providers assign your IP and domain a reputation score. Once it drops, even perfectly authenticated emails get filtered.
- Check blacklists — Spamhaus, Barracuda, SORBS, SURBL are the big ones. If you're listed, delivery will fail for millions of addresses
- Google Postmaster Tools — free dashboard showing how Gmail sees your domain
- Microsoft SNDS — equivalent for Outlook/Hotmail
Reputation is hard to rebuild. Prevention beats cure: warm up new IPs slowly, never blast a cold list, and remove bounces/complaints immediately.
Step 3: Clean your list
Sending to invalid or uninterested addresses is the fastest way to damage your reputation. Every hard bounce and every spam complaint signals "this sender is sloppy."
- Remove addresses that haven't opened anything in 12+ months
- Filter out disposable email addresses before sending
- Use double opt-in for new subscribers
- Honor unsubscribes within 24 hours — CAN-SPAM requires it within 10 days, but faster is safer
Aim for a bounce rate under 2%. Use our bounce rate calculator to benchmark yourself.
Step 4: Audit your content
Modern spam filters are ML-based, so old "avoid the word FREE" advice is outdated. What still matters:
- Image-to-text ratio — all-image emails get flagged as image-hiding content
- Link shorteners (bit.ly, t.co) — look suspicious because spammers use them
- Attachments — .exe, .zip, .scr will bounce. PDF and DOCX are borderline
- Subject line shouting — ALL CAPS, excessive exclamation marks, "FREE!!!"
- Mismatched From vs. Reply-To — flags spoofing attempts
- No plain-text version — HTML-only emails look more spammy than multipart messages
Step 5: Watch engagement signals
If recipients consistently delete without opening, your future emails get filtered faster. To improve:
- Segment your list by engagement — send only your most valuable content to low-engagement segments
- Ask re-engagement campaigns to prune dead subscribers
- Don't buy lists — ever. Bought lists contain spam traps that instantly destroy reputation
- Make the unsubscribe link obvious — hiding it increases spam-button complaints
Quick deliverability checklist
- ✓ SPF record passes and has
-allor~all - ✓ DKIM is signing every message
- ✓ DMARC is at
p=quarantineorp=reject - ✓ Domain is not on Spamhaus/Barracuda
- ✓ Bounce rate under 2%, complaint rate under 0.1%
- ✓ List contains no disposable domains
- ✓ Unsubscribe link visible and working
- ✓ Plain-text + HTML multipart format
When nothing else works
If you've checked all of the above and Gmail still sends to spam, the issue is almost always engagement-based: your list isn't interested enough. Algorithmic filters are getting more user-behavior-driven every year.
The fix isn't technical — it's content. Send less, segment harder, offer more value. Inbox placement follows trust.