Campaign Operations

Cold Email Deliverability: The Complete Infrastructure Guide

14 min read
MK

Mitchell Keller

Founder & CEO, LeadGrow · Managed 3,626+ cold email campaigns. 6.74% average reply rate. Booked 2,230+ meetings in 2025.

TL;DR

  • **Infrastructure determines inbox placement more than copy.** You can write a perfect email, but if your domain reputation is shot, nobody sees it.
  • **The 3-batch inbox system (60/20/20) protects your reputation.** 60% proven inboxes, 20% warming, 20% resting. Rotation keeps everything healthy.
  • **30 to 40 emails per inbox per day. Period.** Go above that and you'll trigger spam filters. We see it across thousands of campaigns. There's no shortcut.

By Mitchell Keller, Founder & CEO, LeadGrow. Managed 3,626+ cold email campaigns. 6.74% average reply rate. 2,230+ meetings booked in 2025.

Deliverability is infrastructure, not copy

When a cold email campaign underperforms, the first instinct is to rewrite the email. Change the subject line. Shorten the copy. Add personalization. Try a different CTA.

9 times out of 10, the problem isn't the copy. It's the infrastructure.

If your emails are landing in spam folders, it doesn't matter how good the writing is. Nobody reads their spam folder looking for interesting cold emails. Deliverability is the foundation. Everything else builds on top of it.

We've managed 3,626+ cold email campaigns. The ones that fail due to infrastructure issues look identical to the ones that fail due to bad copy from the surface. Low reply rates. Low open rates. Silence. The difference is that infrastructure problems can be fixed systematically, while copy problems require creative iteration. Always rule out infrastructure first.

Domain setup: the foundation

How many domains do you need?

Never send cold email from your primary business domain. Ever. If your domain gets flagged, your entire company's email (including client communication, invoices, and support) gets affected.

Buy dedicated domains for outbound. Our cold email domains calculator gives you the exact formula, but here's the math:

Each domain can safely support 2 to 3 inboxes. Each inbox sends 30 to 40 emails per day. So one domain gives you roughly 60 to 120 emails per day.

If you want to send 500 emails per day (a reasonable volume for a growing campaign), you need:

    • 500 emails / 35 emails per inbox = ~14 inboxes
    • 14 inboxes / 2.5 inboxes per domain = ~6 domains

We recommend having 2x what you need running at any time. So for 500 emails per day, buy 10 to 12 domains. The extras are warming up or resting.

Domain naming conventions

Your outbound domains should look like they belong to your company. Not exact copies of your primary domain, but close enough that a prospect clicking through wouldn't be confused.

Good patterns (if your company is "acme.com"):

    • getacme.com, tryacme.com, acmehq.com
    • acme.co, acme.io (different TLD)
    • meetacme.com, hiacme.com

Bad patterns:

    • acme-outbound.com (screams cold email)
    • acme123.com (looks like a scam)
    • totallylegitacme.com (no)

Use .com when possible. .co and .io work fine. Avoid .info, .biz, and other cheap TLDs for your primary sending. They have higher baseline spam scores.

Where to buy: Porkbun, Namecheap, Spaceship, Google Domains. They all work. Pick one and standardize.

How to set up each domain

For every domain you buy, you need four DNS records configured correctly. Get one wrong and your emails will hit spam. We have a dedicated SPF, DKIM, and DMARC setup guide that walks through each record step by step.

SPF (Sender Policy Framework)

SPF tells receiving mail servers which servers are allowed to send email on behalf of your domain. Without it, anyone could send email pretending to be your domain.

The SPF record is a TXT record in your domain's DNS. It looks like this:

v=spf1 include:_spf.google.com ~all

That example says "Google's servers are authorized to send for this domain." If you use a different email provider, swap in their SPF include.

Important rules:

    • Only one SPF record per domain. Multiple SPF records break validation.
    • If you use multiple sending services, combine them: v=spf1 include:_spf.google.com include:sendgrid.net ~all
    • Keep DNS lookups under 10 (SPF has a lookup limit).
    • Use ~all (soft fail) not -all (hard fail) for cold email. Hard fail is too aggressive and can cause legitimate emails to bounce.

DKIM (DomainKeys Identified Mail)

DKIM adds a digital signature to every email you send. The receiving server checks the signature against your DNS to verify the email wasn't tampered with in transit.

DKIM is usually set up through your email provider (Google Workspace, Microsoft 365, etc.). They give you a CNAME or TXT record to add to your DNS.

Verification: Send a test email to mail-tester.com or use MxToolbox to verify your DKIM signature is passing.

DMARC (Domain-based Message Authentication)

DMARC ties SPF and DKIM together and tells receiving servers what to do when authentication fails. It's the policy layer.

Start with a monitoring policy:

v=DMARC1; p=none; rua=mailto:[email protected]

This tells servers to report authentication failures without blocking emails. After 2 to 4 weeks of monitoring (confirming legitimate emails pass), tighten the policy:

v=DMARC1; p=quarantine; rua=mailto:[email protected]

Eventually move to reject, but only after you're confident all legitimate sending is properly authenticated:

