Skip to content

/ Learn — IP warming

How to warm a dedicated IP without burning your reputation.

A 30-day schedule that actually works, the metrics to watch, and the failure modes that derail teams. Written for someone who's moving to dedicated IPs and wants to do it once, correctly.

Published 2026-05-25 Reading time ~22 min Level Operator Updated 2026-05-25

/ TL;DR

A new dedicated IP has zero reputation. Sending it 100,000 messages on day one will trigger throttling, deferrals, and possibly outright blocking from major mailbox providers.

The structural fix is a 30-day ramp: start with engaged subscribers only, double daily volume every 2–3 days, watch complaint and bounce rates obsessively, and never re-warm into a list that hasn't been cleaned. Target spam complaints under 0.1%, treat 0.3% as a hard stop, and pause the ramp the moment metrics deteriorate.

Authentication (SPF, DKIM, DMARC) is the floor — not the ramp. Get it correct and aligned before you send a single message, or warming becomes meaningless work.

01 — Why IP warming exists, and what it actually does

A new dedicated IP arrives in the world with no sending history. To a mailbox provider like Gmail, Yahoo, or Microsoft, that IP is a complete unknown — and unknown IPs that suddenly start pushing thousands of messages look exactly like compromised servers, bulk-mailer botnets, or domain-spoofing campaigns. The filters can't tell the difference between you and an attacker, so they default to suspicion. They throttle. They defer. They send your mail to spam, or reject it outright, until you've earned the right to be trusted.

IP warming is the process of earning that trust deliberately, by sending small volumes of high-engagement mail and gradually scaling up as the providers observe consistent, positive behavior. It's not a marketing exercise; it's a fundamental requirement of the protocol stack. Skip it on a new IP and you can torch weeks of provisioning work in a single day, ending up with a reputation that takes months to rebuild rather than weeks to establish properly.

There are three situations where warming applies. First, when you provision a brand-new dedicated IP from your provider. Second, when a previously-warm IP has been dormant for 30 days or more — major receivers age out reputation faster than most operators realize, and a "warm" IP that hasn't sent in a month is effectively new again. Third, when you migrate from a shared pool to dedicated, even if your domain reputation is strong, because domain reputation and IP reputation are tracked separately and the new IP starts from zero regardless of how established your sending domain is.

One clarification worth making upfront: if you're on a shared IP pool from a major provider, you don't need to warm anything yourself. The provider manages the pool's reputation across all its tenants. The warming process described here is specifically for dedicated infrastructure where the IP's reputation is yours alone to build and defend.

02 — Pre-flight checks before you send anything

The fastest way to waste a warming runway is to start it on broken authentication or a dirty list. The two pre-flight checks below take an afternoon to do properly and prevent weeks of confused diagnostics.

Authentication has to be correct and aligned

SPF, DKIM, and DMARC are not optional. As of the 2024 bulk sender requirements from Gmail and Yahoo — which Microsoft formally adopted in 2025 — these are the table-stakes floor for reaching the inbox at all. If any of the three is missing, misconfigured, or unaligned with your sending domain, mailbox providers will throttle or reject your mail regardless of how careful your warming schedule is.

The trap most teams fall into is alignment. Authentication can technically pass while still failing the DMARC alignment check, because DMARC requires the "From" domain to align with either the SPF-validated domain or the DKIM-signed domain. A common failure mode: a marketing tool sends on behalf of marketing.yourdomain.com but signs with d=tool.example.com, which means the DKIM signature passes but doesn't align, and DMARC fails. Mail is then treated as unauthenticated.

Before you start warming, send a test message to a check-auth service like check-auth@verifier.port25.com or use the dashboard in Google Postmaster Tools, and confirm:

  • SPF passes for the sending IP and includes it in the policy.
  • DKIM signature is valid and the signing domain aligns with the From domain.
  • DMARC policy is published at p=none minimum, with alignment passing.
  • PTR/rDNS on the sending IP resolves and matches a legitimate hostname under your domain.
  • List-Unsubscribe header is present and supports RFC 8058 one-click POST, with a visible body link.

If any of these fails, fix it before sending a single warming message. There's no point ramping volume on infrastructure that can't pass the auth checks every receiver will run.

Your list has to be clean

The single fastest way to torch a warming IP is to send to bad addresses early. Hard bounces, spam traps, and stale contacts disproportionately damage a new IP because there's no positive history to offset the negative signals. A complaint rate above 0.3% during week one will set you back weeks, sometimes irrecoverably.

