Suppression list management keeps you from emailing people who should never be mailed again: hard bounces, spam complaints, unsubscribes and manual blocks. It protects your sender reputation and respects recipients. This guide explains what to suppress, how the reasons differ, how to automate it and when removing an address is safe.
Suppression is a safety net, not a list you edit freely. Every address on it is there for a reason. Treat removals as exceptions that need evidence, and never remove complaints or unsubscribes to reach more people.
What belongs on the list
| Reason | What it means | Scope | Remove later? |
|---|---|---|---|
| Hard bounce | The address does not exist or refuses mail permanently | Whole account | Rarely, and only with proof it is valid |
| Repeated soft bounce | Temporary failures that keep recurring | Whole account | Yes, after the address recovers or is confirmed |
| Spam complaint | The recipient reported the message as spam | Whole account | No |
| Unsubscribe | The recipient asked to stop | The stream or list they chose | Only if they opt in again |
| Manual block | You blocked the address, for example an abusive sender | Whole account | Only by a decision you record |
Bounce reasons are explained in the bounce code guide. Complaints reach you through feedback loops at providers that offer them.
Choose the scope carefully
- Account-wide: for bounces, complaints and manual blocks, because the issue belongs to the address.
- By stream or list: for unsubscribes, if people can opt out of one newsletter and stay on others. Say clearly on the preference page what each choice covers.
- Transactional messages: an unsubscribe from marketing does not stop order or security messages, but a hard bounce stops everything because mail cannot be delivered.
Automate it with events
Manual exports always lag. Use webhooks so that each bounce and complaint reaches your own system as it happens, and suppress the address in both places. The webhooks guide shows how to receive events safely. A simple check before any send keeps your own database in line.
-- addresses you may mail
SELECT c.email
FROM contacts c
LEFT JOIN suppressions s ON s.email = LOWER(c.email)
WHERE s.email IS NULL
AND c.status = 'subscribed';
Import a list from another provider
- Export. Download bounces, complaints and unsubscribes from the old provider and your own database.
- Clean. Lowercase every address, trim spaces and remove duplicates.
- Keep the reason and date. Use one reason per row, such as bounce, complaint or unsubscribe.
- Import. Load the file into your new account before the first send.
- Check counts. Compare totals before and after and spot-check a few addresses.
Audit it every month
| Check | Why |
|---|---|
| New suppressions by reason this month | A jump in hard bounces points to a bad list source |
| Complaints by campaign or form | Shows where unwanted mail comes from |
| Contacts that are on your list and also suppressed | Shows a sync problem between systems |
| Soft bounce addresses near the limit | Lets you clean them before they hurt reputation |
| Imports in the last 90 days | Confirms that nothing was overwritten by mistake |
When can you remove an address?
| Situation | Remove? | Notes |
|---|---|---|
| Person asks to be added back and opts in again | Yes, after a fresh confirmed opt-in | Keep the record of the new consent |
| Bounce caused by a receiving server fault, now fixed | Yes, with evidence | Send a test first |
| Soft bounce from a full mailbox, recovered | Yes | Watch it afterwards |
| Spam complaint | No | The recipient has told their provider they do not want your mail |
| Unsubscribe | Only after a new opt-in | Never re-add a person without a new action from them |
If a campaign shows high bounces after a list import, follow the steps in the spam troubleshooting checklist. For your legal duties on opt-outs see GDPR and email and the one-click unsubscribe guide.
Importing a large suppression list? Send us the file format and size and we will help you check it before your first send.
Further reading and sources
Frequently asked questions
What is a suppression list?
A suppression list is a list of email addresses your system will not send to, whatever else a campaign or application asks for. It usually includes hard bounces, spam complaints and unsubscribes, and it works as a safety net between your contact data and your sending.
What is the difference between suppression and unsubscribe?
An unsubscribe is a choice by the recipient to stop one type of mail. Suppression is the system rule that enforces any stop, including unsubscribes, but also bounces, complaints and manual blocks. All unsubscribes should end up suppressed, but not all suppressions are unsubscribes.
Which addresses must always be suppressed?
Hard bounces, because the address does not exist or refuses mail permanently, spam complaints, because the person told their mailbox provider they do not want your mail, and unsubscribes, because the person asked to stop. Sending to these damages reputation and may break the law.
How should I handle soft bounces?
A single soft bounce, such as a full mailbox, is temporary. Repeated soft bounces over several sends or several days usually mean that the address is abandoned. A common rule is to suppress after a handful of consecutive soft bounces, and the exact number depends on your volume and risk.
Should suppression apply to the whole account or per list?
Hard bounces and complaints should apply across the account, because the problem belongs to the address. Unsubscribes depend on what the person opted out of, which might be one newsletter or all marketing, so scope them clearly and say so on the preference page.
Can I remove an address from the suppression list?
Only if you can show that the reason is resolved, for example a person who asked to be added back, or a bounce caused by a temporary fault at the receiving domain that has since been fixed. Never remove complaints or unsubscribes just because a campaign needs more reach.
Why does an address keep bouncing after I fixed the typo?
The corrected address is a new address. The old, wrong one stays suppressed, which is correct. Add the corrected address as a new contact, and make sure the sign-up form validates addresses so typos do not reach the list.
How do I move my suppression list from another provider?
Export the bounces, complaints and unsubscribes from the old provider, normalise them to lowercase addresses with one per row and import them before your first send. Keep the reason and date where possible. See the migration guide for the full plan.
Does a suppression list help with GDPR?
Yes. When someone objects to marketing or asks for deletion, you still need a record that stops future mail. A minimal suppression entry, usually the address and the reason, lets you honour the request without keeping the rest of their data.
How big should my suppression list be?
There is no right size. It grows with your list and your history. What matters is the rate: hard bounces under about two percent of sends and complaints under 0.10 percent. A sudden jump in new suppressions usually points to a list or sign-up problem.