Playbook

Email Warm-Up Playbook

The Full Deliverability Pipeline for Lead Generation Campaigns

Updated
Sep 18, 2026
Author
@Lay
Cold emails per mailbox per day
20 to 30
Hard bounce rate
under 2%
Spam complaint rate
under 0.1%
Full ramp
3 to 6 weeks

Why warm-up matters

A new domain or mailbox has no reputation, and mailbox providers treat no reputation as risk. Gmail, Microsoft (Outlook/Office 365) and Yahoo score every sender on domain reputation, IP reputation, authentication and recipient behaviour. A domain that goes from zero to 500 emails a day on day one looks exactly like a spammer, and the filters act accordingly.

Warm-up is the process of building that reputation deliberately: sending a small, growing volume of authenticated emails that get opened, replied to and never marked as spam, so the providers learn that your domain is a legitimate, wanted sender before your real campaigns start.

What the filters actually weigh:

Signal What it measures Weight in practice
Domain reputation History of the sending domain across all its mailboxes Highest, and it follows you everywhere
IP reputation History of the sending IP (shared for Google Workspace/M365, dedicated for SMTP servers) High, but on shared IPs it is mostly Google's or Microsoft's problem
Authentication SPF, DKIM and DMARC alignment Pass/fail gate: failing means bulk folder or rejection
Engagement Opens, replies, moves to inbox, clicks, deletes without reading Very high and compounding
Complaints Spam button clicks per delivered email Critical: above 0.3% Gmail throttles you, above 0.1% is already a warning
Bounces Invalid addresses hit Above 2% to 3% signals a bought or unverified list
Volume pattern Sudden spikes versus steady, predictable sending Spikes on a young domain are the fastest route to spam

Two consequences shape everything that follows. First, reputation is per domain, so cold outreach must never run from your main company domain: a burned outreach domain can be retired, a burned primary domain takes your invoices, support and client emails down with it. Second, since February 2024 Google and Yahoo enforce authentication, one-click unsubscribe and complaint rates below 0.3% for bulk senders, and Microsoft followed in 2025 for senders above 5,000 emails a day, so the technical setup in Stage 1 is mandatory, not optional.

The full pipeline:

  1. Buy secondary domains
  2. DNS: SPF, DKIM, DMARC, MX, tracking
  3. Create mailboxes 2 to 3 per domain
  4. Warm-up ramp 3 to 6 weeks
  5. Verified, segmented list
  6. Campaign at capped daily volume
  7. Monitor, rotate, keep warming

Each stage below covers one of these blocks.

Stage 1: Infrastructure

Get the DNS right before a single warm-up email goes out. Every day of warm-up on a misconfigured domain is wasted, and fixing SPF or DKIM mid-ramp resets part of the reputation you built.

1.1 Secondary domains

Never send cold outreach from the primary domain. Buy lookalike domains that redirect to the main site so a curious prospect lands somewhere real.

1.2 Mailbox provider

Option Pros Cons Use when
Google Workspace Best inbox placement to Gmail, strong shared IP reputation, cheap Strict daily limits (2,000/day hard cap, far less safely), Google can suspend accounts that look automated Default choice for B2B outreach
Microsoft 365 Best placement to Outlook/Exchange targets, common in enterprise Harder to warm, more aggressive throttling on new tenants Target list is Microsoft-heavy
Dedicated SMTP (Postmark, SendGrid, Mailgun, self-hosted) Full control, no per-seat cost, dedicated IPs You warm the IP too, more technical, weaker than Google/Microsoft for cold outreach Transactional or opted-in newsletters, not cold

For cold lead generation, split infrastructure across both Google and Microsoft so a problem with one provider does not stop the whole operation.

1.3 DNS records

All four are required. Set them on every secondary domain before creating mailboxes.

SPF (Sender Policy Framework) lists which servers may send for the domain. One record per domain, maximum 10 DNS lookups.

Type: TXT Host: @
v=spf1 include:_spf.google.com ~all

For Microsoft 365: v=spf1 include:spf.protection.outlook.com ~all. If a tool like Instantly or Smartlead sends through its own servers, add its include. Use ~all (softfail) during warm-up and -all (hardfail) once stable.

DKIM (DomainKeys Identified Mail) signs each email cryptographically so the receiver can verify it was not altered. Generate the key in the Workspace or M365 admin console, publish the TXT record they give you, then turn signing on. Use 2048-bit keys.

Type: TXT Host: google._domainkey
v=DKIM1; k=rsa; p=MIIBIjANBgkq...

DMARC (Domain-based Message Authentication) tells receivers what to do when SPF or DKIM fail and sends you reports. Start in monitoring mode, then tighten.

Type: TXT Host: _dmarc
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; pct=100

