When a recipient hits the spam button, some mailbox providers tell the sender. Each of those reports is a complaint. AWS does not calculate the rate over every email. It is the percentage of complaints on mail sent to domains that send complaint feedback to SES. It is the second number AWS reviews your Amazon SES account on, next to the bounce rate.
The thresholds
AWS documents a review at a 0.1% complaint rate and a possible pause at 0.5%, and recommends staying below 0.1%. Roughly one complaint per 1,000 messages puts you in review. Confirm the current figures in the AWS documentation. The margin is thin, which is why the complaint rate is usually the first number to get a sender into trouble.
How SES learns about complaints
Through feedback loops. A mailbox provider that runs one sends SES a report whenever a user marks a message as spam, and SES passes it to you as a complaint event. Not every provider does this, and AWS says the rate leaves out complaints from providers that do not send feedback to SES. Gmail, for one, reports spam data to senders in aggregate through Google Postmaster Tools rather than as individual complaints, so the rate SES sees can understate the real one.
What drives complaints
- Mail people did not clearly agree to.
- No visible way to unsubscribe, so the spam button becomes the unsubscribe button.
- Sending far more often than you said you would.
- Mail that looks nothing like what the person signed up for.
What to do
Make unsubscribing easy and honour it quickly. Send only what people asked for, at the pace you promised. Add every complained address to your suppression list, which SES does for you by default, because a second complaint from the same person is the worst kind.
Common questions
Why is the complaint limit so low?
Because complaints are rare and strong. A recipient who clicks 'this is spam' is telling their mailbox provider directly that you should not be in their inbox, so even a small share carries weight.
Does every complaint reach me?
No. Not every mailbox provider reports complaints back to senders, so the complaints you can see are a lower bound on how many were made.