v=DMARC1; p=reject; rua=mailto:[email protected]

MX records

MX records tell the internet where to deliver email for your domain. Even for outbound-only domains, you need MX records configured. Domains without MX records look suspicious to receiving servers.

If you're using Google Workspace, the MX records point to Google's mail servers. If using Microsoft 365, they point to Microsoft's servers.

Bottom line: every domain needs functional MX records, even if you never plan to receive email on it (you will, though, because replies go somewhere).

DNS propagation

After setting up DNS records, wait 24 to 48 hours for propagation. Don't start sending before DNS is fully propagated. Use MxToolbox or DNS Checker to verify all records are live before proceeding.

The inbox warmup protocol

New domains and inboxes have zero reputation. Email providers (Gmail, Outlook, etc.) don't know if you're a legitimate sender or a spammer. Warmup is the process of building that reputation gradually.

We have a dedicated warmup guide, but here's the executive summary:

Minimum warmup period: 14 days. Some providers recommend 21 days. We've found 14 days is sufficient if you do it correctly.

Warmup volume ramp:

    • Days 1 to 3: 5 to 10 emails per day
    • Days 4 to 7: 10 to 20 emails per day
    • Days 8 to 10: 20 to 30 emails per day
    • Days 11 to 14: 30 to 40 emails per day

During warmup:

    • Send only to warmup networks (other warmed inboxes that reply and engage)
    • Do NOT send to cold prospects during warmup
    • Ensure replies are happening (warmup tools simulate real conversations)
    • Monitor inbox placement daily

Never skip warmup. We've seen teams burn brand new domains in 48 hours by sending cold email before warmup. Once a domain is blacklisted, recovery takes weeks if it's possible at all.

The 3-batch inbox system

This is the system we use across all campaigns to maintain domain health while scaling volume.

Batch 1 (60% of inboxes): Active sending

These are fully warmed, reputation-verified inboxes currently sending cold email. They carry the bulk of your volume.

Batch 2 (20% of inboxes): Warming up

New inboxes going through the 14 day warmup protocol. They'll rotate into Batch 1 once warmed. Always have inboxes warming so you can rotate without downtime.

Batch 3 (20% of inboxes): Resting

Inboxes that have been sending for 4 to 6 weeks and need a break. They continue receiving warmup traffic and replies but don't send cold email. After 1 to 2 weeks of rest, they rotate back to Batch 1.

The rotation cycle:

    • Batch 2 inboxes finish warmup, rotate into Batch 1
    • Oldest Batch 1 inboxes rotate to Batch 3 for rest
    • New inboxes enter Batch 2 to start warmup
    • Rested Batch 3 inboxes rotate back to Batch 1

This means you always have fresh, healthy inboxes sending. No inbox gets overworked. And if one domain gets flagged, you have others ready to pick up the volume.

Sending limits (the non-negotiable numbers)

These limits come from managing 3,626+ campaigns. Break them and you'll end up in spam.

Per inbox per day: 30 to 40 emails. This includes new emails and follow-ups combined. Some teams push to 50. We've seen those teams hit spam within 2 to 3 weeks. Stay at 30 to 40.

Per domain per day: 80 to 120 emails. With 2 to 3 inboxes per domain at 30 to 40 each, this is the natural ceiling.

Ramp-up after warmup: 10% per day increase. Don't jump from warmup volume (40/day) to full blast. Increase by 3 to 5 emails per day until you hit your target volume.

Sending window: 8am to 6pm recipient time zone. Emails sent at 3am look automated (because they are). Send during business hours. Spread sends across the window, don't blast all at once.

Send days: Monday through Friday for most B2B. Some industries work weekends, but default to weekdays unless you have data showing otherwise.

Bounce rate thresholds

Bounces are the fastest way to destroy domain reputation. A bounce tells the receiving server "this sender doesn't know who they're emailing." Enough bounces and you get flagged as a spammer.

Hard bounce threshold: under 2%. Hard bounces mean the email address doesn't exist. If you're above 2%, your email verification process is broken. Fix it immediately.

Soft bounce threshold: under 5%. Soft bounces mean the mailbox is full, the server is down, or the message is too large. Some of these resolve themselves. If they persist, investigate.

Spam complaint threshold: under 0.1%. If more than 1 in 1,000 recipients mark your email as spam, email providers start throttling or blocking you. This is the hardest threshold to meet and the most important.

If you're above any of these thresholds:

    • Pause the campaign immediately
    • Clean your list (re-verify all remaining emails)
    • Check your targeting (are you hitting the wrong people?)
    • Review your copy (is it relevant to the recipient?)
    • Resume at lower volume after fixing the issue

Domain rotation strategy

Don't send all your volume from one domain. Spread it across multiple domains so that no single domain carries too much load.

Our rotation approach:

Round robin across domains: Each campaign uses 3 to 5 domains. Emails rotate across them so each domain sends roughly equal volume.

Domain age matters: Newer domains need lower volume. Domains that have been active for 3+ months can handle more. Weight your rotation accordingly.

