Email verification

Email List Cleaning Workflow: Prepare, Verify and Merge Back

Email list cleaning, step by step: prepare a CSV, handle repeated rows, budget credits, read each result type and merge back by source row.

FairValid Editorial

Published · 5 min read · Stockholm time

A person working at a laptop with its screen facing away from the viewer.
AI-generated illustration

Email List Cleaning Workflow: A Practical Step-by-Step Guide

The question: how can you clean an email list reliably without losing track of your original rows or spending credits you didn't plan for?

The short answer: Prepare one clean CSV and keep your other columns in it. Check repeated and unreadable rows before you start a run. Budget credits only for the results that cost something. Then sort the results into clear groups before you merge them back. These steps follow FairValid's help and pricing pages as checked on November 3, 2026. Pages change, so check the linked source before you rely on any limit or price.

Step 1: Export your list with its context

Start from your system of record, such as a CRM, signup database or spreadsheet. Export the email addresses along with the columns you'll need later, like name, source, signup date, owner or an internal ID. Verification results only help if you can match them back to the right person.

FairValid's CSV guide says other columns stay attached to their original source row. You don't have to cut your file down to a single column of addresses, and keeping the context makes the merge back safer.

Step 2: Prepare the file in a supported format

Here's what the CSV guide said on November 3, 2026:

  • You can upload UTF-8 CSV or TXT files up to 100 MB (100,000,000 bytes) and 1,000,000 data rows.
  • Pasted text can be up to 8 MiB and 100,000 rows.
  • Save spreadsheet files as CSV before you upload them.
  • If your first row holds column names, select the option saying the first row names the columns.

Put all the addresses in one column. If your export spreads them across several fields, such as "work email" and "personal email," decide which one you're cleaning in this run.

A hand paused beside a closed laptop and blank paper.
AI-generated illustration

Step 3: Preview the file, pick the column and review problem rows

Before you start a run, look over the full-file preview and choose the email column. Then check two kinds of rows:

  • Unreadable rows. If you can, fix encoding or formatting problems at the source so they don't come back next time.
  • Repeated rows. Within one imported list, FairValid checks a repeated address once and shares that result across all of its source rows. The CSV guide says repeated rows don't create extra sample or run charges.

Keep this duplicate rule in proportion. It covers repeated rows inside a single import. It doesn't promise that separate uploads or later rechecks of the same address will be free. If several of your exports overlap, combining them into one file first is usually the cleaner approach.

Step 4: Budget credits for the results that cost something

The pricing page, checked November 3, 2026, explains how charges work:

  • A completed valid or invalid result costs 1 credit.
  • Unknown and catch-all results have no net charge. Held credits are released or returned.
  • Still checking has no final charge yet. A credit hold reserves room for a running check, and the final result decides the charge.

So budget up to one credit per unique address in an import. What you actually spend depends on how many results come back valid or invalid.

Free credits are used first. The pricing page lists 300 free credits each month, and unused free credits don't roll over. For larger lists, you can buy a one-time top-up of any whole amount from 2,000 to 1,000,000 credits without a subscription. In the catalog shown on November 3, 2026, 10,000 credits cost USD 19.50 and 100,000 credits cost USD 74.50, excluding tax. Monthly plans are a separate billing choice. Unused paid credits never expire while your account stays open, and tax is shown before you pay.

Step 5: Read each result for what it means

The results guide, checked November 3, 2026, defines each outcome:

  • Valid: a usable positive check. It never guarantees inbox delivery.
  • Invalid: the address didn't pass.
  • Catch-all: the domain may accept many addresses, so a conclusion about the specific mailbox may be less certain. Read the result detail before you act on it.
  • Unknown: the check couldn't return a dependable answer.
  • Still checking: there's no final answer yet.

Technical failures and unprocessed items are a separate case. They don't create a net verification charge, and they aren't the same as Unknown. Keep these groups separate in your own reporting too. A row that's still checking needs more time, not a decision.

An illustrative decision table

This is an example policy you could adapt, not a FairValid recommendation:

Result Example action
Valid Keep in your active list
Invalid Suppress or remove
Catch-all Review the detail, then send with extra care or hold
Unknown Hold, and consider a later recheck
Still checking Wait for a final result before deciding

How you handle catch-all and unknown addresses depends on your own risk tolerance and sending practices.

Step 6: Merge results back by source row

Once every row in the run has a final result, bring the results back into your system of record. Because your source columns stay attached to their rows, you can join on your internal ID instead of matching on email text alone. This also protects you when the same address appears on more than one row.

Before you overwrite anything, check the results. Count each result group, spot-check a few rows against the original file, and make sure no row that's still checking was recorded as final.

A person beside a laptop and blank notes in a softly lit workspace.
AI-generated illustration

Step 7: Set a recheck schedule

Contact lists change over time. Choose a schedule that matches how quickly your list grows, and clean new signups or imported contacts before they join your main list. Each new submission is its own run, so plan credits for it.

Summary

  1. Keep your source rows and context intact.
  2. Combine overlapping exports so repeated rows are handled within one import.
  3. Budget for valid and invalid results.
  4. Keep catch-all, unknown, still checking and technical failures as separate groups.
  5. Merge back by row ID.

If you'd like to try this on a small sample first, the CSV guide walks through file preparation, and your monthly free credits let you see how results look for your own data.

Make your next send a careful one

Check your email list and understand the results before you send.

Start free