Your emails are landing in spam. Not because you're doing anything obviously wrong, but because the systems protecting inboxes have gotten smarter, and most people sending cold email haven't kept up.
The frustrating part: you can write great emails that get replies... if they actually get read. But if 40% of your campaign hits the spam folder, you're losing deals before anyone even sees your subject line.
This isn't about trickery or workarounds. It's about understanding what spam filters actually look for and building your infrastructure so you pass those checks consistently.
The Three Systems That Block Your Emails
Spam filters work in layers. Understanding each one changes how you approach cold email:
1. Domain reputation - Gmail, Outlook, and others rate your sending domain based on bounce rates, complaint rates, and how long you've been sending. A new domain with a 5% bounce rate looks suspicious. A domain that's been sending for 2 years with a 0.5% bounce rate looks fine.
2. Email authentication - SPF, DKIM, and DMARC records tell receiving servers: "Yes, this person is allowed to send from our domain." If these are missing or misconfigured, you get flagged automatically.
3. Content triggers - Certain words, formatting, and patterns trip filters. Not because they're bad, but because spammers use them.
Most people focus on #3. But if your domain reputation is poor or your authentication is broken, content doesn't matter - you're getting filtered before the email is even fully processed.
Set Up Your Authentication Right (Once, Then Done)
This is the foundation. Without it, even perfect emails get filtered.
You need three records on your sending domain:
- SPF (Sender Policy Framework) - Tells servers which IP addresses are allowed to send from your domain. Standard SPF for cold email: include your email platform (like lemlist or Apollo) and your mail server.
- DKIM (DomainKeys Identified Mail) - Digitally signs your emails so servers know they haven't been tampered with. Your email platform usually generates this for you.
- DMARC (Domain-based Message Authentication) - The policy that says what should happen if SPF or DKIM fails. Set it to "quarantine" or "reject" for cold email domains.
You can verify these are set up correctly using MXToolbox.com or similar checkers. Run the test, get a green checkmark on all three, and you've eliminated a major blocking vector.
One critical detail: if you're using a cold email platform, they'll give you specific SPF and DKIM values to add to your DNS. Use exactly what they provide. Small mistakes here mean authentication failures, which means spam folder.
Build Domain Reputation Before You Send Hard
A new domain sending 100 emails on day one looks like spam. A domain that's been warming up for 2 weeks and only sending to engaged lists doesn't.
Here's the actual warmup sequence:
- Week 1 - Send 10-20 emails per day to your own company email or friendly contacts. This establishes a sending history. You want receiving servers to see: "This domain has been sending emails, and recipients aren't complaining."
- Week 2 - Increase to 30-40 per day, still to warm contacts and your own addresses.
- Week 3 - If bounce rate stays below 1% and you're getting no complaints, start your real campaign at 50-75 per day.
- Week 4+ - Gradually increase volume based on bounce and complaint rates staying low.
This isn't busywork. You're literally teaching Gmail and Outlook that your domain is safe. Bounce rates above 2% and complaint rates above 0.1% signal spam, which tanks your reputation fast.
List Quality is Non-Negotiable
A list full of invalid emails will kill your domain reputation faster than anything else. Even if you have perfect authentication, high bounce rates get you filtered.
Before you send, scrub your list. Use a validation tool (ZeroBounce, NeverBounce, or your email platform's built-in validator) and remove:
- Emails that bounce
- Spam trap addresses (old, abandoned company emails that ISPs monitor)
- Syntax errors
Aim for a list where 95%+ of emails are valid. If you're below 92%, don't send yet - go back and clean harder or rebuild your list.
This matters more than you think. A campaign to 1,000 emails where 50 bounce looks fine. A campaign to 1,000 emails where 100 bounce gets you filtered because your bounce rate is 10%.
Content Triggers: What Actually Gets Flagged
Now the content layer. These patterns trigger filters:
Money-adjacent language: Words like "guarantee," "limited time," "urgent," and excessive exclamation marks. Cold email for B2B services shouldn't need these anyway. Write like a human having a conversation, not a salesman.
Too many links in one email: Spam uses links heavily. Limit to 1-2 links per email. Even better: save most links for follow-ups.
Hi [Name], We've worked with 15+ staffing firms in your area to cut hiring time by 40%. Curious if that's relevant for your team? Let me know, [Your name]
This works because it's specific, has no links, and reads naturally.
Formatting overkill: Heavy bolding, colored text, or HTML formatting can trip filters. Keep emails plain. Use line breaks for readability, not formatting tricks.
ALL CAPS: Even partial. "CHECK THIS OUT" gets flagged. "Check this out" doesn't.
Here's what filters don't penalize: mentioning a specific person, a real company name, or specific business context. That's actually a filter trust signal because spammers don't bother with that level of detail.
Hey Sarah, Saw you just joined as VP of Sales at TechCorp. Noticed you don't have a sales ops tool set up yet (checked your site). We help companies like Acme cut deal cycles by 25%. Worth a quick conversation? [Your name]
This gets through filters because it shows research and context. It's not a template.
Monitor Your Metrics and Adjust
You need visibility into what's actually happening. Track:
- Bounce rate - Should stay below 1% for a clean list
- Complaint rate - Anyone who marks you as spam. Should be 0.05% or lower
- Open rate by domain - If Gmail opens are 8% but Outlook opens are 2%, you might be getting filtered at Outlook specifically
- Reply rate - If you're sending 100 emails and getting zero replies with a healthy open rate, content is the issue, not filters
If open rates drop mid-campaign, bounce rate might have increased. If replies dry up but opens stay steady, your emails are getting through but the copy isn't landing.
Most email platforms show these metrics. Check weekly.
The Infrastructure vs. Results Gap
Knowing this stuff is one thing. Actually maintaining authentication, list quality, domain warmup, and monitoring while running multiple campaigns, writing copy, following up on replies, and handling the operational side - that's where most people run out of bandwidth.
Getting the technical setup right is table stakes. But staying compliant while scaling to 500+ emails per week while writing custom emails and tracking results is genuinely complex. That's the gap between "I understand spam filters" and "I have a cold email operation that consistently books meetings and doesn't need firefighting."
Related Guides
- How to Keep Your Cold Emails Out of the Spam Folder
- How to Write Cold Emails That Actually Get Replies
- How to Find Email Addresses for B2B Cold Email (Without Losing Your Mind)
- How to Build a Cold Email List From Scratch (Without Losing Your Mind)
- How to Use lemlist for Cold Email - A Practical Guide