Most owners know their CRM is a mess. What they underestimate is how much the mess costs, because the cost arrives as small friction rather than a visible failure. A salesperson does not call a good lead because the record looks stale. Two people contact the same company in one week. A report shows 4,200 accounts when the real number is closer to 3,000, so nobody trusts the reports and everyone goes back to spreadsheets.
Cleaning this by hand is a job nobody wants and nobody has time for, which is why it never happens. AI changes the arithmetic enough that it is now worth doing. The habits that keep data clean going forward are a separate discipline, covered in the CRM data hygiene guide. This piece is about the one-time cleanup and the tooling for it.
What a five-year-old small-company CRM looks like
The pattern is consistent across the companies I see, and it is never the fault of any one person.
Company names appear in three or four forms. Pacific Marine Supply, Pacific Marine Supply Ltd., Pacific Marine Supply Ltd, and PMS Ltd. Each one has its own record with its own deals and notes attached, so no single record shows the real history.
Job titles are free text, which means you have VP Sales, V.P. of Sales, Vice President Sales, Sales VP, and Head of Sales all sitting in the same field. Filtering by seniority is impossible, so nobody filters.
Industry is blank on most records, because it was optional and nobody filled it in. Segmenting a campaign by industry therefore means either guessing or not segmenting.
Note fields hold long pasted email chains, meeting notes from four years ago, and single words like "called". Finding out what happened with an account means reading six paragraphs of history.
And a portion of the contacts have left their jobs. Bounced emails, dead phone numbers, records for people at companies that no longer exist.
The jobs AI does well on messy records
Four tasks, and these tools handle all four better than a person doing it manually, because the work is pattern matching at volume.
Finding duplicate candidates. Export your company records, give the list to an AI tool, and ask it to group records that appear to be the same organisation and explain why. It catches the variations a simple exact-match search misses: abbreviations, legal suffixes, typos, shortened names, the same company under a trading name. What comes back is a list of suggested groups with reasons. That is the useful output.
Standardising names and titles. Give it your list of 340 distinct job titles and a target list of eight seniority levels, and ask it to map each one. This is the single fastest improvement to a CRM, because a clean seniority field is what makes segmentation possible at all. The same works for company names, provinces, and country fields.
Filling in industry. Give it the company name and the website address and ask it to classify the industry against a list you define. Constrain it to your list, because an open-ended ask produces forty categories and you wanted eight. Accuracy on this is good but not perfect, which is fine, because an industry field that is 90 percent right beats one that is 95 percent empty.
Summarising note fields. Take a record with 900 words of pasted history and ask for three sentences covering what they bought, what they cared about, and how the relationship ended. Put the summary in a new field and keep the original. This is the change salespeople notice immediately, because it turns a wall of text into something readable before a call.
What it must never do on its own
Three actions, and the rule is absolute for all three.
Deleting. No automated process deletes a CRM record. Mark records for review, move them to an archived status, add a flag. A record that looks dead may carry a deal history that somebody needs next quarter, and an AI suggestion is not evidence that a company no longer exists.
Merging. This is where the real damage happens, and it is not recoverable in most systems. Two companies with similar names can be genuinely different: a parent and a subsidiary, two branches of a franchise, two firms with the same surname in them. A merge collapses their histories into one record and you cannot pull them apart afterward. The tool proposes merges. A person approves each one.
Guessing contact details. If an email address is missing, a model will happily produce [email protected] because that is the common pattern. It looks right, it is unverifiable, and if you email it you either bounce or reach a stranger. Any contact detail that was not in your data or confirmed from a source you can name does not go into the field. Leave it blank. A blank field is a known state; an invented one is a trap.
The general shape of this rule holds across most AI work: the tool suggests, a human commits anything irreversible.
Review before commit, every time
The loop that makes this safe has four steps and no shortcuts.
- Export. Pull the records to a spreadsheet. Never point a tool at your live database with write access during a cleanup project.
- Suggest. Ask the tool for its proposed change in a new column beside the original value, never replacing it. You want old value and new value side by side.
- Approve. A person reads the column. For standardisation work you can scan fast, because the errors stand out. For merges you check every single row.
- Import. Bring the approved changes back, and take a full backup export first so you can restore if the import behaves unexpectedly.
Two extra protections are worth the trouble. Add a field recording the date and method of each change, so that in eight months you can tell which values were cleaned automatically and which were entered by a person. And run the whole loop on 100 records first to see what the tool does with your actual data before committing to a run of thousands.
Work in batches, not in one pass
The temptation is to export twelve thousand records, process everything, and import once. Do not.
Large batches lose quality. These tools handle long lists less reliably than short ones, and errors in the middle of a two-thousand-row response are easy to miss. They also make review impossible in practice, because nobody reads two thousand rows carefully. The review becomes a formality, which defeats the point.
Work in batches of a few hundred to a thousand. Sort so the most valuable records come first: current customers, open deals, contacts touched in the last year. Those get careful attention. Cold records from four years ago get a faster pass, and if you run out of appetite halfway through the project, you stopped at the right place, because the records that matter are already done.
Batching also lets you improve as you go. After the first batch you will notice the tool mishandles one pattern in your data, you adjust the instruction, and batch two is better. A single large run gives you no chance to learn.
What the whole job costs in time
For a company with roughly ten thousand contact records and a few thousand companies, here is the honest shape of it.
Setup is half a day: exports, deciding your target lists for industry and seniority, writing the instructions, running the 100-record test. Standardising titles and company names across the whole database is a day or two, mostly review time. Duplicate review is the slow part, because every proposed merge gets checked individually, so call it two to three days depending on how many candidates come back. Note summarisation runs in the background and the review is light.
So a week of work, spread over two or three weeks, for a database that has never been cleaned. Doing the same job by hand is a month or more, which is exactly why it never got done. The tool cost itself is small next to the labour, so it does not change the decision.
Do it before any project that depends on the data: a new email programme, a scoring system, a reporting rebuild. Building on top of dirty records means rebuilding twice, and the scoring and nurture work in particular will produce nonsense if the underlying fields are empty or inconsistent.
Stopping the mess from coming back
A cleaned CRM degrades again in about two years unless the entry process changes. Four small fixes carry most of the weight.
Make the fields that matter required at creation, and keep that list short. Industry, seniority level, and source. Requiring twelve fields means people paste junk into all twelve.
Turn free-text fields into dropdowns wherever the values are finite. Job titles and industries should be lists. This one change prevents most of what you just spent a week fixing.
Turn on the duplicate warning your CRM already has, and make sure it fires before a record is saved rather than after.
Put a recurring thirty-minute check in one person's calendar each month: new records with blank required fields, obvious duplicates from the last thirty days, bounced emails marked inactive. Thirty minutes a month is the difference between a database that stays usable and another week-long project in 2029.
The takeaway
Use AI for the pattern work: grouping duplicate candidates, mapping 340 job titles to eight levels, classifying industries against your list, and turning long note fields into three readable sentences. That is the bulk of the job and it is the part that was never going to get done by hand.
Keep three actions under human control with no exceptions. No automated deleting, no automated merging, and no invented contact details. Export, suggest into a new column, approve, import, with a backup taken first.
My verdict: a week of structured work replaces a month of manual effort, and the result is a database your team will actually use. Then spend thirty minutes a month keeping it that way, or you will be reading this article again in three years.