AWS places your SES account under review at a 5% bounce rate or a 0.1% complaint rate. At 10% bounces or 0.5% complaints, AWS may pause your sending.
The numbers.
| Aim for | Under review | Sending may pause | |
|---|---|---|---|
| Bounce rate | below 2% | 5% or more | 10% or more |
| Complaint rate | below 0.1% | 0.1% or more | 0.5% or more |
These figures come from AWS's own sending review FAQ. Note the complaint rate: 0.1% is one complaint in every 1,000 emails.
AWS will notice.
A common belief among new SES senders is that one old list, sent once, will slip past AWS. It does not. AWS measures your rates over a representative volume of your sending, not over a day or a week, so a single bad campaign shows up in your numbers.
AWS has also become stricter at both ends: in who it lets out of the SES sandbox, and in how fast it acts on an account with bad numbers. And once an account is paused, help is thin. In AWS's words, it can "typically" give "only a high-level overview of your issue". Finding the cause is your job.
The cheapest fix is the one you never need.
What counts toward each rate.
Bounces
Only hard bounces (permanent failures such as "address does not exist") to domains you have not verified. A full mailbox, a temporary failure, or a bounce caused by a blocked IP address does not count.
Complaints
A complaint is a reader pressing "Report spam". The rate in your SES console counts only complaints from email providers that send feedback to AWS. Complaints that readers or providers send to AWS directly stay out of that number, and they still count against you: AWS can review your account on them alone.
Spam traps
Addresses that exist only to catch careless senders, often old addresses that have bounced for a long time. AWS does not say how many hits it takes; even a few hurt.
If your account is under review.
You can still send. AWS is giving you time to fix the cause. The notice goes to the email address of your AWS account, which may differ from the address you send from, so check that inbox.
1. Stop the sending that caused it
If you can, pause sending until you know the cause. Sending on unchanged makes the numbers worse.
2. Find the cause
A bought, rented or old list; a sign-up form that accepts mistyped addresses; mail that readers did not ask for. Removing the bad addresses alone does not satisfy AWS; it wants the process fixed.
3. Reply to AWS's case
In the AWS Console, open Support Center and reply to the case AWS opened. Say what caused it, list the changes you have already made (not plans), and how they stop it happening again.
If your sending is paused.
The steps are the same: find the cause, fix it, then reply to the case in Support Center. Your SES Account dashboard shows Paused or Healthy. AWS can pause without a review first when the problem is serious, or when the same problem has put your account under review before.
A pause also affects other AWS services that send messages: AWS may refuse quota increases for Amazon SNS until your SES sending is restored.
How to stay well below the limits.
Send only to people who asked
Never buy, rent or share lists. Use double opt-in: a confirmation email that a new subscriber must click.
Stop mailing an address the moment it hard bounces or complains
Every time. A hard-bounced address left on a list can later become a spam trap.
Treat old lists with care
If you must mail addresses you have not mailed for months, send to a small part first and watch the bounces. AWS explains this in Never send to old addresses, but what if you have to?
Stop mailing people who never open
Readers who ignore you for months are the ones most likely to press "Report spam".
Make leaving easy
A clear unsubscribe link in every marketing email. A reader who cannot leave complains instead.
Test with the mailbox simulator
Testing a new system? Send to the SES mailbox simulator, not to made-up addresses.
Set an alarm
In SES, open Reputation metrics, choose View in CloudWatch, and set alarms at 5% bounces and 0.1% complaints, as AWS recommends.
