Transform your risky emails into valid leads with ScrubbyLearn how
Lead Generation

The Agency Workflow for Verifying Client Email Lists Before Every Campaign

Agencies inherit email data from every client they sign: CRM exports, event lists, purchased files, spreadsheets from a rep who left. Here is a repeatable workflow for verifying client lists before launch, from intake and dedupe to catch-all resolution, client reporting and re-verification.

November 2, 2026
9 min read
Three separate stacks of thin slabs on a dark green floor, the middle stack passing through a glowing mint ring that turns its upper slabs green, beside the headline "Verify every client list before launch."

Every new client arrives with data. A CRM export. A list from last year’s trade show. A file the founder bought from a data vendor. A spreadsheet a sales rep built before they left. The client hands it over with a simple brief: “Here are our prospects, start next week.”

For an agency, that moment carries more risk than any copywriting decision you will make. The list is the client’s, but the bounces land on the sending domains you manage, and the reputation damage shows up in your results. A bad list does not just hurt one campaign. It can burn the mailboxes you need for the next three months.

Most agencies know they should verify. The problem is that verification often happens inconsistently: one account manager runs every file through a checker, another trusts the client’s “it’s already clean”, and a third deletes every address the tool marked risky. This guide turns that into one repeatable workflow you can run on every client, every time.

Myth: “The Client’s List Is Already Clean”

Start here, because you will hear it on almost every kickoff call.

Clients usually mean one of three things when they say their list is clean:

  • “It’s from our CRM.” CRM data is only as fresh as the last time someone touched it. Contacts change jobs, companies rebrand domains, and nobody updates the record. Our guide to email list decay explains why lists go stale even when nobody does anything wrong.
  • “Our data vendor verified it.” Verified when, and how? A basic check run months ago tells you little about today, and many tools mark catch-all addresses as valid because the server accepted them.
  • “We mailed it last quarter and it was fine.” Fine according to what? If the client sent from their primary domain through a marketing platform, the bounce data probably sits in a tool you cannot see.

None of these is a reason to skip verification. Treat every client file as unverified until it has passed your own process. The best way to avoid the argument on every call is to make that process part of the contract.

Step 1: Write Verification Into the Onboarding Agreement

The cleanest way to handle list quality is before the client sends a single file. Add a short section to your statement of work or onboarding document that covers:

  1. Every list is verified before it is sent to. No exceptions for “trusted” sources.
  2. Who pays for verification. Either it is included in your fee, or the client covers credits at cost. Decide once, not per file.
  3. What happens to addresses that fail. Invalid addresses are suppressed, not argued about. Role addresses and unresolved addresses follow the rules in Step 5.
  4. How long verification takes. Most addresses resolve in minutes, but addresses that need deeper checks can take up to three days. Build that into the launch date.

This turns verification from a favour into a standard step. It also protects you when a client asks why the file they sent became a smaller sending list.

Step 2: Run an Intake on Every File

Before you upload anything, record where each file came from. A simple intake sheet per client is enough, with one row per file:

FieldWhy it matters
Source (CRM, event, vendor, scraped, manual)Tells you how much to trust it
Date collected or last updatedOlder data decays further
Previous verification, if any, and with which toolExplains odd results later
How the addresses were found (published or pattern-guessed)Guessed addresses fail more often
Consent or legal basis, as the client describes itThe client’s call, but you need it on record

If a file cannot answer the first two questions, flag it as high risk and plan to send it in smaller batches after verification. Our guide to auditing a purchased or scraped B2B list goes deeper on vendor files specifically.

Step 3: Clean the Structure, Merge and Deduplicate

Clients rarely send one file. They send four, with overlapping contacts and different column names. Before verification:

  • Normalise the columns so every file has the same fields: email, first name, last name, company, title, source.
  • Trim and lowercase the email column. Stray spaces and capital letters cause false duplicates and false failures.
  • Deduplicate across all files, not just inside each one. The same person often appears in the CRM export and the event list. Our guide to deduplication and alias normalisation covers the edge cases.
  • Remove the people the client should not email. Current customers, open opportunities, partners, competitors, and anyone on the client’s do-not-contact list. Ask for that list explicitly. Clients forget it exists.
  • Check against your own suppression list for this client. Anyone who unsubscribed or complained in a previous campaign stays out. See our suppression list guide.

Doing this first also saves credits, because you are not paying to verify the same address twice or verifying people you were never going to email.

Step 4: Verify in Two Passes

