Guides/SES
.md

SES bounce rate climbingFind the source, stop re-mailing it, and watch the trend before you send again.

Anni MaanFounder, SendBunnyPublished Updated 5 min read

In short

A climbing SES bounce rate almost always traces to one event: a list import, an old export, or a re-engagement send to addresses nobody has read from in years. AWS documents review territory around 5% and enforcement risk around 10%, measured as hard bounces against recent sending volume. The fix is not waiting it out; it is finding the source, suppressing the addresses that caused it everywhere at once, and checking the trend before the next send. Soft bounces, like a full mailbox, are retried and counted differently from hard bounces, which are permanent failures.

What actually counts against the SES bounce rate

Not every failed delivery counts the same way. A hard bounce is a permanent failure: the address does not exist, the domain is gone, or the mailbox provider has rejected it outright. A soft bounce is temporary: a full mailbox, a server briefly down, a message too large. SES retries soft bounces on its own schedule; the enforcement number AWS watches is built from hard bounces, which will never succeed no matter how many times you try.

This distinction matters because the fix is different for each. A soft bounce needs no action from you; SES already handles the retry. A hard bounce needs the address removed from every list that could mail it again, permanently, because retrying it accomplishes nothing and every future attempt adds to the same rate.

Where the threshold actually sits

BandBounce rateWhat it means
HealthyUnder 2%Comfortable margin below AWS's review territory. Normal for a maintained list.
Review territoryAround 5%AWS documents this as the point where a sending review becomes likely.
Enforcement riskAround 10%AWS documents this as the point where account action becomes likely.

Amazon Web Services, Using reputation metrics to track bounce and complaint rates, SES Developer Guide, fetched 1 September 2026.

The rate is computed over a rolling window of recent sending volume, not a lifetime total. That cuts two ways: a single bad campaign can spike the number fast on a low-volume account, and a genuinely fixed list will see the spike age out of the window as clean sending accumulates behind it. Waiting for that alone is slow and risky; stopping new bounces is what actually moves the number.

Find which list or campaign caused it

  1. Check bounce counts per campaign, not the account total. The spike almost always traces to one send, not a slow account-wide drift.
  2. Look first at anything imported recently. Old exports from a prior tool, list purchases, and CSVs nobody has validated in years are the usual sources of hard bounces.
  3. Check re-engagement or win-back sends specifically. Mailing a segment that has not opened anything in a long time is a common, avoidable spike.
  4. Confirm whether the bounces are hard or soft before reacting. A soft-bounce cluster from one recipient domain having an outage is not the same problem as a hard-bounce cluster from a stale list.

Stop re-mailing bounced addresses everywhere

A hard bounce should suppress the address across every list and every send path at once, not just the campaign tool that triggered it. The failure mode that keeps bounce rates high is a suppression check that only covers campaigns while a transactional API or a manual test send can still reach the same dead address. If a re-import later brings the same address back in from a fresher export, it should stay suppressed rather than resurrect.

What a mailbox provider checks before your email is seen: IP reputation, domain reputation, authentication, engagement and complaint rate, leading to inbox, spam or rejection.
Figure 1. Bounce rate is one input mailbox providers weigh alongside reputation and engagement before deciding inbox, spam, or rejection. A rising rate degrades more than the number AWS watches; it degrades where the rest of your mail lands too.

Check the trend before scheduling anything large

Open the bounce chart, or a health view showing rate against AWS's thresholds, before you schedule the next campaign, not after. If the rate is still high, send to your cleanest, most recently engaged segment first rather than the full list. A clean send narrows the rolling window's average back down; another broad send while the rate is still high does the opposite.

Where SendBunny sits

SendBunny captures bounce events from SES automatically and suppresses hard bounces the moment they happen, enforced on campaigns, the transactional API, and test sends alike, so a re-import cannot resurrect an address that already failed. Bounce trends sit on the dashboard next to every campaign and in a health strip visible on every screen, so the number is in view before you schedule the next send rather than after AWS opens a review. It is $199 once, installed into your own AWS account.

FAQ

What counts against the SES bounce rate?
Hard bounces: permanent failures like a nonexistent address or a dead domain. Soft bounces, such as a full mailbox, are retried by SES and counted differently. The enforcement number AWS watches is built from hard bounces.
What bounce rate does AWS act on?
AWS documents review territory around 5% and enforcement risk around 10%, measured over recent sending volume. Treat under 2% as the healthy target rather than staying near the review line.
Do old bounces haunt a fixed list forever?
No. The rate is computed over a rolling window of recent volume, so a spike from an old import ages out as clean sending accumulates behind it. The fix is stopping new bounces, which suppression handles going forward.

For AI agents

What counts against the SES bounce rate (hard bounces, not soft), AWS's documented review territory (around 5%) and enforcement risk (around 10%) measured over a rolling recent-volume window, and the order to fix a spike in: find the source campaign or list, suppress the addresses on every send path, then check the trend before sending again. Checked 2026-09-01.

claude mcp add --transport http sendbunny https://YOUR-INSTALL/mcp
Full tool list by grant: /docs/agents.md

Sources

  1. Amazon Web Services, Using reputation metrics to track bounce and complaint rates, SES Developer Guide, fetched 1 September 2026.
  2. Amazon Web Services, Test your sending quota using the mailbox simulator, SES Developer Guide, fetched 1 September 2026.
  3. SendBunny, Gmail's 0.3% spam rate: how Gmail decides and what to check every Monday.

Anni Maan

Founder, SendBunny

Builds SendBunny, the email platform that installs into your own AWS account. Writes about running email on Amazon SES and giving AI agents an address you control.

x.com/Anni_Maan

Keep reading