A fresh sending domain has no history. To a mailbox provider, it is statistically indistinguishable from the throwaway domain a spammer registered yesterday. The only way to convince filters otherwise is to behave, slowly and predictably, like a legitimate sender for long enough that history accumulates. That process is domain warm-up, and every shortcut around it ends in the same place: throttling, spam folder placement, and a recovery that takes longer than the warm-up would have.
How to warm up an email domain
Warm-up has three concurrent goals. The first is to build engagement history with your most likely-to-engage recipients. The second is to keep complaint and bounce rates so low that filters never see a reason to throttle. The third is to demonstrate consistent, predictable daily volume so that the filter learns what "normal" looks like for your domain.
The mechanism behind all three is the same. Mailbox providers evaluate new domains against a rolling window of behaviour. Positive signals — opens, replies, scrolls, address-book adds — pull the domain's reputation upward. Negative signals — complaints, deletes without read, bounces, trap hits — pull it down. Until enough positive signal accumulates, the filter defaults to caution.
Before day one: prerequisites
Warm-up only works if the foundation is in place. Confirm all of the following before sending the first message:
- SPF, DKIM, and DMARC are configured and pass on a test send. Start with DMARC at
p=nonewithruareporting enabled, then move to quarantine and reject after warm-up completes. The lessons on DMARC, DKIM, and SPF cover setup. - A dedicated subdomain (e.g.
mail.yourdomain.com) is set up for the warm-up. Do not send from the root domain. - The recipient list is segmented by engagement. You need at least a few thousand recipients who have opened a message from any of your domains in the last thirty days.
- The content is genuine: real value, no spammy phrases, no shortened-URL link domains, no oversized image-to-text ratios.
- Google Postmaster Tools is verified for the sending domain and Microsoft SNDS is configured for any owned IPs.
The 30-day warm-up schedule
The schedule below assumes a target of roughly fifty thousand daily sends by day thirty-one. Scale targets up or down linearly for different goals. Volumes are upper bounds for the day; staying below them is fine if your list is smaller. Schedules vary by ESP and by the domain's history (a previously-used domain that fell silent warms faster than a truly fresh one), so treat these as a baseline and adjust to your provider's published curve.
Week 1: most-engaged seed (days 1–7)
Send only to recipients who have opened or clicked something from you in the last fourteen days. Keep daily volume tiny and identical from day to day so the filter sees consistency, not bursts.
- Day 1: 50 sends
- Day 2: 100 sends
- Day 3: 200 sends
- Day 4: 400 sends
- Day 5: 700 sends
- Day 6: 1,000 sends
- Day 7: 1,500 sends
End of week 1 audit: Postmaster Tools should show authentication passing at ninety-nine percent or higher. Domain reputation will usually still read "No data" or "Low" — that is normal. Spam rate should be at or near zero.
Week 2: widen the engaged segment (days 8–14)
Extend the segment to anyone who has opened in the last sixty days. Continue daily sends; do not skip days, even weekends.
- Day 8: 2,500 sends
- Day 9: 3,500 sends
- Day 10: 5,000 sends
- Day 11: 6,500 sends
- Day 12: 8,000 sends
- Day 13: 9,500 sends
- Day 14: 11,000 sends
End of week 2 audit: Postmaster Tools should show domain reputation at "Medium" or beginning to register. If still "Low" or showing any spam rate above 0.1 percent, hold week 3 volume at the day 14 level until it improves.
Week 3: include lightly-engaged recipients (days 15–21)
Add recipients who have opened in the last ninety days. Continue excluding anyone older. Volume increases moderate.
- Day 15: 14,000 sends
- Day 16: 17,000 sends
- Day 17: 20,000 sends
- Day 18: 24,000 sends
- Day 19: 28,000 sends
- Day 20: 32,000 sends
- Day 21: 36,000 sends
End of week 3 audit: domain reputation should sit at "Medium" or "High" at Gmail. Microsoft SNDS should show green or yellow status with complaint rates below 0.3 percent. Bounce rate should be under two percent.
Week 4: full target volume (days 22–30)
Volume reaches the planned daily target. The segment can now include anyone who has engaged in the last one hundred eighty days, but leave older recipients suppressed until warm-up completes.
- Day 22: 40,000 sends
- Day 23: 43,000 sends
- Day 24: 45,000 sends
- Day 25: 47,000 sends
- Day 26: 48,000 sends
- Day 27: 49,000 sends
- Day 28: 50,000 sends
- Day 29: 50,000 sends
- Day 30: 50,000 sends
End of week 4 audit: domain reputation "High" at Gmail, green at SNDS, spam rate under 0.1 percent for seven consecutive days. At this point you can move DMARC to p=quarantine and begin adding older segments back, one cohort per week.
Common failure modes
- Front-loading volume. Sending the planned day 7 volume on day 1 because "the list is clean" is the most common way to fail warm-up. Filters do not care about your list's history; they only see this domain's history.
- Skipping weekends. Inconsistent daily volume looks suspicious. Send something every day during warm-up, even if it is a smaller engaged-segment newsletter.
- Plateauing too long. A warm-up that stalls at the same volume for ten days teaches the filter that the new ceiling is your normal. Going above it later looks like a spike.
- Sending to unengaged recipients early. The first two weeks set the domain's baseline engagement. A bad week-one segment is hard to undo.
- Ignoring spam folder placement during warm-up. If mail starts landing in spam at day 12, the answer is not "push through to day 14." Hold volume and diagnose.
How to audit your warm-up in progress
Three dashboards plus one weekly habit are enough to run warm-up responsibly.
- Google Postmaster Tools — daily check of domain reputation, spam rate, and authentication pass rate. The lesson on reading Postmaster Tools covers what each panel means.
- Microsoft SNDS — twice-weekly check of complaint rate and filter result for any owned IPs.
- Aggregate DMARC reports — weekly review for alignment problems and unexpected sending sources. Start at /tools/dmarc-checker to validate the policy itself.
- List hygiene pass before each week. Suppress hard bounces, role addresses, and any recipients flagged by your ESP's bounce feedback before the next phase. The lesson on list hygiene covers the five tasks that matter.
Warm-up is not about gaming the filter. It is about giving it enough data to make an accurate judgement. The faster you try to finish, the less data the filter has, and the more cautious it becomes by default.
After day 30: sustaining the score
Warm-up does not end on day thirty. Domain reputation is a rolling window, and a quiet month after warm-up is almost as damaging as a spiky one. Maintain at least seventy percent of your peak daily volume going forward, keep DMARC reporting active, and re-check Postmaster Tools weekly. A warmed domain that goes silent for sixty days will need a second warm-up before it can scale back up — not as long as the first, but not trivial either.
The companion lesson on sender reputation covers what the score is actually measuring once warm-up is behind you, and the lesson on IP versus domain reputation explains why warming the domain matters more than warming the IP for most senders today.
Looking for the short definition? See email warm-up in the glossary.