Move to p=quarantine after two clean weeks of reports and to p=reject once you are sure every legitimate sender is aligned. Gmail and Yahoo require at least p=none for bulk senders; a domain with no DMARC at all is penalised.

MX records must exist even on outreach domains: a domain that sends but cannot receive is a classic spam pattern. Workspace and M365 set these automatically.

Custom tracking domain: if your sending tool tracks opens and clicks, it rewrites links through its own domain, which is shared with every other customer, including spammers. Set a CNAME such as track.getamazify.com pointing to the tool's tracking host so links stay on your domain. Better still, disable open tracking entirely (see Stage 4).

BIMI (brand logo in the inbox) is optional and requires p=quarantine or p=reject plus a verified mark certificate. Not worth it for outreach domains.

Verify everything with MXToolbox, Google Admin Toolbox or a tool like Mail-Tester before moving on. All of SPF, DKIM and DMARC must show PASS on a test send to a Gmail and an Outlook address.

1.4 Mailboxes

Stage 2: The warm-up ramp

Warm-up takes a minimum of 3 weeks for Google Workspace and 4 to 6 weeks for Microsoft 365 or a dedicated IP. There is no shortcut: providers score consistency over time, not volume. The goal at the end of the ramp is a mailbox that sends 20 to 30 cold emails a day on top of a continuous background of warm-up traffic.

2.1 How warm-up traffic works

Warm-up emails are exchanged between your mailboxes and a network of other real mailboxes. The receiving side opens the email, marks it as important, moves it out of spam if it landed there, and replies. Those actions are the strongest positive signals a mailbox provider can see. The two ways to generate them:

Automated warm-up networks (built into Instantly, Smartlead, Lemlist, Woodpecker, or standalone like Warmup Inbox, Mailreach, Warmbox). Your mailbox joins a pool of thousands of others that send each other conversational emails and reply automatically. Set it up and leave it running for the life of the mailbox, not only during the ramp.

Manual warm-up. Real emails to colleagues, partners and existing clients who reply. Slower, but the engagement is genuine and it cannot be fingerprinted. Do both: automated for volume, manual for quality.

A note on risk: Google's terms prohibit the automated network approach and in 2025 Google started detecting and penalising some warm-up pools, especially those that reuse identical filler text. Use a tool with a large, varied pool, keep warm-up volume moderate (never above 40 a day), and make sure warm-up subjects and bodies do not contain a tag that identifies them (the tools use a hidden code; make sure it is not visible in the subject line).

2.2 Ramp schedule per mailbox (Google Workspace)

Week Warm-up emails/day Reply rate setting Cold emails/day What to check
1 3 to 5, rising by 1 to 2 a day 40% to 50% 0 DKIM/SPF/DMARC pass on every test, no bounces
2 10 to 20 40% 0 Inbox placement above 90% in the warm-up dashboard
3 20 to 30 35% 5 to 10 to your best, verified segment Open rate above 50% on cold, zero complaints
4 25 to 35 30% 15 to 20 Reply rate, bounce rate below 2%
5+ 20 to 30 steady 30% 20 to 30 cap Weekly Postmaster and blacklist check

For Microsoft 365 halve the cold volume in weeks 3 and 4 and extend the ramp by two weeks. For a dedicated IP, start at 50 emails a day total to your most engaged contacts and double roughly every three days, watching bounce and deferral rates.

2.3 Rules that hold at every stage

2.4 What good looks like at the end of the ramp

Stage 3: List quality

A perfectly warmed domain dies in a week on a bad list. Bounces and complaints are the two metrics providers punish hardest, and both come from who you email, not how.

3.1 Sourcing

3.2 Verification

Run every list through an email verifier before the first send and again if it is older than 30 days. Tools: ZeroBounce, NeverBounce, MillionVerifier, Bouncer; Lead Magic and Clay have verification built in.

Verifier result Action
Valid / deliverable Send
Catch-all / accept-all Send only to a small tested subset, or skip; these domains accept everything and hide bounces until later
Unknown Skip
Invalid / undeliverable Remove
Disposable / role-based (info@, sales@, admin@) Remove
Spam trap or complainer flag Remove and never re-add

Target after cleaning: a hard bounce rate under 2% on the first send. Above 3% means the list or the verifier failed; stop and re-verify.

3.3 Segmentation and suppression

3.4 Thresholds to hold

Metric Safe Warning Stop and fix
Hard bounce rate below 2% 2% to 3% above 3%
Spam complaint rate (Postmaster) below 0.1% 0.1% to 0.3% above 0.3%
Unsubscribe rate below 0.5% 0.5% to 1% above 1%
Open rate (if tracked) above 40% 25% to 40% below 25%
Reply rate above 3% 1% to 3% below 1%

