Why your emails land in spam (and how to fix it)
Your emails end up in spam because something is wrong with your technical setup, sender reputation, or content. Here's a complete guide to fixing it.
Your emails land in spam because Gmail, Outlook, and other email providers have decided your messages aren’t trustworthy enough for the inbox. It’s not personal — it’s an algorithm evaluating three things: your technical setup, your sender reputation, and your content. Fix those three, and you land in the inbox.
This guide walks through each category with concrete actions you can implement today.
The technical foundation: SPF, DKIM, and DMARC
Technical authentication is the first thing email providers check. Without it, you’re an unknown sender — and unknown senders end up in spam.
SPF (Sender Policy Framework)
SPF tells receiving servers which IP addresses are authorized to send email on behalf of your domain. Without SPF, anyone can send emails that appear to come from you.
How it works:
- You create a TXT record in your DNS listing authorized senders
- Receiving servers check whether the sending IP is on the list
- If it is, SPF passes. If not, it fails.
A typical SPF record looks like this:
v=spf1 include:_spf.google.com include:sendgrid.net -all
Critical mistake: Many have ~all (softfail) instead of -all (hardfail). Softfail says “it’s probably not us, but allow it anyway.” Hardfail says “it’s not us, reject it.” Use -all.
DKIM (DomainKeys Identified Mail)
DKIM adds a cryptographic signature to every email. Receiving servers can verify the email hasn’t been modified in transit.
You configure it by:
- Generating a key pair (your email platform typically does this for you)
- Adding the public key as a TXT record in your DNS
- The platform automatically signs every outgoing email with the private key
DMARC (Domain-based Message Authentication)
DMARC is the glue that binds SPF and DKIM together. It tells receiving servers what to do when an email fails authentication.
A DMARC record typically starts with monitoring:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
And changes over time to enforcement:
v=DMARC1; p=reject; rua=mailto:dmarc@yourdomain.com
Important: Always start with p=none (monitoring) for at least 2-4 weeks. Review the reports. When you’re confident all legitimate emails pass, switch to p=quarantine and then p=reject.
Read our detailed guide to SPF, DKIM, and DMARC.
Checklist: Technical setup
- SPF record configured with
-all - DKIM enabled and verified
- DMARC record created (start with
p=none) - Custom return-path configured
- Sender domain verified with your email platform
- BIMI record considered (shows your logo in inbox for supported clients)
Sender reputation: Your digital track record
Email providers assign every sender domain and IP address a reputation score. That score determines whether you land in the inbox, spam, or get blocked entirely.
What affects your reputation
Positive:
- High open rate (recipients want your emails)
- Low bounce rates (your list is clean)
- Low complaint rates (few people mark you as spam)
- Consistent sending volume (no sudden spikes)
Negative:
- High bounce rate (above 2% is a red flag)
- Spam complaints (above 0.1% is critical)
- Spam traps on your list (email addresses that exist only to catch spammers)
- Sudden increases in sending volume
- Sending to many invalid addresses
How to check your reputation
- Google Postmaster Tools: Free. Shows your domain reputation with Gmail. Set it up today.
- Microsoft SNDS: Shows your IP reputation with Outlook/Hotmail.
- MXToolbox: Checks if you’re on blocklists.
- Sender Score (Validity): Gives you a score from 0-100.
A sender score below 70 is a problem. Below 50 is critical.
If your reputation is damaged
Rebuilding reputation takes time — typically 4-8 weeks of consistently good practices:
- Clean your list aggressively. Remove all bounces, inactive contacts (90+ days), and known spam traps.
- Reduce volume. Send only to your most engaged contacts (opened within 30 days) for 2-4 weeks.
- Increase gradually. Add 20-30% more recipients per week over 4-6 weeks.
- Monitor daily. Check bounce rate, complaint rate, and inbox placement after every send.
This is essentially an email warmup process for an existing domain.
List hygiene: The underrated factor
Your list is your foundation. A dirty list with invalid addresses, spam traps, and inactive contacts will destroy your deliverability regardless of how good your technical setup is.
What to remove (and when)
Hard bounces: Remove immediately. These addresses don’t exist. Sending to them again signals to email providers that you don’t maintain your list.
Soft bounces: Try 3 times over a week. If the address still bounces, remove it. Soft bounces can be caused by a full inbox or temporary server error — but persistent soft bounces are effectively hard bounces.
Inactive contacts: Contacts who haven’t opened in 90 days should be moved to an inactive segment. Send them a re-engagement series. Those who don’t respond after 3 emails, remove from the list.
Role-based addresses: Addresses like info@, contact@, sales@ typically have lower engagement and higher complaint rates. Consider removing them or segmenting them separately.
Spam traps and how to avoid them
Spam traps are email addresses used by email providers and anti-spam organizations to identify spammers. There are two types:
Pristine traps: Addresses that never belonged to a real person. They end up on your list if you buy lists or scrape addresses. Solution: never buy lists.
Recycled traps: Old addresses that have been inactive for a long time and repurposed as traps. Solution: remove inactive contacts regularly.
Sending to even one spam trap can damage your reputation. It’s another reason for aggressive list hygiene.
Implement double opt-in
Double opt-in requires new contacts to confirm their email address by clicking a link in a confirmation email. This gives you:
- Fewer invalid addresses (no typos)
- Zero spam traps (they can’t confirm)
- Higher engagement (people who confirm are more interested)
- Better GDPR compliance
You’ll lose 20-30% of signups with double opt-in. But the ones you lose are the ones you don’t want anyway.
Content factors that trigger spam filters
Technical setup and list quality matter most. But content plays a role too.
Subject line red flags
- ALL CAPS: “HUGE DEAL!!!” → spam
- Excessive special characters: ”$$$ Make money now!!! $$$” → spam
- Misleading subject lines: Email doesn’t match what the subject line promises → complaint
- Re: / Fwd: in subject lines that aren’t replies/forwards → spam
Body content red flags
- Too many images, too little text: Keep the text-to-image ratio above 60:40
- Single large image only: Spam filters can’t read text in images
- Too many links: More than 5-7 links per email increases risk
- Link shorteners: Bit.ly and similar are frequently used by spammers. Use full links.
- Missing unsubscribe link: Required by law and flagged by all spam filters
- Hidden text: White text on white background is a classic spam technique
Engagement as a signal
Gmail and other clients use recipient engagement to place emails:
- If the recipient opens your emails, the filter learns you’re relevant → inbox
- If the recipient ignores your emails, the filter learns you’re irrelevant → promotions/spam
- If the recipient marks you as spam, that’s a strong negative signal
It’s yet another reason for good segmentation: only send to people who want your emails.
Email warmup: Starting from scratch
If you have a new domain or IP address, you have no reputation. Email providers are suspicious of unknown senders.
Email warmup is the process of gradually increasing your sending volume:
Week 1: 50-100 emails/day — send only to your most engaged contacts Week 2: 200-500 emails/day Week 3: 500-1,000 emails/day Week 4: 1,000-2,500 emails/day Week 5-6: Gradually up to full volume
During the warmup period, it’s critical to:
- Only send to contacts who are guaranteed to engage
- Monitor bounce rate and complaint rate daily
- Stop and adjust if numbers look bad
- Keep content quality high and relevant
Monitoring: Never be surprised
Deliverability problems creep in gradually. By the time you notice your emails are going to spam, the problem has typically been building for weeks.
Daily monitoring (5 minutes)
- Bounce rate per send (under 2%? Good. Over 5%? Stop and investigate.)
- Complaint rate (under 0.1%? Good. Over 0.3%? Critical.)
Weekly monitoring (15 minutes)
- Overall open rate trend (is it declining?)
- Inbox placement at major providers (Gmail, Outlook)
- New blocklist entries (check with MXToolbox)
Monthly monitoring (30 minutes)
- List growth vs. list churn net
- Inactive contacts’ share of the list
- Sender score / domain reputation trend
Emergency troubleshooting: Your emails are in spam right now
If your emails are already landing in spam, do this in order:
- Check technical setup: SPF, DKIM, DMARC all correct? Use mxtoolbox.com.
- Check blocklists: Is your domain or IP on a blocklist? Use multirbl.valli.org.
- Check the list: When did you last clean? Remove all bounces and inactive contacts NOW.
- Reduce volume: Send only to engaged contacts for the next 2 weeks.
- Check content: Run your latest email through mail-tester.com for a spam score.
- Monitor: Daily monitoring for a minimum of 4 weeks.
Most deliverability problems can be resolved within 2-6 weeks with consistent effort. Start with the technical side — that’s the fastest fix.