Cold email deliverability issues usually trace to one of five causes: missing authentication (SPF/DKIM/DMARC), inadequate mailbox warmup, low domain age, content patterns triggering filters, or list quality (bad data, no validation). Diagnose by checking authentication first with mail-tester, then mailbox warmup status, then list validation rate.
Cold Email Deliverability Issues: Diagnosis Checklist
Cold email is the highest-risk category in email sending. You're emailing people who haven't opted in, which means higher complaint rates, more spam-trap exposure, and tighter filter scrutiny than any other use case. When deliverability breaks, it breaks fast. This guide is the diagnostic checklist I use when an agency or sales team comes to me with cold email problems.
The fix is usually mechanical. Five things break cold email deliverability; check them in order.
The five-cause diagnostic
In rough order of frequency:
- Authentication broken or missing. SPF, DKIM, DMARC not configured or not aligning.
- Mailbox not warmed. Sending from a fresh Google Workspace mailbox to 500/day triggers filters.
- Domain too young. Domains under 30 days old are quiet-suspect at most receivers.
- Content patterns. Spammy subject lines, link-heavy, attachments, image-only.
- List quality. Bad data with high bounce rate signals you don't know your audience.
Diagnose by ruling each out in order.
Step 1: Authentication check
Send a test cold email from your real campaign mailbox to [email protected]. Get the report. You need:
- SPF: pass, aligned
- DKIM: pass, aligned to the From domain
- DMARC: pass (or at least not fail)
- mail-tester score: 9/10 or higher
If any of these fail, fix authentication before anything else. See the SPF setup guide and the DKIM setup guide. For DMARC alignment specifically, see DMARC aggregate report reading.
# Quick CLI check
dig TXT yourdomain.com | grep spf
dig TXT default._domainkey.yourdomain.com
dig TXT _dmarc.yourdomain.com
Practitioner note: I see DKIM misconfiguration roughly half the time on initial cold email audits. The most common failure: the DKIM CNAME was added in DNS but pointing at the wrong selector, or the cold-email tool was reconfigured and the old selector is stale. mail-tester shows this immediately.
Step 2: Mailbox warmup status
Each cold-email mailbox needs 21-30 days of warmup before campaign volume. Most tools (Instantly, Smartlead) ship with built-in warmup that sends and receives mail with other warmup pool members.
Verify:
- Warmup ran for the full 21-30 days, not skipped
- Daily send volume during warmup ramped progressively (5 → 10 → 20 → 40 → 80)
- Reply rate during warmup was high (>30%)
- No deferrals or 5xx errors during warmup
If you skipped or shortened warmup, restart it. Your cold campaign is essentially burned.
Step 3: Domain age
Mailbox providers treat domain registration date as a signal. A domain registered yesterday and immediately sending cold mail looks like a throwaway spam domain. Standard practice:
- Register the domain at least 30 days before any cold sends
- Add basic content (a simple landing page is fine)
- Configure MX, SPF, DKIM, DMARC immediately
- Wait the 30 days
- Then start mailbox warmup
- Then start campaigns
Total time from registration to first campaign: ~60 days. There's no good shortcut.
Step 4: Content patterns
Common cold email content red flags:
- ALL CAPS in subject line
- Excessive emojis (any in B2B)
- Image-only or image-heavy body
- Multiple links
- Tracking link rewrites that don't match your domain
- Attached PDFs or files
- "Re:" or "Fwd:" prefixes when not actually replies
- Aggressive personalization tokens that fail (
{first_name}showing as literal text)
Test your template through mail-tester and Glockapps to see how filters score it.
Practitioner note: I had a client whose cold reply rate dropped from 4% to 0.8% with no campaign change. Cause: their sequence tool started rewriting links through a generic tracking domain (
track.io/abc123). Receivers downgraded sends with mismatched tracking domains. Switching to custom domain tracking on their sending domain recovered reply rate inside two weeks.
Step 5: List quality
Run every list through a validator before sending. Standards:
| Bounce rate (validated list) | Status |
|---|---|
| Under 2% | Healthy |
| 2-3% | Watch carefully |
| 3-5% | Pause and re-validate |
| Over 5% | Stop, full data review |
Validators:
- NeverBounce — fast, integrated with most sequence tools
- ZeroBounce — strong on catch-all detection
- MillionVerifier — cost-effective for high volume
- Bouncer — good API
Validation catches typo addresses, role accounts (info@, sales@), known traps, and disposable domains. Skip this and you're flying blind.
Tools to diagnose
- mail-tester.com — free, fast spam score and authentication check
- Glockapps — inbox placement testing across multiple providers
- Google Postmaster Tools — domain reputation if you're sending volume to Gmail
- Microsoft SNDS — IP reputation at Outlook/Hotmail
- MXToolbox — blocklist check
- Instantly/Smartlead built-in — warmup status, recent delivery results
For monitoring tools more broadly, see deliverability monitoring tools.
When to burn it and restart
Sometimes diagnosis says the setup is unsalvageable. Signs:
- Domain on Spamhaus SBL/CSS for 30+ days
- All mailboxes on the domain showing 30%+ deferrals
- Postmaster Tools showing red domain reputation
- Multiple blocklist entries
In these cases, the cheapest path is usually a new sending domain. Burn the old one, register a new variant, follow the standard 60-day setup, and migrate your campaigns. See cold email infrastructure complete guide for the full setup.
Practitioner note: Don't try to fix a fully burned cold sending domain. I've watched agencies spend 3-4 months trying to rehab a domain when a fresh domain would have been campaigning within 60 days. The math is brutal: you can't rebuild reputation faster than you can build it from scratch.
If you're seeing cold email deliverability problems and want a methodical diagnosis with concrete fixes, book a consultation. I do cold email infrastructure audits including authentication, warmup verification, list quality review, and content pattern analysis.
Sources
- Gmail Sender Guidelines — Google
- Microsoft sender requirements — Microsoft
- M3AAWG Sender Best Common Practices — M3AAWG
- Mail-Tester — Mail-Tester
- Glockapps inbox placement testing — Glockapps
v1.0 · May 2026
Frequently Asked Questions
Why are my cold emails going to spam?
Most common causes in order: (1) DKIM not signing or DMARC not aligning, (2) mailbox not warmed before sending volume, (3) sending domain less than 30 days old, (4) spammy content patterns (links, attachments, all-cap subject), (5) bad list data with high bounce rate. Diagnose with mail-tester.com first to rule out authentication.
How do I fix cold email bounce rates?
If bounce rate is above 3%, pause sequences immediately and run list validation (NeverBounce, ZeroBounce, MillionVerifier). Targeting bounce rate under 2%. Verify the sending mailbox is fully warmed. Check for catch-all domain detection — some validators flag catch-alls as risky. Resume at low volume after cleaning.
What's a good reply rate for cold email?
2-5% reply rate is solid for cold email to a well-targeted ICP. 8%+ is excellent. Under 1% suggests either deliverability problems (you're in spam) or targeting/copy problems (you're hitting inboxes but the message isn't landing). Diagnose by checking inbox placement separately from reply rate using a tool like Glockapps.
How long does cold email warmup take?
21-30 days is the standard minimum. Some warmup tools claim faster but you're trading short-term reputation gains for long-term durability. Start at 5-10 emails/day on day 1, double weekly, plateau at the daily send volume you actually need (typically 50-150 per mailbox).
Should I use multiple sending domains for cold email?
Yes, for any volume above ~500 cold sends/day. Spread risk across 3-5 sending domains, each with 3-10 mailboxes. If one domain ends up on a blocklist, the others keep running. Use a brand-related domain pattern (getbrand.com, trybrand.io, brand-mail.com) and authenticate each independently.
Want this handled for you?
Free 30-minute strategy call. Walk away with a plan either way.