Before warming, suppress everything that bounced in the last 90 days, everything that hasn't engaged in the last 6 months, anything flagged by a reputable email-verification service, and anything from a list source you can't vouch for. The cleaner the seed cohort, the steeper the warming curve you can sustain. Conversely: if you can't honestly say the list is clean, fix the list before you touch the IP.

03 — The 30-day warming schedule

The schedule below assumes a target daily volume in the 100K–500K range and a clean list with at least a 90-day engaged cohort to seed from. Higher target volumes extend the runway proportionally; lower targets compress it but the same principles apply.

Day Send / receiver Cohort Focus
1–25030-day most engagedValidate auth, watch deferrals
3–410030-day most engagedConfirm clean baseline
5–625030-day engagedFirst engagement read
7–850060-day engagedBroaden cohort carefully
9–111,00060-day engagedWatch per-receiver split
12–142,50060-day engagedPeak engagement check
15–175,00090-day engagedCrosses bulk sender threshold
18–2110,00090-day engagedSustain, don't push
22–2525,00090-day engagedApproach half-target
26–3050K–100KFull engaged listReach target, hold

Volumes shown per major receiver (Gmail, Yahoo, Microsoft). Total daily volume across all receivers is roughly 3–4× the per-receiver figure. Treat as a starting template; adjust based on real metrics.

A few notes on what makes this schedule work

Doubling every 2–3 days is the ceiling, not the goal. If your engagement metrics weaken during a ramp step, hold at the current volume rather than continuing the doubling cadence. The schedule is a maximum-aggressive curve assuming everything is going well; real warming usually involves at least one or two hold-steps.

Per-receiver volume matters more than total volume. Gmail's filters don't care that you sent 50,000 messages today if only 5,000 of them went to Gmail addresses. The thresholds in the schedule are per-receiver; track them that way and split your warming across receivers based on your list composition.

Cohort expansion is sequenced with volume. Each step does more than raise volume; it also broadens the cohort, reaching from your most-engaged 30-day audience out toward your full active list. This produces a controlled engagement curve where the first signals are unusually strong (because you started with the most engaged people) and gradually normalize as you expand.

Send consistently within a day. Mailbox providers reward predictable cadence. Sending 5,000 at once and then nothing for 36 hours is worse than 5,000 spread evenly across 24 hours. If your normal sending pattern is bursty, normalize it during warming and then return to your actual pattern only after reputation is established.

volumeday 30day 1 target daily volume low engaged seed → doubling every 2–3 days → broaden cohort → full volume

/ Interactive — the warming ramp

How long does your ramp take?

days to full

Illustrative model. Real warming depends on the receivers, your content, and how engagement holds up — treat this as orientation, not a fixed schedule.

04 — The metrics you actually watch

Forget vanity metrics during warming. There are four signals that matter, and they have specific thresholds where you stop and diagnose rather than continue the ramp.

Spam complaint rate

Target <0.1% · Hard stop 0.3%

The most important signal. Measured via Gmail Postmaster Tools, Microsoft SNDS, and Yahoo's complaint feedback loop. A complaint rate that climbs above 0.1% means people don't want your mail; above 0.3% means the receivers will start filtering you aggressively. Pause the ramp the moment you see 0.2% sustained and investigate before continuing.

Hard bounce rate

Target <1% · Hard stop 2%

Hard bounces (5xx errors) above 2% during warming indicate list rot or worse — spam trap hits. The fix is never to "warm harder" through bad addresses; it's to stop, verify the list, suppress every recent hard bounce, and resume from the same volume step. A bounce rate that won't come down even after verification often means a fundamentally bad list source.

Inbox placement

Target rising trajectory

During warming, inbox placement starts low and should climb steadily as reputation builds. Measure with seed-list tests (placement-monitoring services) at each ramp step, not just open rates — Apple Mail Privacy Protection inflates opens to the point of uselessness as a placement proxy. A flat or declining placement curve during warming means something is wrong; investigate before continuing.

Soft bounce / deferral rate

Per-receiver signal

4xx temporary failures are the early-warning system. A specific receiver showing elevated 4xx rates is throttling you for that receiver specifically — usually because you've crossed a per-receiver volume threshold faster than its filters trust. Hold or reduce volume to that receiver while continuing normal cadence elsewhere; never blanket-reduce across all receivers when one is flagging.

The discipline that distinguishes successful warming from failure is checking these metrics every day during the ramp, not at the end. By the time a complaint rate shows up at 0.4% in a weekly report, the damage is already in your reputation. Daily monitoring catches drift while you can still act on it.

05 — Troubleshooting the SMTP errors you'll see

