5-page guide · Data quality

The CRM cleanup checklist

Twelve checks that find the duplicate records, dead deals, and silent data rot costing you deals you already earned. Run it in an afternoon, on any CRM.

Most small teams do a CRM cleanup the same way: someone loses a Saturday to a spreadsheet, fixes what they can stand to look at, and the rot starts again on Monday. This checklist is the version that sticks.

Why data rot costs more than it looks

A duplicate record is not an annoyance. It is two half-histories of the same customer, which means the follow-up goes to the wrong address, the invoice chases the wrong contact, and the person who finally notices assumes the deal was never real. Multiply that by a year of quiet accumulation.

The checks below are ordered by damage found per minute spent. If you only have an hour, the first four are the hour.

The twelve checks

1. Exact-match duplicates. Sort by email, then by phone. Anything appearing twice is a merge candidate, but check which record holds the real history before you pick a survivor: the newer row is often the emptier one.

2. Near-match duplicates. “Acme Dental” and “Acme Dental Ltd” are the ones that survive an exact-match pass. Sort alphabetically by company and read.

3. Records with no owner. Anything unassigned is nobody’s job, which is why it has not moved.

4. Deals with no activity in 30 days. Not to delete, to decide. Every one is either a follow-up you owe or a loss you have not admitted.

5. Missing fields that you actually act on. Pick the three fields you genuinely use to make a decision and count the records that lack them. Ignore the rest: a column being empty only matters if something depends on it.

6. Broken email formats. Cheaper to find with a filter than with a bounce. This is a syntax check, not a deliverability check.

7. Role addresses standing in for people. The info@ and sales@ addresses sitting on a contact record are not wrong, but they are not a person, and counting them as one skews everything you conclude about engagement.

8. Inconsistent phone and address formats. Costs nothing to standardise and makes every later de-duplication pass more accurate, which is why it belongs before the merging rather than after.

9. Contacts with no company link. Orphaned people are invisible to any account-level view.

10. Closed-won deals with no invoice. Work you delivered and never billed. This check pays for the afternoon on its own.

11. Stages and custom fields that no longer match how you sell. If half the pipeline sits in one stage, the stage is doing no work. If a custom field is empty on most records, it is a tax on every record created. Delete both.

12. Permissions you have outgrown. Who can export the whole database? Answer it deliberately rather than by accident.

Making it the last cleanup

Every check above is a rule a machine can run continuously. Validation at the point of entry catches the format errors. Enrichment fills the gaps from data you already hold. Continuous de-duplication merges the near-matches before they compound. Automation flags the stale deals on day 30 rather than day 300.

That is the difference between a cleanup and a system that does not need one. The checklist is worth running whatever CRM you use, but if you find yourself scheduling it quarterly, the problem is not the data.

Want the counting done for you?

The data quality skills pack runs these checks against your own export with Claude Code or any coding agent. It reads CSV and multi-sheet Excel files, it uses the same matching rules described here, and it runs entirely on your machine.

Keep going

Related reading