# Bounce Detection — PostFrame Tracking — EternalEngine

Hard bounces and soft bounces are categorized automatically. Bad addresses are suppressed to protect your sender reputation.

[Back to Tracking](https://eternalengineos.io/features/postframe/tracking/)

Tracking

# Bounce Detection

Hard bounces suppress the address at once; soft bounces are counted and suppress after three in seven days; and when a workspace's bounce rate crosses 5% in 24 hours, sending pauses automatically to protect your reputation.

[Start free](https://app.eternalengineos.io/signup?plan=free&interval=annual)[Tracking overview](https://eternalengineos.io/features/postframe/tracking/)

## Automatic Bounce Classification

Hard bounce detection

Permanent failures like invalid addresses are immediately flagged and suppressed

Soft bounce counting

Temporary failures are logged with their sub-type; three soft bounces to one address within seven days suppress it

Auto-suppression

Addresses that hard bounce are added to the suppression list — no repeat sending

Auto-pause

A bounce rate above 5% over 24 hours (configurable per workspace) pauses sending until the rate recovers

Bounce Categories

Invalid address (hard)

Mailbox does not exist — permanently suppressed after first failure

Mailbox full (soft)

Logged as soft with the diagnostic code; suppressed after three soft bounces in seven days

Domain not found (hard)

DNS lookup failed — domain does not exist or has no MX records

Temporary failure (soft)

Logged with the provider's sub-type; counts toward the three-in-seven rule

## Keep exploring PostFrame

[### Complaint handling Spam complaints suppress immediately. Open Complaint handling →](https://eternalengineos.io/features/postframe/tracking/complaint-handling/)[### Separate suppression lists Review, add or remove entries per workspace. Open Separate suppression lists →](https://eternalengineos.io/features/postframe/multi-tenant/separate-suppression-lists/)[### email.bounced webhook Bounce type, sub-type and diagnostic code in the payload. Open email.bounced webhook →](https://eternalengineos.io/features/postframe/webhooks/email-bounced/)

Questions

## Common questions, straight answers.

How does PostFrame tell a hard bounce from a soft one?

From the provider's notification: a permanent bounce is classified hard, a transient one soft, and anything else undetermined. The sub-type and diagnostic code are logged with the bounce.

When is a soft-bouncing address suppressed?

After three soft bounces to the same address within seven days. A single full-mailbox bounce does not suppress anyone.

What is the bounce-rate pause?

PostFrame checks your bounce rate over the last 24 hours against a threshold — 5% by default, adjustable per workspace. Above it, sending pauses; the check re-runs and lifts the pause when the rate recovers.

Do bounces fire a webhook?

Yes. email.bounced carries bounce_type, bounce_sub_type, diagnostic_code and the provider name alongside the email's ID, subject and tags.

## Run your business from one place.

Five plans, seventeen launch apps, one dashboard. Set up in under 5 minutes — change tiers any time.

[Start free$0 forever &bull; No card &bull; Upgrade any time](https://app.eternalengineos.io/signup?plan=free&interval=annual)[Talk to Sales](https://eternalengineos.io/contact/)

From $0 · Basic $9.95/mo · Save 20% on annual billing · Upgrade or downgrade any time