Warming surfaces a specific set of errors. Knowing what each one means and how to respond saves days of misdiagnosis.

421 4.7.0 [TS03] All messages from your IP will be permanently deferred

Yahoo throttling you because of unfamiliar IP plus volume. Reduce per-receiver volume to Yahoo, send only to highly engaged Yahoo recipients for 48 hours, and resume the ramp once deferrals clear. This is a normal warming-period signal, not a crisis, as long as it resolves within a few days.

421 4.7.28 Our system has detected an unusual rate of unsolicited mail

Gmail rate-limiting. Either you're sending too fast, or your engagement signals are too weak for the volume. Hold the ramp, send only to engaged Gmail subscribers for several days, and confirm complaint rate is below 0.1% before resuming.

550 5.7.1 ... Unauthenticated email is not accepted

Authentication or alignment failure. Don't keep sending — every additional rejection compounds the reputation hit. Stop the ramp immediately, return to pre-flight checks, verify SPF/DKIM/DMARC pass and align, and only resume once a check-auth probe confirms green across all three.

550 5.7.606 Access denied, banned sending IP

Microsoft/Outlook block — usually a Smart Network Data Services issue or a complaint-rate spike to Hotmail/Outlook addresses. Submit an SNDS access request, request a sender review through Microsoft's mitigation form, and reduce per-receiver volume substantially while the case is reviewed.

421 4.3.0 Mail server temporarily rejected message

Generic deferral, usually receiver-side congestion or graylisting of a new IP. Most MTAs will retry automatically with exponential backoff. If retries don't clear within 24 hours, treat it as a soft block: reduce volume, send only engaged subscribers, and watch other metrics.

The pattern across all of these: receiver errors during warming are signals, not setbacks. Each one is the receiver telling you exactly what it wants you to change. The mistake is to keep pushing volume in the face of these errors hoping they'll clear — they won't, and ignoring them accelerates the damage.

06 — The mistakes that derail warming

We've watched a lot of warming runways go sideways. Almost all of them fail for one of these reasons.

Warming into a dirty list

Bounces and complaints during the first two weeks are catastrophically expensive to your reputation because there's no positive history to offset them. Teams who skip list hygiene almost always end up restarting warming from scratch on a new IP, having burned the first one before it ever earned trust.

Mixing transactional and marketing on one warming IP

Transactional mail has near-universal engagement; marketing has variable engagement. Mixing them on a warming IP averages the signal toward marketing's lower engagement, which slows the ramp and risks the transactional reputation you actually care about. Warm separate IPs for separate streams from the start.

Doubling on a flat engagement curve

The schedule's doubling cadence assumes engagement is healthy at the current step. If opens, clicks, or placement are flat or declining, doubling volume into a weak signal compounds the problem. Hold at the current step until engagement recovers; if it doesn't, the issue is upstream of warming and needs fixing first.

Sending only to engaged people forever

The flip side of the previous mistake. Some teams, having seen good metrics from engaged-only sending, never expand the cohort. That's not warming — it's hiding. A real warming runway gradually broadens the audience so that by the end you can sustainably reach your full active list, not just the easy fraction.

Going dark after warming

An IP that's been silent for 30+ days needs warming again. Some teams complete the runway, declare victory, and then send infrequently — only to find the next big campaign throttled because the IP went cold. Maintain consistent baseline volume after warming, even if it's just a small batch of transactional mail.

Ignoring per-receiver signals

An aggregate dashboard showing 95% inbox placement can hide a complete collapse at one receiver. If 30% of your audience is on Microsoft and your Microsoft placement is in the toilet, the rolled-up number doesn't reflect the reality your subscribers actually experience. Watch each major receiver separately.

07 — After warming: maintaining what you built

Reputation is not a state you reach; it's a state you maintain. The 30-day runway gets you to operational volume on dedicated infrastructure with strong signals at every major receiver, but that posture decays without continued discipline. The same things that earned the reputation are the things that keep it: consistent sending cadence, clean lists, engaged audiences, and continuous monitoring.

The single most important post-warming habit is consistency. Mailbox providers reward predictable behavior more than they reward any specific volume. An IP sending 100,000 messages a day every day for a year will outperform one that sends 700,000 once a week with six dormant days between, even though the total volume is identical. If your campaign cadence is naturally bursty, smooth it as much as you can with intermediate sends or — better — split bursty and steady streams across separate IPs.

The second is ongoing list hygiene. The cleaner the list at warming end remains, the longer your reputation holds. Build engagement-based sunset rules into your sending program (subscribers with no engagement in N days drop in frequency, then drop off the list entirely after a re-engagement attempt). Suppress hard bounces aggressively. Treat complaints as the signal they are, not as inevitable cost. The list you ended warming with is the asset you've spent thirty days building; protect it.

