IP Warming
Taking a fresh IP from cold to production by ramping volume slowly and seeding real engagement. Skip it and you're blocklisted in a week.
Why receivers require warming
Gmail, Outlook, Yahoo, Apple all maintain reputation profiles for every sending IP they see. The profile tracks volume patterns, complaint rates, engagement signals, authentication history, and how the sender's behaviour matches what a legitimate sender at that volume looks like.
A new IP shows up with zero history. The receiver has no idea whether this IP belongs to a legitimate ESP or to a spammer that just rotated. Sending 50,000 messages on day one from an IP with no history looks exactly like the behaviour pattern of a spammer trying to outrun reputation tracking. Receivers know that pattern. They respond by rate-limiting, routing everything to spam, or applying a temporary block.
Spread the same volume across 30 days with engagement signals throughout, and you look like a legitimate sender ramping up. Same final volume, completely different reputation trajectory. That's the entire point.
The mechanics: a logarithmic ramp
Standard 30-day warmup follows a logarithmic curve. Day 1 around 50 messages. Day 30 around 50,000. Why logarithmic instead of linear? Because receiver reputation tracking responds non-linearly to volume. The early days establish baseline trust. The later days demonstrate sustained, predictable behaviour.
Approximate daily targets for a 30-day warmup to 50K daily:
Day 1: 50 Day 16: 6,000 Day 2: 100 Day 17: 7,500 Day 3: 200 Day 18: 9,000 Day 4: 400 Day 19: 10,500 Day 5: 600 Day 20: 12,500 Day 6: 900 Day 21: 15,000 Day 7: 1,200 Day 22: 18,000 Day 8: 1,500 Day 23: 22,000 Day 9: 1,800 Day 24: 26,000 Day 10: 2,200 Day 25: 30,000 Day 11: 2,800 Day 26: 35,000 Day 12: 3,400 Day 27: 40,000 Day 13: 4,000 Day 28: 45,000 Day 14: 4,800 Day 29: 48,000 Day 15: 5,500 Day 30: 50,000+
These are total daily targets across all receivers. Within a day, traffic should distribute across major receivers proportionally to your eventual production mix. If Gmail is 40% of your audience, it should be ~40% of your warmup volume.
Engagement seeding: where DIY warmup fails
Volume alone doesn't build reputation. A new IP sending 50 messages on day 1 to a list of cold prospects, with zero opens and zero replies, is sending 50 messages worth of negative signal. That's worse than not sending at all.
Production warmup needs engagement seeding: the early-warmup volume goes to a curated network of real opt-in mailboxes that interact with the messages. They open. They reply. They mark as not-spam. They move messages from spam to inbox. Those signals tell receivers "the recipients want this mail," which is the strongest reputation input there is.
How the engagement network composition shifts during a 30-day warmup:
- Days 1-7. Around 95% engagement network, 5% real audience. Pure trust-seeding.
- Days 8-14. 85% engagement network, 15% real audience. First Postmaster Tools rating typically registers around day 5-7.
- Days 15-21. 70% engagement network, 30% real audience. Reputation profile stabilises.
- Days 22-28. 40% engagement network, 60% real audience. Real-world traffic patterns dominate.
- Days 29-30. 10% engagement network, 90% real audience. Stabilisation.
SaaS warmup tools (Mailwarm, Lemwarm, Folderly) implement this idea at small scale. They put your single mailbox into a network of around 500 other mailboxes that mutually warm each other. Fine for a single B2B outreach mailbox doing 50/day. Useless for a dedicated IP that needs to reach 50K daily; the engagement network has to be orders of magnitude larger to seed signals at that scale.
Authentication and infrastructure prerequisites
Warming an IP without proper authentication is wasted work. Before day 1 you need:
- Custom rDNS aligned with the sending domain.
185.10.20.30reverses tomail.example.com, andmail.example.comforward-resolves back to the same IP. - Valid HELO/EHLO matching the rDNS. Mismatch is an instant red flag.
- SPF record at the sending domain root, listing the IP being warmed.
- DKIM signing with 2048-bit keys, public key published at the appropriate selector.
- DMARC record at p=none initially with rua= reporting active. Promote to p=quarantine after warmup.
- MTA-STS policy file at the .well-known location, declaring TLS enforcement for inbound mail.
Missing any of these? Fix it before starting. Adding authentication mid-warmup forces receivers to re-evaluate the IP from scratch, often resetting whatever reputation has been built so far.
Monitoring during the warmup
An IP under warmup needs constant monitoring. Signals to track:
- Gmail Postmaster Tools. The IP reputation gauge (low / medium / high) and the spam rate. Reputation typically registers around day 5-7. If it registers as "low" or "bad," stop the warmup and audit immediately.
- Microsoft SNDS. Color rating per IP (red / yellow / green). Green by day 14 is the goal.
- 84-RBL polling. Spamhaus, Barracuda, SORBS, UCEPROTECT, the rest. A listing during warmup is rare on a clean IP, but should be detected within minutes if it happens.
- Bounce rates. Hard bounces above 2-3% indicate either bad list quality or pre-existing reputation issues. Soft bounces above 5% mean receiver-side throttling, often a sign of overly aggressive ramp.
- Engagement network metrics. Open rates, reply rates, not-spam classifications from the engagement traffic. Drops mean content or configuration issues.
If anything goes red, pause the warmup. Resuming after a fix typically loses 3-5 days. Ignoring the red signal and continuing typically loses the entire warmup.
Common mistakes that ruin warmups
- Day 1 volume too high. Should be in the low hundreds, not low thousands. 5,000 day-1 messages from an unknown IP is spam-pattern behaviour.
- Ramping too fast. Doubling daily looks like a sender outrunning detection. The curve should be logarithmic, not exponential.
- No engagement signals. Pure cold or pure transactional during early warmup gives receivers nothing positive to work with. The engagement network is what generates the signal that matters.
- Mixing transactional and bulk. Different sending patterns confuse reputation tracking. Warm separately when you can.
- Day-31 production at full volume. A successful warmup gets undone if day 31 jumps to 5x the warmup volume. Increase real traffic by 25-50% per week for the first month after warmup, not all at once.
- Forgetting subdomain rotation. If one subdomain carries 100% of warmup and 100% of production, any reputation hit in production is concentrated there. Subdomain rotation distributes risk.
- Ignoring receiver-specific feedback. Postmaster Tools and SNDS are saying something. Pay attention. A rating drop on day 12 is information, not a coincidence.
When to pick managed warming over DIY
The economics depend on volume and on what's at stake.
DIY with a SaaS tool (Mailwarm, Lemwarm) costs €30-50/month and works for single-mailbox B2B outreach at 50-100 messages/day. The engagement network is small. The schedule is approximate. The monitoring is basic. But the volume profile matches what the tool can do.
Managed warmup costs €199-299/month and works for dedicated IPs hitting 10,000-100,000 daily. The engagement network is large enough to seed signals at that scale. The schedule is calibrated. The monitoring catches issues within minutes. The engineering team handles delisting if anything breaks.
Wrong choice: using a SaaS warmup tool for a dedicated-IP-grade warmup. The engagement network is too small to seed signals at 5,000+ daily. The reputation curve flatlines around day 10-14 because the network has nothing more to offer. The IP enters production with mediocre reputation that takes 60+ days of real traffic to recover from. You don't save money. You just pay later.