Every CRM accumulates mess: duplicates, half-filled records, five formats for the same phone number, contacts who changed jobs years ago. A CRM data cleanup fixes that — but only if it is run as a repeatable process rather than a heroic one-off. This is the complete checklist we use with Dynamics 365 customers, applicable to any CRM.

Why most cleanup projects fail

Cleanup projects fail in predictable ways: they start without a baseline (so nobody can prove progress), they try to fix everything at once (so they stall), they clean records manually in spreadsheets (so they take months and burn the team out), and they stop at cleaning without fixing the inflows (so the mess returns within a quarter). The checklist below is ordered specifically to avoid those four traps.

The CRM data cleanup checklist

Step 1 — Measure the baseline

Before touching a record, capture the numbers: duplicate rate per table, completeness of the fields your processes depend on, and how many records haven’t been touched in a year. This takes an afternoon with the right tooling — a free 15-day trial covers the duplicate side of the baseline in one run. Write the numbers down; they are your before picture.

Step 2 — Standardize formats

Normalize before you deduplicate: phone numbers to one format, consistent casing on names, one value per country, trimmed whitespace. Standardization is mechanical, safe to automate, and it makes the next step dramatically more accurate — two records that looked different are often the same record wearing different formatting.

Step 3 — Deduplicate the core tables

Run detection with exact, fuzzy and phonetic matching on Accounts, Contacts and Leads first — they carry the money. Review the merge groups, set master-record rules (newest wins, or most complete wins), and bulk-merge. History must survive: every activity, case and opportunity from the losing records reparented onto the master.

Duplicate detection results grouped into merge groups
Detection results organized as merge groups, review in batches, then bulk-merge.

Step 4 — Fix incomplete and invalid records

With duplicates gone, run your data quality rules: required fields per table, valid email formats, sensible dates. Fix in bulk where a value can be derived (country from phone prefix, casing, formats) and queue the rest for the record owners in manageable batches.

Step 5 — Decide what to archive

Not every record deserves rescue. Contacts with hard-bounced emails and no activity in two years, leads dead for three — deactivate them. A smaller, truthful database beats a large, flattering one, and your storage bill and search results both improve.

Step 6 — Close the inflows

This is the step most cleanups skip, and the reason they get repeated. Turn on point-of-entry duplicate checking for users, imports and integrations; make every connector match against existing records before creating new ones. From this point, the mess stops growing.

Step 7 — Put the numbers on a dashboard

Track the same numbers you baselined in Step 1 — continuously. When duplicate rate and completeness are visible in a monthly review, cleanup becomes maintenance instead of a recurring crisis.

Scheduled background jobs running detection and merge
Scheduled jobs keep detection, merging and standardization running after the cleanup.

Ten signs your CRM needs a cleanup

  • Sales reps keep personal spreadsheets because they “don’t trust the CRM”.
  • The same customer appears twice in pipeline reports — with different owners.
  • Email campaigns bounce above 5%, or the same person receives everything twice.
  • Customer counts differ between the CRM and finance, and nobody can explain why.
  • Search returns three versions of a company and users pick one at random.
  • A GDPR deletion request takes hours because the person exists in several places.
  • Copilot or AI summaries confidently state things that are out of date.
  • Dashboards need manual “correction” before they go to management.
  • Imports are feared, because every import has historically created a mess.
  • Nobody can say what the duplicate rate is — which usually means it is high.

Three or more of these is not a tooling curiosity; it is measurable revenue leakage — wasted selling time, misdirected marketing spend and decisions made on inflated numbers.

What to automate and what to keep human

The efficient split is clear-cut. Automate: detection (scanning millions of rows for candidates), standardization (formats never need human judgment), the merge execution (reparenting history is mechanical and error-prone by hand), and monitoring. Keep human: the merge policy (which record wins and why), borderline match review (the 5–10% of groups the algorithms flag as uncertain), and archiving decisions (whether a dormant account is dead or strategic). Teams that flip this — humans doing mechanical merging, automation making judgment calls — get the worst of both: months of tedium and mistakes no one can audit.

How long does a CRM cleanup take?

With automation: the baseline scan takes an afternoon; deduplicating the core tables of a mid-sized CRM (100,000–1M records) takes one to two weeks, most of it human review time in small batches; standardization and rule fixes a few days more. The months-long horror stories come from manual, spreadsheet-driven cleanups — the approach, not the data, is what makes cleanup slow. Our pre-migration cleaning guide covers the special case where a migration deadline is attached.

Cleanup in Dynamics 365 specifically

Everything above runs natively inside Dynamics 365 with the Data Quality App: fuzzy and phonetic detection across millions of records, bulk merge with configurable master rules, standardization and validation rules on any Dataverse table, and dashboards for the ongoing numbers — without your data ever leaving your environment. The 15-day trial covers Steps 1–3 for free: scan, review, and see your real duplicate rate before spending anything.

Frequently asked questions

Should we clean data before or after a CRM migration?

Before. Migrating dirty data gives the mess new record IDs and destroys your baseline. Clean in the source system, migrate the clean result — see the migration cleaning guide for the full argument.

How often should a CRM be cleaned?

Once properly — then never as a project again. With point-of-entry prevention and scheduled background detection in place, maintenance is a ten-minute weekly review of new merge groups plus a monthly look at the dashboard.

What’s a normal duplicate rate?

Unmanaged CRM databases commonly run 10–30% duplicates on contact-type tables. After a proper cleanup with prevention in place, under 1% is a realistic steady state.

Can AI do the cleanup for us?

AI helps most with matching (judging whether two similar records are the same real-world thing), and that is exactly where fuzzy and phonetic algorithms operate. But merging is a business decision — which record wins, which values survive — and you want deterministic, auditable rules there, not improvisation. Meanwhile, every AI feature reading your CRM (like Copilot) performs only as well as the data you feed it: cleanup is what makes the AI good, not the other way around.

Improve your data quality in Dynamics 365

The Data Quality App keeps records complete and correct with data quality rules at the point of entry, finds duplicates with fuzzy and phonetic matching, resolves them with bulk merge and measures your data health over 30, 60 and 90 days. Native in your own environment, free for 15 days.

Start your free 15-day trial See the Data Quality App