Data Health Check
Score your spreadsheet for duplicates, bad values and gaps, then apply the fixes you pick. On every plan.
By Operelio team · Updated October 23, 2026
On this page13
What it does
Data Health Check scans every cell, column, and cross-column relationship in your file for data quality problems: blanks, bad email formats, encoding errors, suspicious phone numbers, inconsistent date formats, and dozens of other checks. You get a quality score from 0 to 100 and a list of every issue found, worst first, each tagged Must fix, Should fix or Tidy‑up. Every row is counted once, under the most serious thing it needs, and a row with no issues is Ready.
You can pick from the auto-fix categories right from the report and download a cleaned file. The original is never modified. Fixes always create a separate file.
How to use it
Upload your file
CSV or Excel. For a workbook with several tabs, pick the tab. The page shows what it checks and your file's rows, with nothing to configure.
Run the scan
Click Run Data Health Check. Operelio scores the file and lists the issues it finds. If the file was checked before, the page links that report and the button reads Check again.
Review the report
See your score, how many rows have issues, and every row counted under what it needs: Must fix, Should fix, Tidy‑up or Ready. The Issues list below names every issue once, worst first, and the report's preview opens on the most serious group, with a tab for each.
Select fixes
Check the fixes you want in the Issues list on the report page. The Apply button (Apply 2 fixes, for example) appears once you've checked at least one.
Apply and download
Click the Apply button (it gives the count, as in Apply 2 fixes or Apply 1 fix). Operelio writes a new cleaned file and re-runs Data Health Check on it so you can see your updated score. Download the cleaned file, or click Format for CRM to open it in CRM Formatter.
Up to three Apply Fixes rounds per Data Health Check. After three, start a new Data Health Check on the latest cleaned file to keep going.
When to use it
Data Health Check is the first thing to run when you're not sure whether a file is ready for a CRM import. Common scenarios:
| Scenario | What Data Health Check tells you |
|---|---|
| A list from a third party (broker, marketing agency, scrape) | Whether the data is real, whether emails are valid, whether duplicates were already removed. |
| Before pushing to HubSpot or Salesforce | Whether your file will import without errors or create duplicate contacts. |
| After merging multiple files | Whether the merge introduced duplicates or column-format inconsistencies. |
| Monthly data hygiene | How your CRM-ready data quality is trending over time. |
| After a teammate edited the file | Whether changes added or removed issues. |
What it checks for
The scan covers four levels, plus your Do Not Contact list:
| Level | Checks |
|---|---|
| Cell-level | Blank cells; placeholder values (N/A, NULL, TBD, TEST); invalid email format; invalid phone format; invalid URLs; mixed date formats; encoding issues (garbled characters); formula injection; control characters. |
| Column-level | Missing value percentage; email domain consistency; phone format consistency; date format inconsistency; constant columns; truncation detection; numeric outliers. |
| Cross-column | Email domain vs website mismatches; contact name mismatches; phone country code vs country field mismatches; sequential ID gaps. |
| Pattern detection | Postcode format validity (US ZIP, UK, Canada, Australia, Germany); company suffix variants (Inc / Corp / Ltd); country alias variants (US / USA / United States); state alias variants. |
| Do Not Contact | Rows that match your Do Not Contact list, marked [DNC] in the report's Issues column. They don't change the score or the row counts. The list is Starter and up; with no list, this check is skipped. |
What each row needs
Every row sits under the most serious thing it needs, so each row is counted once. The results page counts the rows in each group, and the report's Issues column tags every line the same way, most serious first, as in [Must fix] Email: "jane@" is not a valid email.
| What the row needs | What it means | Examples |
|---|---|---|
| Ready | No issues found. | Rows whose Issues cell is blank, or holds only a [DNC] line. |
| Must fix | Will cause problems in a CRM import. Fix before importing. | Invalid emails, encoding errors, formula injection prefixes (=, +, -, @), exact duplicate rows, very likely duplicates at 90%+ similarity. |
| Should fix | Inconsistencies worth reviewing. | Mixed date formats, mixed casing, malformed phone numbers, possible duplicates in the 75–89% similarity band, encoding issues that may render strangely. |
| Tidy‑up | Minor formatting noise. | Placeholder values to clear, leading or trailing whitespace, uncommon-but-consistent formatting (underscores instead of spaces in names). |
Whole-row issues (duplicate row, empty row) suppress per-cell issues for that row in the report. The noise from individual cells is hidden so you can see the real problem.
Quality score
The quality score is a single number from 0 to 100 that summarizes your file's overall data quality. A clean file with no issues scores 100. The score drops based on the severity, breadth, and consistency of issues found.
80 or above means ready to import.
60 to 79 means worth reviewing before you push to CRM.
Below 60 means fix the data first. There are enough problems that a clean import is unlikely.
The score gives you a quick way to compare data quality across files, track improvement after applying fixes, and decide whether a file is ready to send to a teammate or to a CRM.
On the job page, the label under the score names its band: Score, good for 80 and up, Score, fair for 60 to 79, and Score, poor below 60.
The auto-fix categories
Check the fixes you want right on the report page, then click the Apply button (Apply 2 fixes, for example) to generate a cleaned file:
| Fix | What it does |
|---|---|
| Remove duplicates | Drops rows that repeat an earlier row: exact repeats after baseline normalization (case, whitespace, gmail dot-folding on emails, country-code stripping on phones, and company-suffix folding, so "Westmarch Ltd" and "Westmarch INC " are the same row), rows that share an earlier row's email, and rows 85% or more similar across identity columns. Rows at 75–84% similarity are flagged in the report but kept for manual review. |
| Remove duplicate phone numbers | Drops later occurrences of phone numbers that are also row-level duplicates. Doesn't remove rows that share only a phone (assistants, family members, shared lines). |
| Trim whitespace | Strips leading and trailing spaces from every cell. Internal double spaces and hidden characters are kept and surfaced for manual review. |
| Remove placeholders | Clears cells with N/A, NULL, TBD, TEST, None, etc. |
| Strip formula characters | Removes leading =, +, -, @ characters that could trigger formula execution on import. |
| Fix broken characters | Repairs characters broken by a wrong encoding (mojibake, e.g. é ' ). |
| Standardize casing | Applies title case to name and company columns flagged for inconsistent casing, keeping small words like "of" lower case and acronyms like LLC and IBM in capitals. Outside name columns, a word typed in lower case takes the capitals its column already uses, so "ceo" becomes "CEO" in a column that has "CEO". |
| Remove disposable emails | Drops rows whose email uses a known throwaway/disposable domain (mailinator, 10-minute-mail services, and the like). |
| Standardize dates | Converts dates to YYYY-MM-DD, reading each column in its own day and month order. A date that could be either, in a column that doesn't settle it, is left as it is. |
| Standardize countries and states | Maps US, USA, United States to one canonical spelling per column. Same for UK / GB / United Kingdom, etc. |
| Merge company names | Maps Westmarch Ltd, WESTMARCH LTD, Westmarch Ltd. to one canonical spelling per group. |
| Match email domains | When a single company has rows with mixed email domains, picks the majority and rewrites the rest. A company with no clear majority is left as it is. |
| Match email name formats | When a single company has mixed email formats (john.smith@ vs jsmith@), rewrites every row to the majority format. A company with no clear majority is left as it is. |
| Remove blank rows | Drops rows where every cell is empty or a placeholder like N/A. |
| Remove empty columns | Drops columns with nothing in them. |
| Remove mostly empty columns | Drops columns that are less than half filled in. |
Apply Fixes flow
Apply Fixes is a separate job spawned from the Data Health Check report. It does not count against your monthly jobs, because the Data Health Check it comes from already did. Each round re-runs Data Health Check on the cleaned output, so its page shows the new score and the issues left to fix.
The chain cap is three rounds. Most files reach a clean state in one or two passes; the cap exists because an unbounded chain risks compounding small errors. After three rounds, click "Run a new Data Health Check" on the last round's page. It opens on the latest cleaned file.
Each round generates a new file, so you always have a paper trail of what changed. Older rounds stay in your job history; their files are deleted after your plan's retention window.
Output file
The Data Health Check output is your original data with an extra Issues column prepended. Each row's issues are listed in that column so you can filter and sort by them.
The Issues column lists every problem found, row by row.
The report comes back in your file's format on every plan: CSV for a CSV, annotated Excel for an Excel file. The Excel report colors each row's Issues cell by what the row needs: red for Must fix, amber for Should fix, gray for Tidy‑up.
Apply Fixes always returns the cleaned file in the same format you uploaded. CSV in, CSV out; Excel in, Excel out.
Filename pattern: your_filename_health_check for the report and your_filename_fixed_health_check for the Apply Fixes output, each as .csv or .xlsx to match your file.
Plans and limits
Data Health Check is on every plan, and so are Apply Fixes and the annotated Excel report. Each check uses one job, and Apply Fixes uses none. The one exception is the Do Not Contact check, which needs a Do Not Contact list (Starter and up). Otherwise the plans differ on volume only.
| Feature | Free | Starter ($39/mo) | Pro ($99/mo) | Agency ($299/mo) |
|---|---|---|---|---|
| Data Health Check report | Yes (counts as a job) | Yes | Yes | Yes |
| Row limit | 2,000 | 50,000 | 75,000 | 150,000 |
| File size | 2 MB | 25 MB | 35 MB | 100 MB |
| Output format | CSV + annotated Excel | CSV + annotated Excel | CSV + annotated Excel | CSV + annotated Excel |
| Apply Fixes | Yes (no extra job) | Yes (no extra job) | Yes (no extra job) | Yes (no extra job) |
| Apply Fixes chain cap | 3 rounds per Data Health Check | 3 rounds per Data Health Check | 3 rounds per Data Health Check | 3 rounds per Data Health Check |
| File retention | 24 hours | 30 days | 30 days | 90 days |
Common scenarios
A short list of situations the report puts you in, and how to handle each.
| You see | What's happening | What to do |
|---|---|---|
| No Apply button | No fix is checked yet. The button appears once at least one is. | Check the fixes you want in the Issues list on the report page, then click the Apply button (Apply 2 fixes, for example). |
| A company's email domain wasn't standardized | The company has competing domains with no clear majority (e.g. half of Westmarch contacts use @westmarchltd.com and half use @westmarchltd.co.uk), so the fix leaves it as it is. | Fix those emails by hand, or with Find & Replace. |
| Three Apply Fixes rounds done, but score still under 80 | The chain cap kicks in at three rounds per Data Health Check. | Click "Run a new Data Health Check" under the issues on the last round's page. It opens on the latest cleaned file, and the new check allows three more rounds. |
| Manual-review duplicates (75–84%) | Auto-removable bands stop at 85%. Lower-similarity pairs are flagged in the report but not dropped. | Find those rows in the report's With issues view, decide whether each pair is the same record, and use standalone Deduplicate with a custom threshold if you want them removed in bulk. |
| Score went up but the file looks the same | Apply Fixes can clean issues that don't change visible content (e.g. trimming whitespace, repairing encoding). | Open the cleaned file alongside the original from your job history. The Issues column on the report file is the cleanest way to see what was flagged before fixes ran. |
| File over the row limit on your plan | Free is 2,000 rows, Starter is 50,000, Pro is 75,000, Agency is 150,000. | The first N rows up to your limit are processed, and the job's summary says the total and how many were processed. Either upgrade your plan or use Split File to break the file into chunks first. |
What happens to your data
Your original upload is never modified. The Data Health Check report file and any Apply Fixes output are stored as separate files linked to your account.
Files are deleted from storage after the retention window for your plan: 24 hours on Free, 30 days on Starter, 30 days on Pro, 90 days on Agency. On Starter and above you can also delete a file yourself from Files.
Operelio runs the analysis in your own workspace, and Data Health Check is plain deterministic code, so no AI model ever sees your file. We do not sell your data or use it to train models. The only third parties that touch it are the providers that store and process it for us, listed on our Sub-processors page.
Check your file for duplicates, bad values and gaps, then apply the fixes you pick.
Frequently asked questions
Does Data Health Check change my data?
No. The report runs over your file and produces a separate report file with an Issues column added. Your original upload is never modified. Apply Fixes creates a new cleaned file, also separate from your original.
What plan do I need for Data Health Check?
Everything except the Do Not Contact check runs on Free: every other check, the quality score, the rows by what they need, Apply Fixes, and the annotated Excel output. The Do Not Contact check needs a Do Not Contact list, which is Starter and up. The plans differ on rows per job, file size, and jobs per month.
Why are there two auto-removable similarity bands (90%+ and 85–89%)?
The 90%+ band is conservative: rows that are almost certainly the same record. The 85–89% band catches more cases at the cost of some false positives, useful when you trust your judgment to review them. Remove duplicates takes out rows in both bands. Rows in the 75–84% band are flagged in the report but kept for manual review (auto-removing them caused too many false positives).
What is the chain cap and why is it three rounds?
Each Data Health Check report supports up to three Apply Fixes rounds. After the third round, start a new Data Health Check on the latest cleaned file. The cap exists because most files are clean within one or two passes, and an unbounded chain risks compounding small errors.
Can I see every row that has an issue?
Yes. The report's preview on the job page pages through every row, opening on the rows with issues, and you can search it or go to a row. The downloadable report lists every row too, and Apply Fixes fixes the duplicates, blank rows and values written more than one way that it found.
What's the difference between Apply Fixes and the standalone Deduplicate tool?
Apply Fixes runs against issues that Data Health Check has already detected. It's quicker because the analysis is already done. Standalone Deduplicate gives you adjustable similarity thresholds, lets you pick specific columns to dedup on, and exports a duplicates file alongside the cleaned data. Use Apply Fixes for one-shot CRM-ready cleanup; use standalone Deduplicate when you need finer control.
What file format will I get back?
The report comes back in your file's format on any plan: CSV for a CSV, annotated Excel for an Excel file. The Excel output colors each row's Issues cell by what the row needs (red for Must fix, amber for Should fix, gray for Tidy‑up). Apply Fixes returns the cleaned file in the format you uploaded.
What happens after I apply fixes? Can I send the file to my CRM?
Yes. After applying fixes, click Format for CRM next to the cleaned file. Operelio opens CRM Formatter on it, where you map columns to HubSpot, Salesforce, or Pipedrive fields and push directly. CRM push requires Starter, Pro, or Agency.
Ready to get started?
Upload a file and run your first transformation. Free, no credit card required.