This is where most agency workflows go wrong. A single pass through a standard verifier returns a mix of valid, invalid and a large “risky”, “unknown” or “catch-all” bucket. The account manager then has two bad options: send to the risky bucket and hope, or delete it and lose a share of the client’s best prospects. On B2B lists, catch-all domains are common, and they often belong to exactly the companies the client most wants to reach.

A two-pass workflow avoids that choice.

Pass one: Quick Verification on the whole list. Quick Verification checks syntax, domain and MX records, runs the SMTP handshake, and adds a catch-all probe and secure email gateway detection, so most catch-all addresses are settled in the same pass. It returns in minutes at 1 credit per email.

Pass two: Deep Verification on what is left. For the addresses that the first pass still cannot settle, Deep Verification sends a real blank message from Scrubby’s own infrastructure, never your client’s domains or yours, and watches how the mail server behaves over 72 hours. First results arrive within 24 hours and the final verdict at 72 hours, at 3 credits per email.

The order matters for cost and for timing. Running everything through Deep would be slower and more expensive than it needs to be. Running nothing through it leaves the hardest segment unresolved. Run Quick first, send the remainder to Deep, and start the valid segment while you wait.

Step 5: Apply the Same Decision Rules to Every Client

Results are only useful if everyone on your team acts on them the same way. Agree the rules once and write them down:

ResultDefault actionNotes
ValidSendStill start new lists in small batches
Catch-all, resolved as validSendTreat like any other valid address
InvalidSuppressNever send, never re-upload
Catch-all, resolved as invalidSuppressSame as invalid
Role address (info@, sales@)Client decidesOften low value for cold outreach
Disposable domainRemoveRare on B2B lists, a sign of a weak source
Still unresolvedHoldSend later in a small test batch, or drop

Our guide to role-based addresses helps with the most common client question in that table. If two tools disagree about the same address, our article on reconciling conflicting validation results explains what to trust.

Step 6: Report the Results Back to the Client

Clients notice when their list gets smaller. Tell them first, and use it to show the value of the work.

A short list health summary per file is enough:

  • How many rows came in, and how many duplicates and do-not-contact entries were removed.
  • How many addresses were valid, invalid, role-based and resolved from the catch-all segment.
  • Which sources performed worst, so the client can stop buying from them or fix the form that collects them.
  • When the list will be ready to send, including any addresses still in Deep Verification.

Use the client’s own numbers, not industry averages. “Your trade show file had more invalid addresses than your CRM export” is a conversation a client can act on. It also gives you cover if they later ask why some contacts were never emailed.

Step 7: Launch Carefully, Even After Verification

Verification removes the addresses that will not deliver. It does not tell you how recipients will react. For every new list:

  • Start with small batches across several mailboxes, not one large send.
  • Watch bounces and complaints per batch, not just per campaign. A spike in one batch often points to one weak source file.
  • Suppress immediately. Every hard bounce, unsubscribe and complaint goes on the client’s suppression list before the next batch.

If you run sending in tools like Instantly or Smartlead, our guide to validating lists for cold outreach platforms covers the handoff from verification to sequence.

Step 8: Re-Verify on a Schedule, Not When Something Breaks

Client data keeps decaying after launch. A list verified in March is not the same list in September. Set a rule that fits your campaigns, for example:

  • Re-verify any list before a new campaign starts if it has not been verified since the last campaign.
  • Re-verify the remaining contacts on long-running sequences at a fixed interval you agree with the client.
  • Verify new records as they are added, rather than letting a backlog build up. Our guide to integrating verification into your CRM workflow covers that setup.

The rule matters more than the exact interval. What hurts agencies is the list nobody has checked since onboarding.

Keep Every Client Separate

One last discipline: never mix client data. Keep a separate folder or project for each client’s files, results and suppression list. Merging lists across clients to save time creates two problems. You risk emailing one client’s prospects on behalf of another, and you lose the ability to trace a bounce spike back to the file that caused it.

The Takeaway

The client owns the list, but the agency owns the consequences. A repeatable workflow protects both: put verification in the agreement, record where every file came from, dedupe and suppress before you spend credits, run Quick Verification on everything and Deep Verification on the remainder, apply the same rules to every result, and report back in the client’s own numbers.

Scrubby gives you 200 free credits to test the workflow on your next client file. For agencies verifying lists for many clients, unlimited plans are available. See pricing for credit costs, or read more on how Scrubby works for agencies.

lead generation agencyemail verificationclient onboardingcatch-all emailslist hygienecold email
Amit S.

Amit S.

Marketing Lead

Ready to Validate Your Emails?

Start with 200 free credits. No credit card required.