Why a new IP needs ramping#
When you provision a new sending IP — fresh Amazon SES verified domain, new Postmark account, new dedicated IP from your ESP — receiving servers (Gmail, Outlook, Yahoo) have NO reputation data on it yet. Their default treatment of unknown IPs is conservative: messages from a brand-new IP at high volume look like a botnet, so they go to spam or get rejected.
Warmup = sending in small batches at first, growing volume daily over 4-6 weeks. Each successful batch teaches the receiving servers "this IP sends legitimate mail at this volume." Once you've earned a baseline reputation, full volume is sustainable.
Skip warmup → blocked or filtered for months until reputation recovers from a fresh start.
The realistic 30-day ramp table#
| Day |
Daily volume |
What to monitor |
| 1 |
1,000 |
Bounce rate <2%, complaint <0.1% |
| 2 |
2,000 |
Same |
| 3 |
4,000 |
Same |
| 4 |
8,000 |
Same |
| 7 |
15,000 |
Same; first reputation check at Google Postmaster Tools |
| 10 |
25,000 |
Hold if any signal red |
| 14 |
50,000 |
Postmaster Tools should now show IP reputation: Medium or High |
| 21 |
100,000 |
Hold if complaint rate creeps above 0.15% |
| 30 |
250,000+ |
Full volume; warmup complete |
Send to your MOST engaged segment first. Engaged-last-7d is the gold subgroup; expect 30-40% open rates. Receiving servers see high engagement → reputation jumps fast. If you start with re-engagement segments (low open rate), warmup takes 2-3× longer.
Configure the schedule in AcelleMail#
Open the sending-server detail#
In AcelleMail's sidebar, click Sending → Sending servers. The list shows every server connected to this account with its status chip, sending limit, and last activity:

Click into the row you want to configure. The detail page surfaces Connection settings (host / credentials), Configuration (server name, default from, sending limit, bounce + FBL handler), and the Test connection / Send test email buttons in the toolbar:

Where the throttle lives#
Same sending-server detail → Configuration section. The Sending limit dropdown caps how many emails AcelleMail will hand to this server per unit of time (per minute / hour / day):

AcelleMail enforces the limit globally — when the rolling-window counter hits the cap, the queue holds back until the window slides. No throttling code in your campaigns; configure once per server.
For warmup specifically: set Sending limit to 1,000/day on Day 1. Each day raise it manually following the table above, OR use AcelleMail's per-server Warmup strategy (admin panel) to automate the daily increment.
Admin-side: pool-wide warmup view#
The admin pool list lets you see every server's warmup state at a glance:

In the admin sidebar, Warmup Strategies lets you define reusable warmup templates and attach them to servers as they're provisioned. The Strategies screen ships with 4 starter templates (Cautious / Balanced / Aggressive / Long-Haul) — each defines starting volume, daily increment, per-day cap, and growth curve:

Click into any preset to see its per-day volume table + risk-level + estimated completion. Balanced is the recommended default — linear ramp + safety pause if bounce/complaint signals trip. For a new IP with no prior reputation, the Cautious strategy (slow ramp + extra checkpoints) buys deliverability insurance. For a known-good IP on a new account, Aggressive cuts the warmup to ~30 days.
The per-server Warmup stats view shows live progress against the assigned strategy:

Monitoring during warmup#
Daily checks (5 minutes):
- Bounce rate at the AcelleMail campaign report. Should stay <2%. If creeps to 3%+, HOLD the ramp at current volume; don't raise tomorrow.
- Complaint rate. Stay <0.1%. If >0.15%, HOLD or cut volume.
- Google Postmaster Tools (added separately, see walkthrough). IP reputation should climb from "Bad" → "Medium" → "High" over the warmup. If stays "Bad" after Day 14, content + list quality issue, not just volume.
- SNDS (Outlook postmaster, see walkthrough). Per-IP reputation Green/Yellow/Red. Aim for Green by Day 21.
What to do if warmup hits a wall#
| Day |
Signal |
Action |
| 7 |
Bounce rate 4-6% |
Stay at current daily volume for 3 days. Run list verification. |
| 7 |
Bounce rate 8%+ |
Pause warmup. Audit list source — likely bad import. Resume only after cleanup. |
| 14 |
Postmaster IP still "Bad" |
Send only to engaged-last-7d for next 5 days. Re-evaluate. |
| 14 |
Complaint rate 0.2-0.3% |
Hold volume; audit campaign content + subject lines. |
| 21 |
Holding at Day 14 volume, all signals green |
OK to resume the ramp from where you held. Add 2-3 extra days to compensate. |
| 30 |
Still seeing 3-5% bounce rate at full volume |
Permanent issue. Investigate list source or content; this is not warmup-related. |
Common UI signals + fixes#
| Symptom |
Likely cause |
UI fix |
| Daily quota hit by 10am |
Cap set too low for the day's intended volume |
Sending limit → raise; OR add second warming server in parallel |
| Bounce rate spike on Day 3 |
Engaged-segment exhausted; sending to unengaged |
Re-scope segment; engaged-30d is too broad for warmup |
| Postmaster Tools shows no data after Day 7 |
Domain alignment broken — Gmail can't attribute the IP to your domain |
Re-verify domain in sending-server detail; check DKIM signature |
| Day 14 reputation still "Medium" |
Mid-warmup — expected |
Continue ramp; reputation grows slowly with consistent quality |
| Mid-warmup quota wasn't raised yesterday |
Manual update missed |
Set up admin Warmup Strategy → assign to server → auto-increments daily |
Advanced: per-ISP warmup, ramp curves, and automation patterns
The standard 30-day ramp is uniform. Sophisticated warmups go per-ISP because each major receiver weights different signals.
Per-ISP warmup curves:
| ISP |
Aggressive curve OK? |
Notes |
| Gmail / Google Workspace |
Moderate — Gmail signals reputation early |
Postmaster Tools is your daily check |
| Microsoft (outlook.com/live/hotmail) |
Slower — Microsoft is conservative |
SNDS shows per-IP reputation |
| Yahoo / Y!Mail / AOL |
Slower still |
No native postmaster tool; reverse-engineer from FBL + bounce |
| Apple iCloud |
Very conservative |
No postmaster tool; trust bounce + complaint signals |
| Business B2B (proofpoint, Mimecast, Cisco) |
Very slow |
Per-domain reputation; some require IP whitelisting |
For each ISP, segment your warmup audience. Per-domain segments:
-- AcelleMail subscriber tagging by recipient ISP
UPDATE subscribers SET tags = JSON_ARRAY_APPEND(tags, '$', 'gmail') WHERE email LIKE '%@gmail.com';
UPDATE subscribers SET tags = JSON_ARRAY_APPEND(tags, '$', 'outlook') WHERE email LIKE '%@outlook.com' OR email LIKE '%@hotmail.com' OR email LIKE '%@live.com';
(Run via tinker or migration; AcelleMail's tag-based segmentation handles this natively too.)
Send Days 1-3 to gmail-tagged only. Reputation builds at Gmail first. Add outlook on Day 4. Add yahoo/icloud Day 7. Add B2B receivers Day 14.
Programmatic warmup automation:
# Daily cron at 02:00 — increments per-server quota by 20-30% if yesterday's
# bounce + complaint rates stayed green
SERVER_UID="..."
# Yesterday's stats from API
stats=$(curl -sH "Authorization: Bearer $ADMIN_TOKEN" \
"https://acellemail.com/api/v1/admin/sending-servers/${SERVER_UID}/stats?day=yesterday")
bounce=$(echo $stats | jq '.bounce_rate')
complaint=$(echo $stats | jq '.complaint_rate')
current_limit=$(echo $stats | jq '.daily_sending_limit')
# Stop ramp if signals red
if (( $(echo "$bounce > 0.04" | bc -l) )) || (( $(echo "$complaint > 0.0015" | bc -l) )); then
echo "Holding ramp — bounce=$bounce complaint=$complaint"
exit 0
fi
# Else raise quota 25% (cap at full-volume target)
new_limit=$(( current_limit * 5 / 4 ))
if [ $new_limit -gt 250000 ]; then new_limit=250000; fi
curl -X PATCH -H "Authorization: Bearer $ADMIN_TOKEN" \
-d "{\"sending_limit\": $new_limit}" \
"https://acellemail.com/api/v1/admin/sending-servers/${SERVER_UID}"
echo "Raised limit to $new_limit"
Multi-IP warmup — for a pool of 5 new IPs:
- Day 1-7: Warm IP 1 only at 1k → 15k/day. Other IPs disabled.
- Day 8-14: Add IP 2 starting at 1k/day. IP 1 continues.
- Continue staggered intro every 5-7 days
Why staggered? If IP 1 hits a problem, the volume on others remains low. Parallel warm-up risks all-IPs-bad-at-once.
Warmup completion criteria — formally end warmup when:
- 14 consecutive days at full volume with bounce <2%
- Complaint rate <0.05% sustained
- Postmaster Tools / SNDS reputation High/Green
- Engagement (open + click) within 10% of baseline
After completion, monitor monthly. Reputation can degrade fast — staying clean requires content + list discipline.
Related articles#