Geographic distribution: If you're targeting multiple geographies, consider having domains registered with registrars in different regions. This isn't critical but can help with localized spam filters.

Monitor independently: Track deliverability metrics per domain, not just per campaign. One domain might be flagged while others are fine. If you only look at aggregate metrics, you'll miss the problem.

What to do when you hit spam

It happens. Even with perfect infrastructure, domains occasionally get flagged. Here's the playbook:

Step 1: Identify the scope

Is it one domain, multiple domains, or all of them? Is it one email provider (Gmail) or all providers? Use inbox placement tools (GlockApps, Mail Tester) to test where your emails are landing.

Step 2: Pause immediately

Stop sending from any flagged domains. Continuing to send while flagged makes it worse. Every spam-folder email further damages the reputation.

Step 3: Diagnose the cause

    • Bounce rate spike: Bad list data. Re-verify all contacts.
    • Spam complaints: Targeting issue. Your emails aren't relevant to the recipients.
    • Content trigger: Check for spam trigger words, too many links, or HTML formatting issues.
    • Volume spike: Sent too much too fast. Reputation couldn't handle the volume.
    • DNS misconfiguration: SPF, DKIM, or DMARC broke. Test with MxToolbox.

Step 4: Decide (save or burn)

Save the domain if:

    • It's been sending for 3+ months with good history
    • The flag was caused by a fixable issue (list quality, volume spike)
    • Inbox placement tests show partial delivery (hitting spam on Gmail but inbox on Outlook)

Recovery process: pause cold sending for 2 to 4 weeks. Keep warmup traffic running. Gradually reintroduce cold sending at 25% of previous volume. Monitor daily.

Burn the domain if:

    • It's blacklisted on multiple blacklists (Spamhaus, Barracuda, etc.)
    • Inbox placement is near 0% across all providers
    • The domain is less than 3 months old (not enough history to recover from)
    • Recovery would take longer than setting up a new domain

If you burn a domain, don't reuse the naming pattern. If "getacme.com" got burned, don't buy "getacme.co." Start fresh with a different variation.

Monitoring tools and daily checks

You can't manage what you don't measure. The right cold email software will give you most of these metrics out of the box. Here's what to monitor and how often:

Daily checks

    • Open rates per domain: Significant drops (20%+ decrease) indicate deliverability issues. Check per domain, not just aggregate.
    • Bounce rates: Any campaign above 2% hard bounce rate gets paused and investigated immediately.
    • Reply rates: Track per campaign and per domain. A domain with good open rates but zero replies might be hitting promotions tab.

Weekly checks

    • Inbox placement test: Send test emails to seed accounts on Gmail, Outlook, and Yahoo. Confirm inbox placement across providers.
    • Blacklist check: Run your sending domains through MxToolbox or MultiRBL to check for blacklist inclusion.
    • Domain reputation score: Google Postmaster Tools shows your domain reputation with Gmail (high, medium, low, bad).

Monthly checks

    • Domain age review: Are any domains approaching 6 months of heavy sending? Consider rotating them to rest.
    • Infrastructure audit: Verify all DNS records are still correct. Changes to email providers or DNS settings can break authentication.
    • Volume analysis: Are any inboxes consistently above 40 emails per day? Redistribute the load.

The plain text advantage

HTML emails with images, buttons, and fancy formatting trigger spam filters more often than plain text. For cold email, plain text wins.

Why:

    • Plain text emails look like real emails between humans
    • No tracking pixels means fewer spam triggers (though you lose open tracking)
    • Smaller email size means faster delivery
    • No broken formatting across email clients

We send almost all cold emails as plain text. The exception is follow-up emails that include a case study link or resource, where a single link is acceptable.

If you must track opens, use a single tracking pixel. But understand the tradeoff: tracking pixels are a known spam signal. For campaigns where deliverability is critical (new domains, difficult industries), turn open tracking off entirely.

Infrastructure checklist (before launching any campaign)

Run through this before every campaign launch:

    • Domains purchased and DNS configured (SPF, DKIM, DMARC, MX)
    • DNS propagation confirmed (24 to 48 hours, verified via MxToolbox)
    • Inboxes created on each domain (2 to 3 per domain)
    • Warmup completed (14 day minimum, 21 day preferred)
    • Inbox placement tested (seed emails to Gmail, Outlook, Yahoo)
    • Email list verified (under 2% expected bounce rate)
    • Sending limits set (30 to 40 per inbox per day)
    • Sending window configured (8am to 6pm recipient time zone)
    • Domain rotation active (round robin across 3+ domains)
    • Monitoring configured (daily bounce/open checks, weekly placement tests)
    • Unsubscribe mechanism in place (CAN-SPAM compliance)

Skip any of these and you're gambling with your deliverability. We run this checklist for every client, every campaign. It takes 20 minutes. It prevents 80% of deliverability problems.

We've managed 3,626+ campaigns with a 6.74% average reply rate. That number starts with infrastructure, not copywriting. Get the foundation right and the creative work has a chance to perform. Once your infrastructure is solid, move on to writing cold emails that get replies.

Frequently Asked Questions

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