# How to Remove Unsubscribed Contacts From Every List You Send To

> A practical routine for making sure people who opted out never hear from you again, even when your leads live in several spreadsheets and tools.

Someone replied "please remove me" last week. You said sure. Now you are building a new list for another city, and you are not fully certain that address is gone from every spreadsheet, export and sending tool you use. That uncertainty is the real problem, and it is fixable in an afternoon.

This guide covers one job: making sure an unsubscribed contact is removed everywhere and stays removed, including from lists you have not built yet.

## Why deleting the row is not enough

The common mistake is deleting the person from the current campaign and moving on. Then, a month later, you scrape the same category in the same area, the same business shows up again with the same email, and they get your first email a second time.

The fix is a **suppression list**: a separate, permanent list of addresses (and ideally domains) that you never send to. You do not just remove people from lists. You check every new list against the suppression list before sending.

Keeping opted-out people off your sends also matters for rules. Many anti-spam laws require you to honour opt-outs promptly, and inbox providers expect a working unsubscribe for bulk senders. Requirements differ by country and situation, so check the rules that apply to you. The [outreach compliance checklist](https://getclient.pro/resources/outreach-compliance-checklist) is a good place to start. This is not legal advice.

## Step 1: Collect every opt-out you already have

Before you clean anything, gather the full set of people who asked to stop. Look in these places:

- **Unsubscribe link clicks** recorded by your sending tool.
- **Replies** saying remove me, stop, unsubscribe, not interested please don't email, or similar. Search your inbox for those words.
- **Angry replies** that do not use the word unsubscribe but clearly mean it. Treat them as opt-outs.
- **Phone or in-person requests** you noted somewhere else.
- **Old tools** you used before your current one. Export their unsubscribe lists if they have them.

When unsure whether a reply is an opt-out, treat it as one. Losing one lead costs you far less than emailing someone who asked you not to.

## Step 2: Build one master suppression file

Create a single spreadsheet called something obvious, like `suppression-list.csv`. Give it these columns:

| Column | What goes in it |
|---|---|
| email | The exact address, lowercased |
| domain | Everything after the @ |
| date | When they opted out |
| source | Link click, reply, phone, old tool |
| scope | Address only, or whole domain |

A few practical rules:

- **Lowercase everything** and trim spaces, so `Info@Shop.com ` and `info@shop.com` match.
- **Use the domain column for small businesses.** If the owner of a two-person plumbing firm says stop, emailing their other address next month will not feel different to them. Mark scope as whole domain.
- **Do not suppress shared providers by domain.** Never add gmail.com or outlook.com as a blocked domain, or you will wipe out half your list.
- **Never delete rows from this file.** It only grows.

Store it somewhere you will actually open before every send.

## Step 3: Remove them from your existing lists

Now clean every active list and campaign. In a spreadsheet, the quickest method is a lookup:

1. Paste your suppression emails into a second tab.
2. In your lead list, add a column with `=COUNTIF(Suppression!A:A, LOWER(TRIM(C2)))` where C is the email column.
3. Add a second check on the domain column for whole-domain entries.
4. Filter for anything above 0 and delete those rows.

Do this for every list, not just the one you are about to send. Then go into your sending tool and remove or pause those contacts in any campaign that is still running, especially ones with follow-up steps queued. A follow-up going out after someone opted out is the most common way this goes wrong.

## Step 4: Check every new list before it goes out

This is the habit that actually solves the problem. Every time you pull new leads, whether from Google Maps, a CSV someone sent you, or a directory, run the same lookup against the suppression file before importing into a campaign.

Make it part of your pre-send checklist, alongside the steps in [verify emails before a campaign](https://getclient.pro/blog/verify-emails-before-a-campaign). A simple order that works:

1. Pull leads.
2. Remove duplicates.
3. Remove suppressed emails and domains.
4. Verify the remaining addresses.
5. Import and send.

Suppressing before verifying also means you do not spend verification credits on people you will never email anyway.

If you prospect on a schedule, put this step on your calendar. The [weekly prospecting plan](https://getclient.pro/resources/weekly-prospecting-plan) shows where list cleanup fits in a normal week.

## Step 5: Make future opt-outs remove themselves

Manual cleaning works, but it relies on you remembering. Reduce the manual part:

- **Include a clear unsubscribe link** in every cold email, not just newsletters. A one-click link means people opt out instead of hitting the spam button.
- **Use a tool that skips unsubscribed addresses automatically** across campaigns, so a click in one campaign blocks sends from all of them.
- **Still handle reply opt-outs by hand.** No link catches "please stop" written in a reply. Check your inbox daily and add those to the suppression file the same day.

Replies from your connected accounts land in one Inbox, which makes it easier to spot the written opt-outs. You still want your own suppression file for anything you import from elsewhere or keep in spreadsheets.

## Step 6: Audit once a month

Set a 15 minute monthly check:

- Search your sent mail for any address on the suppression list. If one appears after its opt-out date, find out which list it came from and fix that source.
- Confirm your unsubscribe link still works by clicking it from a test address.
- Look at exports you have shared with a CRM or another tool. If you push leads into a [CRM](https://getclient.pro/learn/crm), make sure opted-out contacts are flagged there too, so a teammate does not email them manually.

That last point catches a lot of leaks. Opt-outs have to travel everywhere the contact lives.

## Frequently asked questions

### Should I delete unsubscribed contacts completely or keep them?

Keep their email address on a suppression list. If you delete all trace of them, you have no way to stop them from being re-added the next time you import or scrape a list. Keep only what you need to block them, usually the address, domain and opt-out date, and check privacy rules that apply to you.

### How fast do I need to remove someone after they unsubscribe?

As fast as you reasonably can, ideally the same day. Some laws set a maximum number of days to honour an opt-out, and they differ by country, so check what applies to you. The practical risk is a queued follow-up going out after the request, so pause them in active campaigns immediately.

### What if someone unsubscribes from one campaign but is in another?

Treat an opt-out as applying to all your outreach, not one campaign. Remove them from every active campaign and add them to your master suppression file so no future campaign reaches them either.

### Does removing unsubscribed contacts help deliverability?

It helps indirectly. People who asked to stop are more likely to mark further emails as spam, and spam complaints hurt your sender reputation. Keeping them off your sends removes that risk.

Source: https://getclient.pro/blog/remove-unsubscribed-contacts
