CRM
How to clean CRM data without breaking it
Most CRM cleanups fail for the same reason: people start deleting before they start measuring. Here is the order we work in, and why each step comes where it does.

Most CRM cleanups fail for the same reason: someone opens the export, sees the mess, and starts deleting. Three weeks later nobody can explain why the pipeline report changed, and the sales team trusts the system even less than before.
We have cleaned databases from 500 rows to 25,000, across HubSpot, Salesforce, Zoho, Pipedrive, GoHighLevel and Capsule. The order below is the one we follow every time. The order matters more than any individual step, because each one changes what the next one sees.
Step 1 — Profile before you fix anything
Do not clean yet. Count first. For each field, work out how many records are populated, how many distinct values exist, and what formats appear. A "Country" field with 340 distinct values in a 2,000-row database tells you something a glance never would.
This step gives you the one thing you cannot get later: a baseline. When someone asks whether the cleanup was worth it, you want to be able to say "43% of contact records had no job title, now 4% do" rather than "it looks better".
What to record
- Total records, and records with a valid email
- Fill rate for every field you actually use
- Distinct-value count per categorical field
- Date formats present (you will usually find three or four)
- Current bounce rate from your last campaign, if you have it
Step 2 — Standardise before you deduplicate
This is the step people get wrong, and getting it wrong wastes the entire exercise.
If you deduplicate first, "Acme Corp", "ACME Corporation" and "acme corp." are three different companies. Your dedupe finds nothing. Standardise casing, punctuation, legal suffixes and whitespace first, and those three collapse into one obvious cluster.
Standardise in this order: whitespace and casing, then punctuation, then domain extraction from email addresses. That last one is the highest-value move in the whole process — matching on email domain catches duplicates that name matching never will, because jsmith@acme.com and j.smith@acme.com share a domain even when the names are written differently.
Step 3 — Deduplicate with fuzzy matching, and merge rather than delete
Exact-match deduplication catches the easy cases and misses the expensive ones. Use fuzzy matching across a combination of fields — company name, email domain, and contact surname — rather than any single field.
Then merge, do not delete. For each cluster, keep the most complete version of every field, taken from whichever record has it. If one duplicate has a phone number and another has a job title, the surviving record should have both. Deleting the extras throws away data you already paid to collect.
On one project we removed 320 duplicate contacts from a 1,000-record set that had been merged out of five separate spreadsheets. On another, 450+ duplicates out of roughly 3,000 entries. A duplicate rate between 15% and 40% is completely normal for a database that has been imported into more than once.
Step 4 — Verify emails properly
Syntax checking is not verification. An address can be perfectly formed and still not exist.
Real verification runs in layers. Syntax and DNS validation removes malformed addresses and dead domains cheaply. An SMTP handshake then asks the receiving mail server whether the mailbox exists — without sending anything, so there is no risk to your sender reputation during the check itself. Finally, decay analysis estimates which contacts have changed jobs, which is the failure mode that catches most teams out because the address is still technically valid.
On one automotive B2B database we ran this and found 51.4% of records were unusable. That client had been mailing the list for months.
Step 5 — Normalise phone numbers to E.164
A phone field containing 555-0142, (555) 014-2 and +1 555 0142 is three formats for one number, and none of them can be dialled automatically. E.164 is the international standard: a plus sign, country code, then the number with no spaces or punctuation — +15550142.
You need the country to do this correctly, which is why this step comes after enrichment planning rather than before it.
Step 6 — Enrich the gaps you actually use
Do not enrich everything. Enrich the fields that change a decision.
For most B2B teams that means job title and seniority (for routing and personalisation), company headcount and revenue band (for qualification), and a verified work email where one is missing. Everything else is usually collected because it is available, not because anybody reads it.
Step 7 — Tag, document, and re-import
Before the data goes back, add lead status and source tags so the team can segment from day one. Then write down what you did: which fields were standardised, how many duplicates merged, what verification each address passed. We deliver this as an accuracy report with every project, because a cleanup nobody can audit is a cleanup nobody will trust.
How often should you do this?
B2B data decays at roughly 25% a year. People change jobs, companies get acquired, domains lapse. A one-off cleanup buys you maybe twelve months before the same problems reappear.
A quarterly verification pass on your active segments costs a fraction of a full rebuild and stops the decay compounding. That is why several of our clients moved from project work onto a monthly maintenance arrangement after their first cleanup.
The short version
- Profile and record a baseline
- Standardise formats
- Deduplicate with fuzzy matching, merging rather than deleting
- Verify emails in layers
- Normalise phone numbers to E.164
- Enrich only the fields you use
- Tag, document, re-import
Want this done for you?
We do exactly this, every day — 450 projects, 300,000+ records, 282 client reviews. Send us a sample file and we’ll tell you what’s wrong with it, free, within one business hour.
Keep reading
Related guides

Deliverability · 7 min read
Why Your Cold Emails Bounce — And How to Fix It Before It Costs You
A bounce is not a failed email. It is a small, permanent withdrawal from your sender reputation — and the balance takes months to rebuild.
Read the guide →
Lead Gen · 8 min read
LinkedIn Sales Navigator vs Apollo.io: Which One in 2026?
This comparison usually gets written by someone selling one of them. We pay for both, every month, and use them for different jobs.
Read the guide →Data you can actually trust
Tell us what’s broken. We’ll tell you what it would take to fix — and if the answer is “nothing”, we’ll say that too.