# List Hygiene (/guides/list-hygiene)

Plunk automatically monitors the bounce and complaint rates of your emails to help maintain a health sender reputation. High bounce or complaint rates can negatively impact your deliverability and may lead to your account being suspended.

## Bounce Management

A bounce occurs when an email cannot be delivered to the recipient's inbox. Plunk records every bounce as an `email.bounce` event on the contact, and automatically unsubscribes the contact **only on permanent (hard) bounces**. Transient (soft) bounces don't change subscription state — they're typically retried by the upstream mail server.

### Types of Bounces

| Type                 | Description                                                                       | Auto-unsubscribes? |
| -------------------- | --------------------------------------------------------------------------------- | ------------------ |
| **Permanent (hard)** | Permanent delivery failure — invalid address, blocked domain, recipient rejected. | Yes                |
| **Transient (soft)** | Temporary delivery failure — mailbox full, server unavailable, greylisted.        | No                 |
| **Undetermined**     | The upstream provider couldn't classify the bounce.                               | No                 |

Both bounce types fire an `email.bounce` event you can branch on inside workflows or webhooks (use the event payload's `bounceType` field to distinguish them).

### Preventing bounces

* [Verify email addresses](/api-reference/public-api/verifyEmail) at signup before adding them to your list.
* Regularly clean your email list — segment unengaged contacts and re-confirm or remove them.
* Build a confirmation flow with a workflow that sends a verification email and only marks the contact as confirmed when they click through.

## Complaint Management

A complaint occurs when a recipient marks your email as spam in their inbox provider. When Plunk receives that complaint, the contact is **always automatically unsubscribed** and Plunk fires an `email.complaint` event on the contact.

Complaints are taken more seriously than bounces by mail providers — even a small complaint rate can hurt your sender reputation and deliverability.

### Preventing complaints

* Ensure your emails are relevant and valuable to your audience.
* Include a clear, working unsubscribe link in every marketing email — Plunk injects this automatically for `MARKETING` template/campaign types.
* Monitor your email frequency to avoid overwhelming your contacts.
* Make sure recipients clearly opted in. Avoid scraped, purchased, or stale lists.

## Testing bounces and complaints safely

To rehearse your bounce and complaint handling, send to the Amazon SES mailbox simulator instead of to a real address. Mail sent to `@simulator.amazonses.com` never leaves AWS, and the simulator replies with the outcome the address asks for:

| Address                                   | Result                                                           |
| ----------------------------------------- | ---------------------------------------------------------------- |
| `bounce@simulator.amazonses.com`          | Permanent (hard) bounce                                          |
| `complaint@simulator.amazonses.com`       | Complaint                                                        |
| `success@simulator.amazonses.com`         | Successful delivery                                              |
| `ooto@simulator.amazonses.com`            | Out-of-office auto-reply                                         |
| `suppressionlist@simulator.amazonses.com` | Permanent bounce, as if the address were on the suppression list |

These sends are fully visible in Plunk: the event fires, your workflows and webhooks run, and the bounce shows on the contact's activity feed. What they do **not** do is count toward your bounce and complaint rates, so they can never trigger a warning or suspend your project. AWS treats them the same way, excluding them from its own rates, quotas and reputation metrics.

## Offer a pause, not just an exit

The most expensive complaint is the one from someone who wanted less email, not none. If unsubscribing is the only option on the page, a recipient who is merely overwhelmed either leaves permanently or — worse for your reputation — hits the spam button instead.

Plunk's hosted unsubscribe and preferences pages offer **snoozing** alongside unsubscribing: the recipient stops receiving email for 2 weeks, 1 month, 6 months, or a year, and is resubscribed automatically when the window ends. It is a genuine opt-out for the whole period, so it protects the recipient's inbox and your complaint rate at the same time, and it keeps a contact who would otherwise be gone for good.

Snoozes count toward a campaign's unsubscribe rate, so this does not hide a campaign that is burning through goodwill — it just means fewer of those opt-outs are permanent.

See [Unsubscribe & preferences pages](/guides/unsubscribe-pages#snoozing).
