Dedicated IPs
When and how to migrate from shared IPs to dedicated. Includes warmup schedule.
When you need them
Generally not until you're sending 100k+ emails/month consistently. Below that volume:
- Shared IPs benefit from collective good reputation.
- Low volume on a dedicated IP looks like a spammer (no track record).
- Dedicated IPs cost $24.95/mo each.
Reasons to switch to dedicated:
- Volume warrants reputation isolation.
- Regulated industries needing source IP attestation.
- You've been hit by another tenant's bad behavior.
AWS setup
- SES console → Dedicated IPs → Standard (or Managed).
- Create a pool:
tx-pool. - Assign the new IP to the pool.
- Create a configuration set:
tx-prod. - Attach the pool: configuration set → Delivery → Sending pool →
tx-pool.
Mailgrid setup
curl -X POST https://api.mailgrid.space/api/ips \ -H "Authorization: Bearer $KEY" \ -d '{ "ipAddress": "54.240.7.123", "poolName": "tx-pool", "configSet": "tx-prod" }'
Warmup schedule
A cold IP sending high volume looks like a spammer. Ramp slowly:
| Day | Daily volume | Notes |
|---|---|---|
| 1 | 50 | To your most engaged recipients (last 7 days of opens) |
| 2 | 100 | Same |
| 3 | 500 | Broaden to 30-day-engaged |
| 7 | 1,000 | Watch bounce rate <2% |
| 14 | 5,000 | If complaints >0.1%, slow down |
| 21 | 10,000 | Approaching full speed |
| 30+ | full volume | IP fully warmed |
Tracking warmup
curl -X PUT https://api.mailgrid.space/api/ips/$IP_ID/status \ -H "Authorization: Bearer $KEY" \ -d '{ "status": "warming", "warmupPct": 25 }'
When warmupPct reaches 100, flip status to active.
Don't unwarm
If you pause sending for >2 weeks, your dedicated IP's reputation decays. You'll need to warm up again. Run a low-volume keepalive to maintain reputation.