---
title: "Avoid double-touching & suppress bad contacts | FirstSales"
description: "Stop emailing the same person twice — or emailing people who bounced or opted out. Dedupe on import, exclude with segmentation, and let bounce/unsubscribe statuses suppress automatically."
canonical: "https://firstsales.io/tutorial/dedupe-and-suppress/"
---

[Home](/)/[Tutorials](/tutorial/)/Avoid double-touching & suppress bad contacts

List Management

# Avoid double-touching & suppress bad contacts

Stop emailing the same person twice — or emailing people who bounced or opted out. Dedupe on import, exclude with segmentation, and let bounce/unsubscribe statuses suppress automatically.

6 min read·Intermediate·7 steps

1. 1  
## The two problems this solves  
There are two things people usually mean by “suppression”: (a) emailing the same person twice across campaigns, and (b) emailing people who already bounced or opted out. There’s no single “suppression list” button in FirstSales — instead, three separate mechanisms cover both cases. This guide walks through all three.
2. 2  
## Dedup happens on import  
When you import a CSV, duplicates are detected and counted automatically — the import result shows a **Duplicates** tile alongside Imported, Errors, and Total. The same contact isn’t inserted twice. See _Import contacts from CSV_.
3. 3  
## Exclude people already in a campaign  
Open Campaign → **Segmentation** and turn on **Exclude active campaigns** and **Exclude completed campaigns** so no contact gets touched by two campaigns at once. This is the real “don’t double-touch” control.
4. 4  
## Exclude specific lists and tags  
In the same panel, add **excluded lists** and **excluded tags** — for example, a “customers” or “do-not-contact” tag you maintain yourself. The **Contact Selection** summary shows **Lists included** and **Exclusion rules** counters so you can confirm your setup at a glance.  
![Exclude specific lists and tags](/tutorials/segment-01-contact-selection.webp)
5. 5  
## Bounced and unsubscribed contacts are suppressed automatically  
A contact’s **status** governs sending, in this order: **unsubscribed > bounced > auto-suspended (dirty) > risky > active**. An unsubscribed contact “opted out and will not receive emails” — you don’t move them anywhere; the status alone holds them back.
6. 6  
## Opt-outs classify themselves  
With the **Loop opt-out brake** on, replies like “stop,” “not interested,” or “do not follow up” are auto-classified as unsubscribe and halt future sequence steps. **Stop-on-reply** pauses the sequence the moment anyone replies at all. Keep both on. See _Stop on reply & opt-out_.
7. 7  
## Keep the list clean  
Run verification — address format, mail server (MX), disposable, typo, and role checks — so junk addresses are flagged before they bounce and get suppressed the hard way. See _Contact verification settings_.

## Pro tips

Hard-won shortcuts that keep warm-up on track.

1

### There&rsquo;s no list to maintain

Dedup on import, segmentation exclusions, and bounce/unsubscribe statuses cover suppression automatically — you don't need a separate list.

2

### Always exclude active + completed campaigns

It's the single switch that stops the same prospect getting hit by two campaigns at once.

3

### Build your own do-not-contact tag

Maintain a “do-not-contact” tag and exclude it in every campaign's segmentation — a manual suppression built from a control that actually exists.

4

### Suppressed by status, not deletion

Unsubscribed and bounced contacts are held back by their status. Leave them in the list so they keep being skipped instead of getting re-imported later.

## Frequently asked questions

Does FirstSales have a suppression / do-not-contact list?

Not as a standalone feature. Suppression happens three ways: duplicates are dropped on import, segmentation lets you exclude lists/tags/campaigns, and bounced/unsubscribed contacts are skipped automatically by their status.

Why did the same contact get emailed by two campaigns?

Because active/completed campaigns weren’t excluded in Segmentation. Turn those on and each contact is touched by only one campaign at a time.

What happens when someone unsubscribes?

Their status becomes Unsubscribed and they will not receive further emails — it’s automatic and permanent unless changed. Replies like “stop” or “not interested” trigger this via the opt-out brake.

Are duplicates removed when I import?

Yes. The importer detects duplicates and shows the count — the same contact isn’t added twice.

How do I build my own do-not-contact list?

Tag those contacts (for example, `do-not-contact`) and add that tag to the exclude list in every campaign’s Segmentation. That’s the supported pattern.

Do bounced contacts keep getting emailed?

No. Bounced and auto-suspended statuses suppress sending automatically. Leave them in the list so they stay suppressed.

Should I delete unsubscribed or bounced contacts?

No — deleting them risks re-importing them later. Their status already suppresses them; keep them as a permanent record.

## Ready to put this into practice?

Start your FirstSales trial and launch a warmed, authenticated mailbox in minutes.

[Start for $1](https://app.firstsales.io)

[All tutorials](/tutorial/)