Stage 4: Content and sending hygiene

The email itself is the last filter you pass and the first thing a human judges. Content filters look for the fingerprint of bulk mail; write like one person emailing another and most of the risk disappears.

4.1 Copy

4.2 Sequences

4.3 Spintax and variation

Sending 300 identical emails a day across 12 mailboxes is a pattern providers can match across recipients. Use spintax to vary greetings, openers and closers so no two emails are byte-identical:

{Hi|Hello|Hey} {{first_name}},
{I noticed|I saw|I came across} {{company}} {on Amazon|while looking at the {{category}} category}...

Keep the variations natural and equivalent in meaning. Over-spun text reads badly and personalisation errors (Hi {{first_name}}) are worse than no personalisation: always set a fallback value.

4.4 Tracking

4.5 Throttling and rotation

Stage 5: Monitoring and maintenance

Deliverability decays silently. Open rates fall, replies stop, and by the time you notice the domain has been in the bulk folder for two weeks. A 15-minute weekly check catches it in days.

5.1 Weekly checks

Check Where What to look for
Domain and IP reputation Google Postmaster Tools (add and verify every sending domain) Reputation High or Medium; spam rate below 0.1%; authentication at 100%
Microsoft reputation Microsoft SNDS (for dedicated IPs) and Outlook.com Smart Network Data Green status, no complaint spikes
Warm-up placement Sending tool's warm-up dashboard Inbox placement above 90%, spam saves trending down
Blacklists MXToolbox blacklist check, Spamhaus, Barracuda, SORBS Zero listings on domain and IP
DMARC reports Aggregate reports (rua) parsed in a tool like Postmark DMARC, dmarcian or EasyDMARC 100% aligned, no unknown sources sending as your domain
Seed test Send the live sequence to seed accounts on Gmail, Outlook.com, Yahoo and an M365 tenant (GlockApps, Mail-Tester, or your own seeds) Primary inbox on all, not Promotions or Junk
Campaign metrics Sending tool Bounce below 2%, reply rate steady, no sudden open-rate drop on one mailbox

Set Postmaster and blacklist alerts where the tools allow it so you do not depend on remembering.

5.2 Reading the signals

5.3 Recovery when a domain is burned

  1. Stop all cold sends from the affected domain immediately. Do not send through it while diagnosing.

  2. Find the cause: check Postmaster for the day the spam rate rose, match it to the list and copy sent that day.

  3. Check and request delisting from any blacklist that shows the domain or IP. Spamhaus and Barracuda have self-service forms; most delist within 24 to 48 hours once sending stops.

  4. Run warm-up only for 2 to 3 weeks at 20 to 30 a day and watch placement recover.

  5. If Postmaster reputation is Bad for more than 30 days, retire the domain. It is cheaper to warm a spare than to nurse a dead one. Keep the mailboxes alive for a few months so replies still arrive.

  6. Update the suppression list with every address that complained or bounced before touching the list again.

5.4 Ongoing hygiene

Reference

Capacity planning

Work backwards from the daily volume you need.

Target cold emails/day Mailboxes needed (25/day each) Domains needed (3 mailboxes each) Ramp before full volume
100 4 2 3 to 4 weeks
300 12 4 4 weeks
500 20 7 4 to 5 weeks
1,000 40 14 5 to 6 weeks, staggered domain purchases

Add 20% spare capacity in domains already warming so a burned domain does not cut volume.

Tool stack

Layer Options
Domains Namecheap, Porkbun, Cloudflare Registrar (Cloudflare also for DNS)
Mailboxes Google Workspace, Microsoft 365; Maildoso or Mailforge for bulk pre-configured inboxes
Sending and warm-up Instantly, Smartlead, Lemlist, Woodpecker, Reply.io
Standalone warm-up Warmup Inbox, Mailreach, Warmbox
List building Apollo, Clay, Lead Magic, LinkedIn Sales Navigator
Verification ZeroBounce, NeverBounce, MillionVerifier, Bouncer
DNS and auth checks MXToolbox, Google Admin Toolbox, Mail-Tester, dmarcian, EasyDMARC
Reputation Google Postmaster Tools, Microsoft SNDS, Spamhaus, Barracuda
Placement tests GlockApps, Mail-Tester, own seed accounts

Pre-launch checklist

Key thresholds at a glance

Metric Limit
Cold emails per mailbox per day 20 to 30
Total sends per mailbox per day under 50
Hard bounce rate under 2%
Spam complaint rate under 0.1% (0.3% is the hard ceiling Google and Yahoo enforce)
Minimum warm-up before cold sends 2 weeks; full ramp 3 to 6 weeks
Domain active life 6 to 9 months, then rotate
List re-verification every 30 days