IP Warmup Schedule: A 30-Day Ramp for New Sending IPs
A concrete 30-day IP warmup schedule with daily volume caps, per-ISP throttling tactics, and the bounce/complaint metrics that tell you when to push or pull back.
By SESMetric Editorial
A new sending IP is an unknown quantity to Gmail, Outlook, Yahoo, and every other mailbox provider. Send 100,000 messages on day one and you will hit deferrals, soft bounces, or an outright block before lunch. The fix is mechanical: ramp volume slowly, watch per-ISP signals, and let the receiving side build a positive history of your traffic before you push it.
This guide gives you a concrete 30-day ramp, the recipient mix to target at each stage, and the exact behavior to fall back on when an ISP starts throttling.
Why ISPs throttle a new IP
Mailbox providers score every IP on two axes: volume and engagement. A brand-new IP has no engagement history, so any volume looks suspicious. The provider's job is to protect inboxes from spam, and the cheapest defense against an unknown sender is to delay or refuse traffic until they can observe enough opens, clicks, and complaints to form an opinion.
A staged ramp is the protocol you follow to give ISPs that data without tripping their abuse heuristics. You start with tiny volumes to the most engaged recipients, watch how each provider responds, and double up only when the signals are clean. Skip the ramp and you teach the same providers that your IP is a spammer's IP, which takes weeks to undo.
The principle is gradual exposure. Each ISP applies its own thresholds, but they all reward consistency: similar volume day over day, predictable send times, and a recipient list that opens and clicks. They penalize spikes, dormant addresses, and complaints.
The 30-day IP warmup schedule
The table below is a default ip warmup schedule for a transactional sender targeting a mixed consumer audience. Adjust downward if your list skews B2B (smaller engaged segments) or upward if you already have warm IPs running the same traffic.
| Day range | Daily volume cap | Recipient mix | Notes |
|---|---|---|---|
| Day 1 | 50 | Top 1% most engaged (opened in last 7 days) | Send to one ISP first if you can isolate |
| Day 2 | 100 | Top 1% engaged | Watch deferral rate per ISP |
| Day 3 | 250 | Top 5% engaged | Hold at this cap if any 4xx spike |
| Day 4 | 500 | Top 5% engaged | |
| Day 5 | 1,000 | Top 5% engaged | |
| Day 6 | 2,500 | Top 10% engaged | |
| Day 7 | 5,000 | Top 10% engaged | End of week 1 — review bounce rate |
| Day 8–10 | 7,500 → 10,000 | Top 25% engaged | First broad audience exposure |
| Day 11–14 | 10,000 → 25,000 | Top 25% engaged | Double every 2 days only if clean |
| Day 15–18 | 25,000 → 50,000 | Active in last 90 days | Add re-engaged segment |
| Day 19–21 | 50,000 → 75,000 | Active in last 90 days | |
| Day 22–25 | 75,000 → 100,000 | Full active list | Begin retiring engagement filter |
| Day 26–30 | 100,000+ (target volume) | Full active list | Hold steady if any ISP still flags |
The doubling rhythm matters more than the exact numbers. ISPs notice ratios. Going from 1,000 to 1,200 in one day is invisible; going from 1,000 to 10,000 in one day is a flag. Aim to roughly double daily through week one, then double every two to three days, and flatten in week four as you approach your steady-state volume.
If you intend to send more than 100,000 a day, extend the ramp into week five and six rather than compressing it. Reputation built slowly survives an off day; reputation built fast collapses at the first complaint cluster.
How to split warmup traffic across recipients
Volume alone does not warm an IP. Engagement does. The single biggest lever during warmup is who you send to, not how many.
Sort your audience by recent open and click activity. On day one, send only to the people who opened something in the last seven days. They are most likely to open this message too, which gives the ISP a positive signal early. Expand the window each week: last 30 days, last 90 days, last 180 days. By the end of the warmup, you can include the long tail of your active list.
Three things to avoid during the ramp:
- Dormant addresses (no engagement in six months or more). Bounce risk is elevated and opens are near zero.
- Purchased or scraped lists. These bury an IP faster than any volume mistake.
- Recent unsubscribes and complaints. Hard-suppress them before sending anything.
Per-ISP sequencing
If your sending stack lets you route by recipient domain, lean into it. Start the schedule at the ISP where you have the most engaged users — for most consumer products that is Gmail. Add Outlook, Yahoo, and Apple in week two once Gmail is responding cleanly. Each provider keeps its own scorecard, so a positive history with one does not transfer to the others, but staggering them lets you isolate problems faster.
Inside each ISP, send during your audience's normal business hours rather than a midnight burst. Predictable send windows look more like a real product and less like a campaign.
Monitoring: the only three metrics that matter
You do not need a deliverability dashboard with twenty widgets to warm an IP. Watch three numbers per ISP, every day:
- Hard bounce rate — target under 2%. Above 5% on any ISP, pause sending to that ISP and clean the list segment that produced the bounces.
- Complaint rate — target under 0.1% (one per thousand). Above 0.3%, cut volume immediately and review the content or audience.
- Deferral rate (SMTP 4xx) — target under 5%. A spike of 4xx responses from one ISP is the earliest signal that you are pushing too fast for that provider.
The distinction between 4xx and 5xx matters during warmup. A 4xx deferral is the ISP telling you "slow down" — retry later, do not retry harder. A 5xx is a refusal: the message is rejected, and continued attempts make things worse. If you can read your SMTP logs or webhook stream, classify by response class and segment by recipient domain. Gmail, Outlook, and Yahoo all publish feedback loops (FBL) you should subscribe to for complaints.
Warmup-aware sending APIs
Doing this by hand — splitting lists, capping daily volume, pacing across ISPs — is mechanical work that belongs in your sending infrastructure, not a spreadsheet. A transactional email provider with per-IP rate limits, scheduled send_at timestamps, and per-pool routing turns the ramp from a manual calendar into a configuration value. SESMetric exposes pool-level caps and per-domain throttling so you can encode the table above and let the API enforce it instead of trusting a human to hit send at the right cadence.
The feature you want to look for is the ability to define a daily cap per IP and have the API queue overflow for the next window, rather than rejecting it. Combined with a webhook stream for bounces and complaints, you can build a closed loop: if any ISP crosses your threshold, the cap drops automatically and you investigate before sending more.
What to do when an ISP throttles
You will see throttling. It is not a failure — it is the system working. The question is how you respond in the next 24 hours.
Recognize the signals first. A burst of SMTP 421, 450, or 452 responses concentrated on one recipient domain is the textbook pattern. A sudden bounce-rate jump from one ISP while others stay clean tells you the same thing. Outlook tends to surface this as 421 4.7.0 ... too much mail. Yahoo uses 421 4.7.0 [TSS04]. Gmail leans on 421-4.7.28 rate-limit codes.
When you see it:
- Cut volume to that ISP to roughly 50% of the previous day. Do not zero it out — silence is also suspicious — but pull back hard.
- Hold the reduced volume for 24 hours. Resist the urge to retry the deferred messages immediately; the queue will catch up on its own when the ISP relaxes.
- Do not rotate to a fresh IP to escape the throttle. You will start the warmup from zero on the new IP and burn it the same way within a week.
- Check your content and audience for what changed. A new template, a new segment, or a recent list import is usually the culprit.
- Resume the ip warmup schedule the next day if bounce and complaint rates have normalized. If they have not, hold the reduced volume for another 24 hours before stepping up.
The goal of warmup is not to send the maximum volume on each day of the table. It is to end day 30 with a clean reputation across every ISP you care about. A ramp that takes 35 days because you backed off twice is a successful warmup. A ramp that hit day-30 volume on day 10 because you ignored deferrals is a burned IP.