CSV fill rate checker: which columns of a lead list are safe to personalise with
In short: Counts filled, blank and placeholder cells (n/a, -, null, #N/A, test) in every column, with distinct and most common values, and marks each column safe as a merge field (98%+ filled), needing a fallback, too empty to personalise with, or the same value everywhere. Download the report or the rows with gaps. Limit: It counts what is in the cells; a filled cell can still be wrong or out of date.
Upload a lead file and press Check fill rates. Every column gets its filled, blank and placeholder counts, how many distinct values it has and the most common ones, and a verdict: safe as a merge field, use with a fallback, too empty to personalise with, or the same value on every row. Download the report or just the rows with gaps.
Price: this tool is free. Checking a whole email list is from $9/mo, and the first 100 checks are free with Google, no card. See pricing
Sample result
6 columns checked: 1 safe as a merge field, 4 need a fallback, 1 has the same value everywhere.
- Columns
- 6 checked
- Safe
- 1
- Too empty
- 0
What this means for you
Write the copy around email and the filled columns; give city and company a fallback.
- Filled, blank and placeholder counts
- Distinct and top values
- Merge-field verdict per column
- Rows with gaps to download
- Fill rate
- Merge fields
- CSV
By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us
Also in: Português (Brasil) · Español
How do I check the addresses as well as the columns?
- Fill or drop the gaps the report found.
- Upload the file at /verify. Every address gets a live mailbox check, and valid, risky and invalid download as separate files. The first 100 email checks are free with a Google sign-in, no card.
- Send to the valid file.
How do I check which columns in a CSV are missing data?
- Export the lead file you're about to send to, with every column.
- Paste it here or upload the CSV and press Check fill rates.
- Read each column's verdict before deciding which merge fields the copy uses.
- Download the rows with gaps to fill them, or add fallbacks for those fields in the template.
Example
- You enter
- A 6-row lead file with email, first_name, company, title, city and industry columns, where company has a
-, city has ann/aand two blanks, and industry is Software on every row. - You get
- email is safe as a merge field (6 of 6); first_name, company and title need a fallback (5 of 6 each); city needs a fallback (3 of 6, 2 blank and 1 placeholder); industry is the same value everywhere.
- Limits
- Runs in your browser with no row cap; an uploaded file can be up to 25 MB.
Why check fill rates before writing the copy?
Because the merge fields you can use depend on how full each column is, and lead exports are far emptier than they look in the first screen of a spreadsheet. A city column that is 60% filled means 40% of the list gets the fallback; a title column full of "-" looks filled to a COUNTA formula but prints a dash. Knowing this first decides whether a line can lean on that column at all.
It also shows broken exports: a column with the same value on every row (a default the export filled in), a company column that is mostly n/a, or rows with nothing but blanks.
How are the verdicts set?
A cell counts as filled when it holds a real value; blanks and placeholders (n/a, na, none, null, unknown, -, --, ?, x, test, tbd, #N/A, #VALUE!, #REF!, [ ] and leftover {{tags}}) count as empty. Safe as a merge field: 98% or more filled. Use with a fallback: 50% to 98%. Too empty to personalise with: under 50%. Same value everywhere: every row holds one identical value.
Distinct counts ignore case, so ACME and Acme are one value; the most common values show what dominates a column. Nothing is changed in the file; to fill the gaps, use the first name cleaner, company name cleaner or fallbacks in the template.
Who uses this tool, and for what?
- Cold emailers
- Decide which merge fields a campaign can use before writing the sequence.
- List buyers
- Check a purchased or scraped list's real coverage before paying for the next batch.
- RevOps
- Audit CRM export completeness field by field before an import or migration.
- Agencies
- Show a client how much of their list each personalization field covers.
What can’t this tool tell you?
- It counts what is in the cells; a filled cell can still be wrong or out of date.
- The placeholder list covers common ones; a value like "Company" in a company column counts as filled.
- It doesn't change the file; it reports and exports the rows with gaps.
- It can't tell whether the email addresses on the list exist.
Common questions
- How do I count blank cells per column in Excel?
- COUNTBLANK per column works for true blanks but misses n/a, - and spaces. Upload the file here to get blanks and placeholders for every column at once.
- What fill rate is good enough for a merge field?
- This tool uses 98%: on a 1,000-row list, that's at most 20 rows on the fallback. Below that, write the line so the fallback reads naturally, or build per-row lines with the personalization line builder.
- Does it check whether the email column is valid?
- It counts how full the column is, not whether the addresses work. Use /verify for that.
- Is my file uploaded?
- No. It is read in your browser and nothing is sent anywhere.
A tidy list can still be full of dead addresses.
Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.
- Upload the cleaned file as it is: CSVs up to 100,000 rows
- A real SMTP mailbox check on every row, with catch-all detection
- Small list? Starter at $9/mo covers 2,500 emails a month, cancel anytime
Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.