DNC Scrubbing Practices · September 28, 2026 · GrowthPros

Why do some emails go to suppression list ses?

Learn why emails land on the Amazon SES suppression list, how hard bounces and complaints trigger it, and how to remove addresses and protect deliverabi...

Flat illustration of an email being filtered into a suppression list container, with lime green and olive accents and the headline Suppressed Silently.

Key Facts

Why Your Emails Are Being Silently Blocked: The Two Suppression Lists

You hit send on a perfectly valid campaign, and some of those emails simply never arrive. No bounce notification you acted on, no error you noticed — just silence, because Amazon SES quietly decided those addresses are no longer worth trying.

SES maintains a global suppression list that catches addresses the moment they hard bounce — for any SES customer, not just you. Per AWS documentation, when any SES user's send produces a hard bounce, that address lands on the global list, and SES treats any future attempt as a hard bounce even if the address is actually valid.

Two details make this list especially unforgiving. It is enabled by default and cannot be disabled, so there is no configuration that exempts your account. Addresses stay on it for up to 14 days, and that suppression duration increases with each subsequent hard bounce — a progressive penalty that punishes repeat attempts to reach dead mailboxes.

The second list lives inside your own account. AWS states plainly that only hard bounces are added to your account-level suppression list, and those addresses persist until you manually remove them. There is no size limit on the list, and there is no automatic expiry in normal operation.

There is one narrow exception: if your account's sending gets paused, suppressed addresses are automatically deleted after 90 days. Otherwise, every suppressed address sits there indefinitely, silently filtering your sends. Suppressed messages still consume your daily sending quota — they just never reach an inbox.

This is where stale CRM data becomes a deliverability killer. Businesses that buy leads or run outbound-heavy programs typically hold lists accumulated over years — contacts who changed jobs, closed mailboxes, or typo'd their email into a form. Every send to those addresses triggers a hard bounce, which auto-suppresses them and steadily inflates your bounce history.

The pattern looks like this:

  • A dormant CRM list gets loaded into a campaign with no verification pass
  • Dead addresses hard bounce immediately, landing on both suppression lists
  • Suppressed sends keep counting against quota while delivering nothing
  • Reputation metrics and future deliverability degrade across the entire account

This is exactly why hygiene-first providers treat list quality as a precondition, not an afterthought. GrowthPros DNC-scrubs and consent-verifies every list before any outbound contact, and its dead-lead reactivation work targets only pre-existing opted-in relationships — precisely the discipline that keeps hard bounces from compounding. AWS's own guidance aligns: community best practices call for regular list cleaning and close bounce monitoring before suppression lists grow beyond your control.

Suppression is silent by design — SES assumes you would rather lose the send than damage its infrastructure. Your job is to make sure the addresses you're sending to were worth protecting in the first place.

The Two Triggers: Hard Bounces and Complaints (Plus the Gmail Exception)

Most email senders discover suppression lists the hard way: a campaign underperforms, they check the logs, and find SES quietly refusing to deliver to addresses they never knew were flagged. Behind that silence sit two specific triggers — and one major blind spot.

Hard bounces are the automatic, non-negotiable cause. AWS documentation is explicit: "Only hard bounces are added to your account-level suppression list." When any SES customer sends to an address that hard bounces, SES also adds it to the global suppression list, which affects every customer on the platform.

The global list escalates progressively — the suppression duration increases with each subsequent hard bounce, up to a maximum of 14 days. It's enabled by default and cannot be disabled, so even a spotless sending history won't exempt your addresses from it.

Complaints behave differently. A recipient marking your message as spam triggers suppression only if your account's suppression settings include COMPLAINT as a reason, per AWS's account-level suppression documentation.

The default depends on when your account was created:

  • Accounts created after November 25, 2019 suppress both bounces and complaints by default
  • Older accounts must explicitly enable complaint suppression via the PutAccountSuppressionAttributes API operation
  • Suppressed addresses stay on the account-level list until manually removed — there's no size limit on the list itself

Here's the blind spot most senders miss: Gmail does not share complaint data with SES. When a Gmail user hits the Spam button, that report never reaches your account — the address is not added to your suppression list, and your complaint metrics never register it.

Since Gmail dominates most consumer inboxes, your SES complaint rate almost certainly undercounts your real-world spam rate. AWS recommends supplementing SES metrics with alternative feedback mechanisms, such as list-unsubscribe headers, to get an accurate picture.

For teams running outbound at volume — reactivation campaigns, follow-up sequences, nurture drips — these mechanics reward clean data and punish stale lists. A dormant CRM full of dead addresses generates hard bounces, which cascade onto suppression lists and quietly erode deliverability for everything else you send.

This is why list hygiene isn't optional at GrowthPros: every list is scrubbed and consent-verified before a single email goes out, and opt-outs are honored permanently. If you're reviving an old opted-in database, the suppression mechanics above are exactly why a validated, DNC-scrubbed list outperforms a raw export — see how we handle reactivation campaigns, or book the 15-minute qualification call to have your dormant list assessed.

How to Get Off the List and Stay Off: Monitoring and Removal

