Amazon SES puts an account under review when its bounce rate reaches 5% or its complaint rate reaches 0.1%, and might pause sending at 10% or 0.5%. Set CloudWatch alarms on Reputation.BounceRate and Reputation.ComplaintRate below the review levels.
On this page
These are Amazon SES's own rules for SES accounts, taken from its sending review FAQ as checked on 27 October 2026.
The levels Amazon SES publishes
The sending review FAQ is AWS's page on the review process, and it gives a recommendation and two levels for each rate:
| Rate | FAQ recommendation | Under review | Sending might pause |
|---|---|---|---|
| Bounce rate | Below 2% | 5% or greater | 10% or greater |
| Complaint rate | Below 0.1% | 0.1% or greater | 0.5% or greater |
For complaints, the recommendation and the review level are the same number, so there is no margin between them. The reputation messages page says SES places the account under review automatically at both review levels. The FAQ adds: "In some situations, we might pause your account's ability to send email without first placing your account under review."
Where AWS pages say it differently
Other AWS pages do not all match the FAQ. The developer-guide pages show no update date, so this comparison reflects their wording on 27 October 2026.
| AWS page | What it says | How it differs from the FAQ |
|---|---|---|
| Reputation metrics messages | "For best results, maintain a bounce rate below 5%." | Recommends below 5% for bounces, where the FAQ recommends below 2%. |
| CloudWatch alarm guide | Recommends a bounce rate under 5%. Sending might pause at "greater than 10%" for bounces or "greater than 0.5%" for complaints. | Recommends 5%, not 2%, and writes "greater than" where the FAQ writes "or greater". |
| Automatic account pause | Review when the bounce rate "exceeds 5%" or the complaint rate "exceeds 0.1%". | Writes "exceeds" where the FAQ writes "or greater". |
| Automatic configuration-set pause | Automatic review when the bounce rate "exceeds 10%" or the complaint rate "exceeds .5%". | Names the FAQ's pause levels as review levels. |
The FAQ is the page that explains the review process, so plan by its levels and set your alarms below them.
When an account is under review or paused
An account under review can still send. In the words of the FAQ: "You can continue to send email as you normally would, but you should also correct the issue". If the issue is not fixed before the review period ends, SES might pause your ability to send more email. The reputation messages page says a pause might follow if the bounce rate remains above 10%, or the complaint rate above 0.5%, when the review ends.
AWS notifies the email address associated with your AWS account, so make sure someone reads that inbox. Rates are not the only trigger: the FAQ says "factors other than bounces and complaints" could also lead to a pause. During a review, AWS may deny a quota increase for another AWS service that sends outbound communications, such as Amazon SNS.
The console's reputation metrics page uses statuses that show where a review stands:
- Pending end of review decision: AWS needs to review the account manually before it takes any further action.
- Pending sending pause: the problems remain, and AWS typically pauses the account's ability to send email in this situation.
- Sending paused: you can't send email using Amazon SES while the pause lasts.
- Almost healed, a status of a single metric: the metric has stayed below the maximum rate since the review period began.
The reputation messages page adds that if AWS agrees your changes will reduce your bounce rate, it counts only bounces received after the changes.
What counts toward the rates
Only some bounces count. The FAQ says "Your bounce rate includes only hard bounces to domains you haven't verified." Mailbox-full replies, other temporary failures and bounces caused by blocked IP addresses do not count. The reputation messages page also leaves out bounced mail to verified addresses and domains, and mail sent to the mailbox simulator.
The bounce rate has no fixed time window. SES looks at a representative volume, which the FAQ describes as "an amount of email that represents your typical sending practices". For some senders, that volume reaches further back than the SES console or GetSendStatistics can retrieve, so those numbers may not reproduce the rate.
The complaint rate has a narrower base. The FAQ says it is "calculated as the percentage of complaints on mail sent to domains that send complaint feedback to SES". The complaint statistic in the console and in GetSendStatistics includes only complaints that SES receives through feedback loops. Complaints on mailbox-simulator mail do not count either, according to the reputation messages page. A complaint rate you compute over all the mail you sent can therefore read lower than the one SES uses. Gmail's spam rate is a separate measure, covered in Gmail's spam rate lines.
Suppression lists also change what the reputation metrics see. SES does not count messages to addresses on your account-level suppression list toward Reputation.BounceRate or Reputation.ComplaintRate. It counts them under the Bounce or Complaint metric instead. Messages to addresses on the global suppression list do count toward your bounce rate, and you can't query that list. Accounts that started using SES after 25 November 2019 use the account-level list by default, according to the account-level suppression guide. If your account is older, check that the list is on.
Where to read the rates and the account status
In the console, the reputation metrics page contains "the same information that the Amazon SES team sees when determining the health of individual accounts". According to the console monitoring guide, that page shows one current rate for each, based on the latest data point of your overall historic average. The Account dashboard page plots how the rates moved over time. For individual bounces rather than rates, see what an Amazon SES bounce notification tells you.
In code, call GetAccount in the SES API v2 and read the EnforcementStatus field, as the FAQ advises. The GetAccount reference lists HEALTHY, PROBATION and SHUTDOWN. PROBATION means the account is under review, and SHUTDOWN means its ability to send email is paused. Do not use the Enabled flag from GetAccountSendingEnabled for this. That flag is your own switch, set with UpdateAccountSendingEnabled, and the FAQ says not to use it to detect an enforcement pause.
SES emits no EventBridge event when it pauses or reinstates sending for a whole account, although pausing a single tenant does emit one. The FAQ advises polling the account status instead. A scheduled GetAccount call that alerts when the status is not HEALTHY does that. The FAQ says the AWS Health Dashboard records account pause events. Those events always show Closed, whether sending is paused or has resumed.
When sending is paused, the send call fails. The API references document these errors:
| API operation | Error code | HTTP status | Documented text |
|---|---|---|---|
SendEmail, API v2 | SendingPausedException | 400 | "The message can't be sent because the account's ability to send email is currently paused." |
SendEmail, API v1 | AccountSendingPaused | 400 | "Indicates that email sending is disabled for your entire Amazon SES account." |
SendEmail, API v1 | ConfigurationSetSendingPaused | 400 | "Indicates that email sending is disabled for the configuration set." |
The v1 reference ties AccountSendingPaused to your own UpdateAccountSendingEnabled switch. These references do not say which error an enforcement pause returns, so rely on EnforcementStatus, not the error code, to tell the two apart.
Set a CloudWatch alarm before the review level
SES publishes reputation metrics to CloudWatch automatically, as the CloudWatch alarm guide explains. The metrics export guide says this includes the bounce and complaint rates for your entire account. An account-wide alarm therefore needs no extra setup in SES. The alarm guide's procedure uses these settings:
| Setting | Bounce alarm | Complaint alarm |
|---|---|---|
| Metric | Reputation.BounceRate | Reputation.ComplaintRate |
| Condition | Greater than or equal to | Greater than or equal to |
| Threshold | 0.05 (5%) | 0.001 (0.1%) |
| Missing data | Treat as ignore (maintain the alarm state) | Treat as ignore (maintain the alarm state) |
The metric is a fraction, not a percentage: 0.05 means 5%, so a threshold of 5 would mean 500%. Treating missing data as ignore keeps the alarm in its current state when no new data point arrives.
These thresholds equal the review levels, so the alarm fires at the review level, not before it. AWS's account pause procedure recommends alarm values below the review rates "to prevent your account from being placed under review".
If you have never sent email in a Region, the alarm guide warns that the SES namespace might not appear there. AWS suggests a test send to the mailbox simulator, and simulator mail does not count toward your sending quota or your bounce and complaint rates.
Exporting reputation metrics for a single configuration set is off by default. The ReputationOptions reference gives false as the default value, and the metrics export guide says to turn them on with UpdateConfigurationSetReputationMetricsEnabled.
An alarm does not replace event handling. The monitoring guide says "You're required to use either feedback notifications or event publishing to track bounce and complaint events." A rate alarm also cannot warn you about the other causes of a pause, so keep polling EnforcementStatus as well.
Pause sending yourself
AWS documents two ways to stop your own sending automatically when a rate climbs. The account pause procedure pairs a CloudWatch alarm with a Lambda function that calls UpdateAccountSendingEnabled. That function pauses sending only in the AWS Region you select, so repeat the setup in each Region you send from.
The configuration-set pause procedure stops only mail that uses the sets you specify, "without impacting the overall email sending capabilities of your Amazon SES account". A send through a paused set fails with ConfigurationSetSendingPaused in the v1 API. That page recommends alarm values "far below" the rates it names.
An account pause you set yourself shows in the Enabled flag, while a pause by SES shows in EnforcementStatus.
If you send with Sendtier
Sendtier does not send through Amazon SES; Sendtier vs Amazon SES compares the two. In Sendtier, a permanent bounce or a complaint adds the recipient to the suppression list automatically, and a temporary failure does not.
Receiving-server replies are available when recorded, so you can see why an address failed. Start free with a test key in the quickstart; test emails are never delivered.
Sources were checked on 27 October 2026: Amazon SES sending review process FAQs, reputation metrics messages, using reputation metrics, CloudWatch reputation alarms, automatic account pause, automatic configuration-set pause, account-level suppression list, global suppression list, mailbox simulator, sending activity in the console, monitoring sending activity, exporting reputation metrics, GetAccount (API v2), SendEmail (API v2), SendEmail (API v1) and ReputationOptions (API v1).