Deliverability · 10 min read

How to warm up a new AWS SES account without landing in spam

EM
Eliana Marsh
May 10, 2026 · 10 min read

Starting fresh with AWS SES is exciting — until your first campaign lands in the Gmail Promotions tab at best, and spam at worst. The culprit is almost always skipping the warm-up. Here's how to do it right.

Why warm-up matters

When you send from a brand-new IP or domain, inbox providers have zero reputation data on you. They err on the side of caution. If you blast 50,000 emails on day one, a meaningful percentage goes to spam, your bounce rate spikes, and you can trigger AWS's automatic account review — which can mean a 24-hour sending pause or full suspension.

Warm-up is the process of slowly increasing your send volume so that Gmail, Outlook, and Yahoo build a positive reputation history on your domain and sending IP before you hit full speed.

The warm-up schedule

This schedule assumes you have a clean, opted-in list. If your list is old or purchased, the numbers below will not save you — clean the list first.

Recommended 4-week ramp:

  • Week 1: 200 → 500 → 1,000 → 2,000 → 3,000 (spread Mon–Fri)
  • Week 2: 5,000 → 7,500 → 10,000 → 15,000 → 20,000
  • Week 3: 30,000 → 40,000 → 50,000 → 65,000 → 80,000
  • Week 4: 100,000+ — you're warm

Send to your most engaged subscribers first — people who opened or clicked in the last 90 days. High engagement signals early on tell inbox providers your email is wanted.

Key metrics to watch daily

Pull these from your AWS SES console and SES Mailbox dashboard every day during warm-up:

  • Bounce rate: must stay below 2%. Above 5% and AWS will pause your account.
  • Complaint rate: must stay below 0.1% (one spam report per 1,000 emails). AWS alerts you at 0.08%.
  • Delivery rate: should be above 98%. Lower means inbox providers are deferring or blocking.

Set up suppression before day one

Configure the SES account-level suppression list to automatically suppress any email address that bounces or generates a complaint. This is a one-time setup in the SES console under Configuration → Suppression list.

# Via AWS CLI
aws sesv2 put-account-suppression-attributes \
  --suppressed-reasons BOUNCE COMPLAINT \
  --region us-east-1

SES Mailbox also automatically handles this — every hard bounce and complaint is suppressed from future campaigns immediately.

The mistakes that get accounts suspended

  • Sending to purchased or scraped lists — the complaint rate will be 10x normal
  • Not setting up SNS bounce/complaint notifications — you fly blind
  • Importing a cold list from another ESP and sending at full volume immediately
  • Ignoring the AWS account-level suppression list
  • Sending campaigns with broken unsubscribe links (Gmail now enforces one-click unsub)

What if AWS pauses your account?

You'll receive an email from AWS Trust & Safety. Reply within 24 hours with: (1) an explanation of your list source, (2) your current bounce/complaint rates, (3) your plan to prevent recurrence. AWS responds within 1–3 business days. Being proactive and detailed dramatically increases your odds of reinstatement.

The bottom line: 4 weeks of discipline buys you years of clean deliverability. Skipping warm-up is the most common reason healthy lists suddenly stop converting.

Ready to start sending?

Free plan forever. No credit card required.

Start free →