08 — Should you DIY this, or have someone run it?

We'll be plain. The 30-day schedule above, the metrics, and the troubleshooting are all real, and a careful operator can run a warming runway successfully using them. The reason we run warming as a service isn't that the process is secret; it's that doing it well requires daily attention from someone whose job it is to know what every 4xx code at every major receiver means. Most teams handing this to one of their engineers as a side project are setting that engineer up for a frustrating month.

The right answer depends on your situation. If you have a dedicated deliverability person, the resources to monitor metrics daily, and the patience to hold ramp steps when signals weaken, DIY warming works. If your "deliverability person" is the same engineer who builds features, who'd rather not learn the difference between Yahoo's TS03 and Microsoft's S3140 in a hurry, hand it to people who know those error codes by heart. The work is the same either way — the difference is who carries the cognitive load.

Either way, the goal is the same: a dedicated IP at full target volume after thirty days, with strong reputation at every major receiver, ready to carry your sending for as long as you keep feeding it engaged mail and clean lists. The runway is the start of the relationship between you and the IP, not the end. Build it deliberately and the rest of the work is much easier.

Questions

How long does IP warming take?

Around 30 days for a typical ramp to full volume, though the exact length depends on your target volume and how aggressively you increase. The principle is to start very low, send only to your most engaged subscribers, and roughly double volume every two to three days while watching complaints and bounces. Higher target volumes need more doubling steps and therefore more time; lower targets warm faster. The thirty-day figure is a sensible default rather than a rule — the real finish line is when major mailbox providers have seen enough consistent, clean volume to trust the IP, and you should extend the ramp rather than rush it if metrics wobble.

What volume should I start warming at?

Very low — on the order of a few dozen messages per day per receiving provider, sent to your most engaged recipients, then doubled every couple of days. The exact starting number matters less than the shape: begin small enough that a brand-new IP with no reputation is not asking unknown mailbox providers to accept a flood, and increase gradually enough that each step builds a little more trust. Starting too high is the classic mistake, because a new IP sending large volume immediately looks exactly like a spammer or a compromised host, and triggers the throttling and blocking that warming exists to avoid.

Can I warm an IP with my whole list?

No — warm with your most engaged subscribers first, not your whole list. Engagement is the signal that builds reputation, so the early ramp should go to the people most likely to open and least likely to complain or bounce: your recently active cohort. Sending a new IP to your entire list, including unengaged or stale addresses, produces exactly the bounces and low engagement that damage a fragile new reputation. You broaden to less-engaged segments as the IP earns trust over the weeks, but the start must be your best, cleanest recipients.

What happens if I send too much too soon?

You trigger throttling, deferrals, and potentially outright blocking. A new IP has no reputation, so a sudden large volume reads to mailbox providers as a spammer or a compromised server, and they respond defensively — slowing acceptance with 4xx deferrals at first, and blocking outright if the pattern continues. Worse, you can damage the IP's nascent reputation in a way that takes weeks to recover from, effectively setting your warming back to the start. This is why the ramp is deliberately gradual and why the rule is to pause or slow down the moment metrics deteriorate rather than push through.

Do I need to warm a shared IP?

Generally no — warming applies to dedicated IPs. On a shared IP, the pool's existing senders already maintain the IP's reputation with their aggregate volume, so a new sender joining benefits from that established warmth without running their own ramp. Warming is specifically the work of building reputation on an IP that carries only your mail and starts with none. This is also one of the trade-offs in the dedicated-versus-shared decision: a dedicated IP gives you control but requires you to warm and sustain it, while a shared IP skips the warming at the cost of pooling your reputation with others.

Does reputation fade if I stop sending?

Yes — IP reputation decays with dormancy, which is why warming is not purely a one-time task. Mailbox providers weight recent behavior, so an IP that goes quiet for a stretch loses the trust it built, and returning to volume after a gap can require a partial re-warm. Reputation gains can erode within about a month of inactivity, so a warmed IP needs sustained, reasonably consistent volume to stay warm. This is the same consistency principle behind the dedicated-versus-shared decision: a dedicated IP is only worth it if you can keep feeding it steadily enough to hold its reputation.

Reading this and would rather just have us run the warming? That's what the service exists for.

The schedule above is what we run for customers, every day, with the daily monitoring and per-receiver attention that makes the difference between warming working and warming wasting weeks. If that sounds easier than doing it yourself, the discovery call takes 30 minutes.

Book infrastructure review