> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brudcast.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bounces, complaints and suppression

> Hard bounces, soft bounces and deferrals, how spam complaints and unsubscribes reach Brudcast, and how the suppression list stops mail to bad addresses.

When an email can't be delivered, or a recipient marks it as spam, Brudcast records why. For the
serious cases, it adds the address to your **suppression list** so it's never emailed again.

**Why:** sending to dead addresses and to people who complained is the fastest way to lose your
reputation. Receivers read it as a sign you don't look after your list.

This page explains **why** addresses are suppressed. [Suppressions](/contacts/suppressions) explains
**how** to manage the list: finding an address, adding one, and removing one.

## Bounces and deferrals

| Kind            | What it means                                                                         | SMTP reply           | What Brudcast does                                               |
| --------------- | ------------------------------------------------------------------------------------- | -------------------- | ---------------------------------------------------------------- |
| **Deferral**    | The receiving server asked to try later, for example because it's busy or greylisting | Often `421` or `450` | Retries up to 3 times, after 5 seconds, 30 seconds and 5 minutes |
| **Soft bounce** | A temporary problem that didn't clear, such as a full mailbox                         | `4xx`                | Records the bounce. The address is **not** suppressed            |
| **Hard bounce** | A permanent failure, such as an address that doesn't exist                            | Any `5xx`            | Records the bounce and **suppresses the address**                |

Soft bounces aren't suppressed because the address may work next time. Suppressing it would
silently stop mail to someone who can still receive it.

## Complaints

A complaint happens when a recipient selects **Report spam** (or its equivalent). Many mailbox
providers send these reports back to the sender through a feedback loop. When a report reaches
Brudcast, the address is **suppressed** straight away.

Complaints are the most damaging signal there is. See the rates that warn and then suspend a domain
in [Reputation and suspension](/deliverability/reputation-and-suspension).

## How an address ends up suppressed

```mermaid theme={"system"}
flowchart TD
  H["Hard bounce"] --> S["Suppression list"]
  C["Spam complaint"] --> S
  U["Unsubscribe"] --> S
  M["Added by you"] --> S
  S --> X["Every future email to that address is skipped"]
```

## The suppression list

Your suppression list is shared across the whole organization and applies to every email:
campaigns, the email API and SMTP. You'll find it at **Contacts > Suppressions**.

Every entry records the reason it was added and where it came from. Both are listed, with the labels
the dashboard shows, in [Suppressions](/contacts/suppressions#why-addresses-are-suppressed).

If an address is suppressed twice, the first reason is kept. A complaint that later hard-bounces
stays a complaint, because that's what explains why the address stopped receiving mail.

## Unsubscribes

Every campaign email ends with a footer that carries an unsubscribe link. Campaign email also
carries the `List-Unsubscribe` and `List-Unsubscribe-Post` headers, which let Gmail, Yahoo and other
mail apps show their own **Unsubscribe** button next to your name and opt the person out in one
step. The headers are added when unsubscribes are turned on for the sending domain.

<Warning>
  The footer and the headers are added to **campaign** email only. Email you send through the API or
  SMTP doesn't get them. If you send marketing email that way, include your own unsubscribe link and
  honor it.
</Warning>

An unsubscribe applies to your **whole organization**, not just the list the campaign went to. Every
email address on the contact is suppressed, so no future campaign, API or SMTP email reaches them,
and their list memberships change to unsubscribed. Moving an unsubscribed person to another list is
how senders earn spam complaints.

## What a suppressed send looks like

* **Campaigns:** suppressed recipients are skipped and counted as suppressed, not sent. They don't
  use credits.
* **Email API and SMTP:** suppressed recipients are dropped silently. The request still succeeds,
  and the other recipients get the message. If every recipient is suppressed, nothing is sent.

## Removing a suppression

You can remove an address from **Contacts > Suppressions**. Only do this when you're sure the
problem is fixed, for example a customer whose mailbox was full and who has asked to hear from you
again.

<Warning>
  Never remove complaint suppressions to re-mail people. They reported you as spam, and mailing them
  again damages your reputation fast.
</Warning>

**Removing an entry doesn't undo an unsubscribe.** If the person unsubscribed, their email address
keeps the status **Suppressed** on their contact record and campaigns keep skipping them, however
many times you take them off the suppression list or add them to another list. The only way to make
an unsubscribed address receive campaigns again is to update the email identity's `status` through
the API, and only when the person has asked to hear from you again. See
[Re-subscribing someone](/contacts/suppressions#re-subscribing-someone).

See [Suppressions](/contacts/suppressions#remove-an-address) for the steps.

## Related

<Columns cols={2}>
  <Card title="Suppressions" icon="ban" href="/contacts/suppressions">
    View, add and remove suppressed addresses.
  </Card>

  <Card title="Campaign results" icon="chart-column" href="/campaigns/results">
    Where bounces, complaints and unsubscribes appear after a send.
  </Card>

  <Card title="Reputation and suspension" icon="activity" href="/deliverability/reputation-and-suspension">
    The rates that warn or suspend a domain.
  </Card>
</Columns>
