All posts

One Do-Not-Send List Across Client Domains: How an Agency Keeps Invalid Emails Out for Good

··2 min read

Keep one do-not-send file per client, add every invalid result and hard bounce to it, and filter every new import against it before you verify or upload. Without that step, dead addresses return with each new export and you pay to re-check, and sometimes re-bounce, the same rows. It is a small habit with an outsized effect on an agency running many client domains.

How dead addresses come back

Each import looks new to the sequencer. You verify a list, remove the invalid rows, and send. Three weeks later someone pulls a fresh export from the same lead tool. The dead addresses are in it again, because the tool does not know you removed them. Merged lists, a teammate's old CSV or a CRM sync do the same.

See merging lead lists without duplicates for the file-handling side.

What belongs on the list

Source Add to the file?
Status invalid: Mailbox not found Yes
Status invalid: Disposable address, No mail server, Invalid format Yes
Typo domain, for example "Typo domain - did you mean gmail.com?" Yes, after fixing the correctly spelled version if you want that contact
Hard bounce from a live campaign Yes
Unsubscribe or "please stop" reply Yes, always
Risky: Accepts all addresses or Role-based address No, test first
Risky: Server would not confirm No, re-check once first

The typo row is the one people miss. If the verifier suggests gmail.com and you correct it, keep the corrected address and suppress the misspelled one.

Per client, not one big pool

Opt-outs belong to the client's brand. A person who unsubscribes from client A has not opted out of client B. Keep opt-out lists separate per client. Invalid addresses are different: a mailbox that does not exist is invalid for everyone, so you may keep that part in a shared file if your client agreements allow it.

On the Agency plan, client workspaces keep each client's lists and history apart, which makes the per-client file easier to maintain.

The routine

  1. Verify the new list. Read statuses and reasons.
  2. Append invalid addresses to the client's do-not-send file.
  3. Before the next import, drop any row already on the file. Do this before verifying so you do not spend checks on known-dead rows.
  4. Verify what remains.
  5. After each campaign, append hard bounces and opt-outs.

Sequencers can hold the list natively. See building a suppression list from Smartlead and from Lemlist and Instantly.

What it saves

You do not pay for repeat checks on known-dead rows, and you do not risk loading them again. That matters most for agencies that pull from the same sources on a schedule; the fewer bounces per inbox, the less likely a warm inbox gets paused. See tracking bounce rate day by day.

Try it

New accounts get 100 free checks with no card. Run a sample on the verify page, and see pricing for Pro at $39 a month, Business at $99 and Agency at $249 with 750,000 checks a month.

Common questions

Why do dead addresses keep coming back?

A new export from a lead tool or a merged file brings them back. Each import looks new to the sequencer, so unless you filter against a suppression list first, the same invalid address gets loaded again.

Should the suppression list be shared between clients?

Keep one per client for opt-outs and replies, which belong to that client's brand. Invalid addresses, such as Mailbox not found, are facts about the address and can be shared across your own workflow if your data terms allow it.

What goes on the list?

Rows with status invalid, covering Mailbox not found, Disposable address, No mail server, Invalid format and typo domains, plus hard bounces, unsubscribes and people who asked not to be contacted.

Do risky rows go on it?

Not automatically. Risky rows are unconfirmed, so they belong in a test group. Add a risky row only after it bounces or the person asks to stop.

How do I apply it?

Before each import, remove any address that appears on the suppression file, then verify what remains. Sequencers also have their own blocklists you can load the file into.

Check your list before you send

Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.