Why Your Cold Emails Go to Spam (7 Fixes That Actually Work)
Mitchell Keller
Founder & CEO, LeadGrow · Managed 3,626+ cold email campaigns. 6.74% average reply rate. Booked 2,230+ meetings in 2025.
TL;DR
- **90% of spam placement is infrastructure, not copy.** When clients come to us with "my emails go to spam," the fix is almost always authentication, warmup, or volume. Not rewriting the email.
- **These 7 fixes cover the root causes we see across 3,626+ campaigns.** Authentication setup, warmup protocol, sending volume limits, content spam triggers, domain reputation monitoring, bounce rate management, and unsubscribe compliance.
- **Fix them in order.** Authentication first, then warmup, then volume. Fixing copy when your domain reputation is shot is like repainting a house that's on fire.
By Mitchell Keller, Founder & CEO, LeadGrow. Managed 3,626+ cold email campaigns. 6.74% average reply rate. 2,230+ meetings booked in 2025.
Your emails aren't in spam because of your copy
This is the biggest misconception in cold email. A campaign underperforms. Reply rates are low. Open rates are suspiciously low. The instinct is to rewrite the email, change the subject line, add more personalization, try a different angle.
We've managed 3,626+ cold email campaigns. When emails are landing in spam, the problem is almost never the words in the email. It's the infrastructure underneath. Authentication, domain reputation, sending volume, warmup status. These are the things that determine whether your email reaches the inbox in the first place.
Here are 7 fixes that actually work. In order of priority.
Fix 1: Set up email authentication properly
This is the first thing to check. Every time. Without exception.
Three DNS records need to be configured correctly on every domain you send from: SPF, DKIM, and DMARC.
SPF (Sender Policy Framework) tells receiving servers which mail servers are authorized to send from your domain. Without it, your emails look like they could be from anyone pretending to be you.
DKIM (DomainKeys Identified Mail) adds a cryptographic signature to every email. It proves the email wasn't tampered with in transit and really came from your domain.
DMARC (Domain based Message Authentication, Reporting, and Conformance) ties SPF and DKIM together with a policy that tells providers what to do when authentication fails.
Action steps
- Run your domain through MXToolbox (free). It checks all three records and tells you exactly what's missing or broken.
- If SPF is missing or wrong: add a TXT record with
v=spf1 include:_spf.google.com ~all(for Google Workspace). Include any sending tools you use. - If DKIM is inactive: go to your email provider's admin console, generate the DKIM key, add it to DNS, then activate signing.
- If DMARC is missing: add a TXT record on the
_dmarcsubdomain withv=DMARC1; p=none; rua=mailto:[email protected] - Verify all three pass after DNS propagation (1 to 4 hours).
About 40% of the deliverability problems we diagnose are authentication issues. A 5 minute DNS fix that transforms inbox placement overnight.
Fix 2: Follow a proper warmup protocol
New domains and new inboxes have zero reputation. Email providers don't know if you're legitimate or a spammer. They default to suspicion.
Warmup builds reputation gradually by sending and receiving emails automatically, creating positive engagement signals (opens, replies, moving from spam to inbox) that tell providers this is a real account used by a real person.
Action steps
- Use a dedicated warmup tool (Instantly's built in warmup, Warmup Inbox, or Mailreach).
- Warmup for minimum 21 days before sending any cold email. We prefer 28 days.
- Start at 2 to 5 emails per day in week 1 to 2. Increase to 5 to 10 in week 3. Reach full capacity (10 to 13 per inbox) in week 4 to 5.
- Never turn warmup off completely. Even during active sending, keep warmup running at a reduced rate in the background.
- If a domain has been sending cold email and starts hitting spam, reduce cold sends and increase warmup volume for 1 to 2 weeks.
The most common warmup mistake: impatience. We see teams buy 10 domains on Monday and start blasting campaigns on Wednesday. Two weeks later, every domain is flagged. The 21 to 28 day warmup period exists because reputation building takes time. There's no shortcut. For the full protocol, see our email warmup guide.
Fix 3: Respect sending volume limits
Sending too many emails per inbox per day is the second most common cause of spam placement we see. The math is simple but people ignore it because they want more volume faster.
Safe limits per inbox per day: 30 to 40 emails. That's total emails including warmup traffic.
Safe limits per domain per day: 90 to 120 emails (assuming 3 inboxes per domain).
What happens when you exceed these limits
| Volume Per Inbox/Day | What Happens |
|---|---|
| 10 to 13 emails | Safe zone. Looks like normal business email. Sustainable indefinitely. |
| 14 to 25 emails | Caution zone. Works short term but reputation erodes over weeks. |
| 26 to 40 emails | Pushing it. Monitor closely. Works for established domains only. |
| 40+ emails | Danger zone. Spam placement starts within days to weeks. Domain reputation damage likely. |
Action steps
- Calculate your total daily volume across all campaigns and inboxes.
- Make sure no single inbox exceeds 30 to 40 sends per day (including warmup).
- If you need more volume, add more inboxes and domains. Our domains calculator shows exactly how many you need at every volume level. Don't push existing ones harder.
- Set daily limits in your sending tool. Every major cold email platform (Instantly, Smartlead, Lemlist) has per inbox daily limits. Set them and don't override.
Fix 4: Eliminate content spam triggers
Authentication, warmup, and volume are the big three. If those are all clean and you're still seeing spam placement, content is the next place to look.
Spam filters analyze email content for patterns associated with spam. Some triggers are obvious (all caps subject lines, excessive exclamation marks). Others are subtle.
Content triggers to avoid
Spam trigger words in subject lines: "Free," "guarantee," "act now," "limited time," "click here," "congratulations." These words alone won't always trigger spam filters, but combined with other signals (new domain, high volume, no authentication), they tip the scale.
Too many links. One link maximum in cold emails. Two at the absolute most (one in body, one in signature). Every additional link increases your spam score. Tracking links from your sending tool count as links.
HTML heavy emails. Cold emails should look like emails a person would type. Not marketing newsletters with images, buttons, colored backgrounds, and custom fonts. Plain text or minimal HTML only.
Images in cold emails. Adding images to a cold email is almost always a mistake. Images increase email size, trigger HTML rendering, and often contain tracking pixels that spam filters flag. If you need to share something visual, link to it.
URL shorteners. Bit.ly, TinyURL, and similar services are heavily associated with spam and phishing. Never use them in cold email. Use full URLs or your own custom short domain.
Unsubscribe links (the wrong kind). Using a link with unsubscribe text is fine and actually recommended. Using a one click unsubscribe header is better. Using no unsubscribe option at all is a deliverability risk.
Action steps
- Send a test email to mail-tester.com. It gives you a 1 to 10 score and tells you exactly what content triggers it found.
- Strip your email to plain text. Remove all images, excessive links, and HTML formatting.
- Keep it short. 50 to 125 words for the initial email. Shorter emails look more like real communication and less like marketing blasts.
- Run your subject line and email body through a spam word checker (many sending tools have these built in).
- Check your sending tool's tracking settings. If it adds a tracking pixel or wraps links for click tracking, that counts as additional HTML and links that filters evaluate.
Fix 5: Monitor domain reputation
Domain reputation is a score that email providers assign to your sending domain based on its history. High reputation means inbox placement. Low reputation means spam or rejection.
The problem: reputation degrades silently. You won't know your domain reputation dropped until you notice campaign performance falling off. By then, the damage is done and recovery takes weeks.
How to check domain reputation
| Tool | What It Shows | Cost |
|---|---|---|
| Google Postmaster Tools | Domain reputation, spam rate, authentication results for Gmail specifically | Free |
| MXToolbox Blacklist Check | Whether your domain or IP appears on any major blacklists | Free |
| Talos Intelligence (Cisco) | IP and domain reputation lookup | Free |
| Instantly's Deliverability Dashboard | Inbox placement rates, warmup scores, domain health | Included with Instantly subscription |
Action steps
- Set up Google Postmaster Tools for every domain you send from. It's free and gives you the most accurate reputation data for Gmail (which is a huge portion of B2B email).
- Check blacklists weekly using MXToolbox. If a domain appears on any blacklist, stop sending from it immediately and start the delisting process.
- Monitor inbox placement rates in your sending tool's dashboard. If inbox placement drops below 85%, investigate immediately. Below 70%, pause the domain.
- Track spam complaint rates. Google considers anything above 0.3% spam complaint rate as problematic. Keep it below 0.1% by having clean lists, relevant messaging, and easy opt out.
Fix 6: Manage your bounce rate
High bounce rates destroy domain reputation faster than almost anything else. When a significant percentage of your emails bounce (the address doesn't exist, the mailbox is full, the domain is invalid), email providers interpret that as a sign you're sending to purchased or scraped lists. Which is exactly what spammers do.
Target bounce rate: under 3%. Anything above 5% is a red flag. Above 10% and you need to stop sending and fix your data immediately.
Why bounces happen
Bad data. The email address was wrong when you bought or scraped it. The person left the company. The domain expired.
No verification. You loaded a list into your sending tool without verifying the email addresses first. Verification catches 80 to 90% of bad addresses before you ever send.
Outdated lists. B2B contacts change jobs frequently. A list that was 95% accurate 6 months ago might be 80% accurate today. The longer you sit on a list without sending, the worse it gets.
Action steps
- Verify every email address before sending. Use a verification service (NeverBounce, ZeroBounce, MillionVerifier). Cost is roughly $3 to $5 per 1,000 emails verified. Cheap insurance.
- Set up bounce monitoring in your sending tool. Get alerts when bounce rate exceeds 3% on any campaign.
- Remove bounced addresses immediately. Don't retry them. A hard bounce means the address doesn't exist. Retrying damages your reputation further.
- Re verify lists that are older than 90 days before sending to them again.
- Use waterfall enrichment (multiple data providers) to get the highest accuracy email addresses from the start. Single source data typically has 15 to 25% lower accuracy than waterfall enriched data.
Fix 7: Handle unsubscribe compliance
This one is partly about deliverability and partly about not getting fined. CAN SPAM, GDPR, and other regulations require that recipients can opt out of your emails. But beyond legal compliance, unsubscribe handling directly affects your spam placement.
When someone can't easily unsubscribe, they hit the "report spam" button instead. Every spam report hurts your domain reputation. A small number of spam reports across a large volume might be manageable. But when you're sending cold email from domains with limited history, even a few spam reports can tank your reputation.
Action steps
- Include an unsubscribe link or opt out text in every cold email. Something simple: "If this isn't relevant, let me know and I'll remove you from my list."
- Implement one click unsubscribe headers. Google specifically recommends (and increasingly requires) the List-Unsubscribe header for bulk senders. Most modern cold email tools add this automatically.
- Process unsubscribes immediately. When someone opts out, remove them within 24 hours. CAN SPAM requires removal within 10 business days, but faster is better for your reputation.
- Never email someone who has unsubscribed. Maintain a suppression list and check it before every send. This sounds obvious but we've seen it happen when teams use multiple sending tools without syncing their suppression lists.
- Monitor your spam complaint rate in Google Postmaster Tools. If it exceeds 0.1%, investigate. If it exceeds 0.3%, pause and fix before continuing.
The diagnostic order: how to troubleshoot spam placement
When you suspect emails are going to spam, work through these checks in order. Don't skip ahead. Each fix builds on the ones before it.
| Step | Check | Tool | Fix Time |
|---|---|---|---|
| 1 | Authentication (SPF, DKIM, DMARC) | MXToolbox | 5 to 15 minutes |
| 2 | Warmup status and history | Your warmup tool's dashboard | 21 to 28 days if not warmed |
| 3 | Sending volume per inbox | Sending tool analytics | Immediate (reduce volume) |
| 4 | Content spam triggers | Mail Tester | 30 minutes to rewrite |
| 5 | Domain reputation and blacklists | Google Postmaster, MXToolbox | Days to weeks for recovery |
| 6 | Bounce rate | Sending tool + verification service | Hours (verify + clean list) |
| 7 | Spam complaints and unsubscribes | Google Postmaster | Ongoing monitoring |
Most problems get solved at steps 1 through 3. If you've checked all 7 and everything looks clean, the issue might be your list quality (targeting the wrong people generates more spam reports) or your sending tool itself (some platforms have shared IP reputation issues).
What good looks like
Across our 3,626+ campaigns, the benchmarks for healthy deliverability are:
- Inbox placement rate: 90%+ (this means 90% or more of your emails land in the primary inbox, not spam or promotions)
- Bounce rate: Under 3%
- Spam complaint rate: Under 0.1%
- Authentication pass rate: 100% (SPF, DKIM, and DMARC all passing on every email)
- Open rate: 40 to 60% (as a rough indicator that emails are being seen, though this metric is increasingly unreliable due to Apple Mail Privacy Protection)
If your numbers are significantly below these benchmarks, work through the 7 fixes in order. If they're at or above these levels and your reply rates are still low, the problem is targeting or copy. Not deliverability.
Frequently Asked Questions
Related Articles
Want us to run this playbook for you?
Book a strategy call and we'll show you how these frameworks apply to your business.
Book Strategy Call