Getting off Amazon SES suppression lists requires proactive monitoring and timely removal to maintain deliverability. Hard bounces automatically add addresses to both global and account-level suppression lists, while complaints only trigger suppression if your account settings include COMPLAINT as a reason—though Gmail spam reports never reach SES due to lack of feedback sharing. Addresses remain suppressed until manually removed, except during account pauses, which trigger automatic deletion after 90 days. To stay off the list, configure suppression settings based on your account age: accounts created after November 25, 2019 use account-level suppression by default for bounces and complaints, while older accounts must enable it via the PutAccountSuppressionAttributes API. Use SNS notifications to catch bounces and complaints in real time, allowing immediate diagnosis and cleanup before issues scale. For bulk removal, leverage the CLI or S3 import to delete up to 100,000 addresses per job, with a maximum of 20 concurrent import jobs available. Regularly download suppressed addresses using aws sesv2 list-suppressed-destinations, validate them against your lists, and remove invalid contacts to prevent repeated suppression attempts. Importantly, even though suppressed emails don’t count toward bounce or complaint rates, they still consume your daily sending quota—so failing to clean the list wastes capacity and risks throttling. For multi-tenant lead generation environments like GrowthPros, tenant-level suppression lists isolate bounce and complaint data per client, preventing one tenant’s poor list hygiene from impacting deliverability for others sharing the same SES account. Implementing these practices ensures your email program remains compliant, efficient, and aligned with consent-based outreach standards.

Suppression list problems don't start at send time — they start when a bad address enters your database. Every hard bounce that lands on Amazon SES's global suppression list affects all customers, and addresses stay there for up to 14 days with progressive escalation on repeat offenses. Meanwhile, your account-level list has no address limit, but suppressed messages still count toward your daily sending quota without impacting reputation metrics.

  • Validate every address before the first send — syntax checks, MX verification, and disposable-domain filtering
  • Honor opt-outs permanently across SMS, voice, and email channels with a single source of truth
  • Reactivate only genuinely opted-in databases with recorded consent trails — never cold lists
  • Isolate tenant-level suppression so one client's hygiene issues never poison another's deliverability

GrowthPros builds this hygiene into the product: every lead ships with a consent record (disclosure text, timestamp, IP, named contacting party), DNC-scrubbed before any outbound touch, and opted-in reactivation lists only. For multi-tenant senders, tenant-level suppression lists now enforce a Configuration Set > Tenant > Account precedence hierarchy so one bad list stays contained. Accounts created after November 25, 2019 enable account-level suppression for both bounces and complaints by default — older accounts must opt in. The cheapest bounce is the one you never send.

Frequently Asked Questions

Why are some of my emails not being delivered even though the addresses look valid?
Emails may be silently blocked because the recipient address is on Amazon SES's global suppression list due to a previous hard bounce from any SES customer, which causes SES to treat future sends as hard bounces even if the address is now valid. This list is enabled by default and cannot be disabled, and suppression duration increases with each bounce up to a maximum of 14 days.
How long does an email address stay suppressed in Amazon SES after a hard bounce?
On the global suppression list, an address stays suppressed for up to 14 days, with the duration increasing with each subsequent hard bounce due to progressive escalation. On the account-level suppression list, addresses remain until manually removed, except during account pauses when they are automatically deleted after 90 days.
Do complaints from Gmail users add addresses to my SES suppression list?
No, Gmail does not share complaint data with SES, so when a Gmail user marks your email as spam, it does not trigger suppression list addition or affect your complaint metrics in SES. This means your SES complaint rate likely undercounts your actual spam rate from Gmail users.
How can I remove multiple suppressed email addresses from my SES account at once?
You can use the AWS CLI or S3 import to delete up to 100,000 suppressed addresses per job, with a maximum of 20 concurrent import jobs allowed for bulk removal operations. This enables efficient cleanup of large suppression lists without manual, one-by-one removal.
Do suppressed emails still count toward my daily sending quota in Amazon SES?
Yes, suppressed messages still consume your daily sending quota even though they are not delivered and do not impact your bounce or complaint rate metrics. Failing to clean your suppression list wastes sending capacity and can lead to throttling.
When did Amazon SES start enabling account-level suppression for both bounces and complaints by default?
Accounts created after November 25, 2019 use the account-level suppression list by default for both bounces and complaints. Older accounts must explicitly enable it using the PutAccountSuppressionAttributes API operation.

The Cheapest Bounce Is the One You Never Send

Suppression lists aren't a mystery — they're the predictable consequence of sending to addresses that were never worth emailing. Hard bounces land on both the global and account-level lists automatically, with global suppression durations escalating up to 14 days on repeat offenses. Suppressed addresses sit there until you remove them, and every suppressed send still burns your daily quota while delivering nothing. The fix isn't reactive cleanup — it's refusing bad addresses entry to your database in the first place: validate before the first send, monitor bounces via SNS in real time, and reactivate only lists with a genuine opt-in trail. That's the same discipline GrowthPros applies to every lead it delivers — DNC-scrubbed, consent-recorded, and followed up inside five minutes — so suppression problems never start. If you're sitting on a dormant opted-in CRM list, the mechanics above are exactly why a verified reactivation beats a raw export. Book the 15-minute qualification call and have your list assessed — it's free, honest about fit, and commits you to nothing.

This article is general information, not legal or financial advice. Benchmark figures are directional industry data, not guarantees of results.

Start

More booked calls. Not more form fills.

Tell us your niche and your goal. We will show you realistic volume, exclusivity options, and what follow-up looks like on a live call — no pressure, no 40-page deck.