AWS SES Bounce and Complaint Rates

Amazon SES enforces two hard ceilings on every account: a 5% bounce rate and a 0.1% complaint rate. Cross either one and AWS will put your account under review or pause sending entirely. This is not a Mailblast policy - it is AWS's, and there is no negotiating it.

How the rates are calculated

AWS calculates both rates from a representative sample of your recent sending - the exact window is not publicly documented, but in practice it reflects recent campaigns rather than your all-time history. You can see your current rates on the SES Reputation dashboard in the AWS console.

AWS's published thresholds

AWS only publishes two thresholds for each rate:

MetricRecommended (stay below)May pause your account (above)
Bounce rate5%10%
Complaint rate0.1%0.5%

You want headroom under the "recommended" line, not just below the pause threshold. Once your rolling rate crosses the recommended level, AWS may put your account under review and email you a warning before any sending is paused.

If you want an early warning, set up a CloudWatch alarm at a lower threshold of your choosing - AWS provides a guide for this and recommends alarming at the published thresholds (5% bounce, 0.1% complaint) so you have time to react before AWS does.

What counts as a bounce

Not every undeliverable email counts towards the rate. AWS only counts hard bounces - permanent failures where the recipient address does not exist or the receiving server has blocked you. Soft bounces (full mailbox, server temporarily down) do not affect the rate unless they escalate. See Soft and hard bounces for the breakdown.

What counts as a complaint

A complaint is logged when a recipient hits the "report spam" or "junk" button in their mail client and that provider sends AWS a feedback loop notification. Not every "this is spam" click results in a complaint - only major providers like Gmail, Outlook, and Yahoo send these signals - but those are also the providers most of your subscribers use. See What is a spam complaint for more.

How Mailblast helps you stay under the limits

Mailblast processes every bounce and complaint AWS reports back and acts on them immediately:

  • Hard bounces are removed from your list, so future campaigns skip them
  • Complaints are treated like an unsubscribe - the address is suppressed across all your lists
  • Soft bounces are tracked, and repeat soft-bouncers are automatically retired so they stop counting against your rate

The net effect: every campaign you send goes to a cleaner list than the one before, and you naturally drift towards a low bounce rate over time.

If your rate is climbing

If you get a warning email from AWS, do not wait:

  1. Stop sending until you know what is causing the spike
  2. Check the Reputation dashboard - is it bounces, complaints, or both?
  3. Look at your most recent campaigns - did one of them have a very different audience or subject line?
  4. If you recently imported a list, that is almost certainly the cause - remove the imported segment and only send to your established subscribers
  5. Resume sending in small batches to your most-engaged segment first

The goal is to bring the rolling average back down before AWS pauses you. Once you are paused, your appeal needs to convince a human reviewer that you have fixed the underlying problem - and that takes days, not hours. See Handling AWS SES suspensions.