Skip to content
DataUntangler

CRM data cleansing before the import, with an audit trail

CRM data cleansing is easiest on the export, not inside the CRM. Pull the contacts and accounts out as a CSV, merge the duplicates, standardize the fields, and import a file you can vouch for. That way nothing changes in the live system until you approve it.

In-browser your file never leaves your computer

Every row proposed to you before it is applied

CSV log of what you approved and rejected

Clean a file
01 Try it on this page

Load a messy sample and watch it work

The same engine described below, running on your own machine. Nothing is uploaded and nothing is applied until you approve it.

1. Load a file

Your file is read on your own machine. Nothing is uploaded, so nothing can leak.

Or start from a messy sample

Status

Loading the sample file.

File: CRM contact export

Rows

--

Columns

--

Changes

--

Duplicate rows

--

Date formats

--

Blank or invalid emails

--

Load a file to see the diff

Drop a CSV or pick one of the messy samples. Every proposed change appears here as a line you approve or reject.

02 About crm data cleansing

Why the export is the right place to work

Cleaning inside a CRM means editing live records that other people are looking at, with automation and workflows firing on every change. A mistake there is visible immediately and hard to unwind.

On an export you can be careful. You see every proposed change at once, compare rows side by side, and produce a list of what will happen before it happens. That list is also what makes the change acceptable to the account owners whose records you are merging.

A migration checklist

Export contacts and accounts separately

Keep the relationship column so you can rejoin them afterwards.

Clean the fields before matching

Trimming and case folding alone will collapse a surprising number of duplicates.

Review the close matches by hand

Same email is safe to accept quickly. Close name and company matches deserve a look.

Keep the audit log

Attach it to the migration ticket. It is the answer to the first question anyone asks after go live.

Import into a sandbox first

Then compare counts before touching production.

The conversation with the sales team

Merging accounts touches ownership, quota and commission, which is why sales teams resist a cleanup they cannot see. Handing them a list of the exact merges, with the row that was kept and the reason for the match, turns an argument into a review. The matching that produces that list is fuzzy matching, grouped into records by entity resolution, and the system specific walkthroughs are Salesforce deduplication, Zoho CRM deduplication and Pipedrive duplicate contacts.

What a run on a CRM contact export returns

We exported seven contacts the way most CRMs hand them over, with first and last name, email, account, phone, state, created date and annual revenue, and ran the engine on the file. It proposed fourteen field changes and three duplicate clusters, and applied none of them until they were approved.

The field changes are the boring, high value kind: state names to codes, dates written three ways to one ISO date, revenue with dollar signs and commas to a plain number, an email re-keyed in capitals with a trailing space. The clusters are where a person earns their keep. Olivia Hart and OLIVIA HART share an email and are safe to accept. Marcus Reed at Reed Freight LLC and Reed Freight has two emails at one domain, so it is flagged. And Ben Ward at Ward HVAC and Ben Ward at Summit Roofing was proposed on the same name and email user name, flagged because the emails differ. That one should be rejected, and the review step is what lets you reject it before it reaches the CRM.

Who buys CRM data cleansing

The buyer is a RevOps or sales ops lead with a deadline: a migration from one CRM to another, a list import after a trade show, or a territory reassignment that only works if each account exists once. They are measured on whether the pipeline report is right the week after, and they need a record of every merge to show the account owners.

The Analyst plan cleans unlimited exports of up to 25MB each, and Enterprise puts the whole ops team on one invoice with a DPA and purchase orders. See pricing, or run the demo above on your own export first. If the CRM is HubSpot, the walkthrough for its merge rules is HubSpot merge contacts.

03 Read it off a real file

Changes and clusters from a real engine run on a CRM contact export

Field or rows Original Proposed Rule Needs a look
State California CA State standard No
Created Date 03/14/2025 2025-03-14 Date format No
Created Date 14 Jan 2026 2026-01-14 Date format No
Annual Revenue $1,200,000 1200000.00 Currency format No
Email Olivia.Hart@BrightPath.io (trailing space) olivia.hart@brightpath.io Whitespace and email format No
Rows 2 and 3 Olivia Hart twice Merge, keep row 2 Same email address No
Rows 4 and 5 Marcus Reed twice Merge, keep row 4 Same name and company, different email Yes, emails differ
Rows 7 and 8 Ben Ward at two companies Proposed merge Same name, same email user name Yes, reject it

Row numbers count the header as row 1. Phone numbers written two ways (with parentheses and with dots) were left as they were, so normalize phone format in the CRM import mapping if your system needs one shape.

04 Cleaning inside the CRM

Why cleaning it in place is the harder way to do it

Working inside the system feels direct. It is also where the changes become permanent before anyone else has seen them.

Salesforce deduplication

The merge happens on the click

Inside the CRM the merge is applied as you confirm it, and the record it overwrote is not somewhere the ops team can go and read afterwards.

Objects are cleaned separately

Contacts and accounts get their own runs under their own rules, so the two never quite agree about which company a person belongs to.

The sales team hears about it later

The first anyone knows of a bad merge is an account missing from a pipeline review, weeks after the run that removed it.

What working on the export gives you

Every merge is a proposal you can circulate before it is applied, the audit log goes with it, and the import lands in a sandbox first.

05 Before you run it

Questions about crm data cleansing

Do you connect to my CRM directly?
No. It works on the file you export, on every plan, and you load the cleaned CSV back yourself. There are no CRM connectors.
Can I clean accounts and contacts together?
Clean them as separate files and rejoin on your relationship column. Matching works better when each file has one kind of entity in it.
How often should CRM data be cleansed?
Before every import or migration, and on a schedule that matches how fast duplicates arrive. For most sales teams that is monthly or quarterly. Cleaning the export each time keeps the review list short, so a pass takes minutes rather than turning into a project nobody wants to own.
What should I clean in a CRM export before importing it?
Start with the fields that break matching and reporting: email case and spaces, state values, dates in several formats, and currency written with symbols. Then merge duplicates on email, then on name and company, and review the close matches. Keep the audit log with the import ticket.
Will it merge two different people with the same name?
It can propose one, which is why nothing merges without review. In our test two contacts named Ben Ward at different companies were proposed on a shared email user name and flagged because the emails differ. You reject that cluster and both rows go back into the file unchanged.
06 What it costs

Plans for when the file is bigger than the demo

Yearly billing saves 50 percent. There is no free plan, and no card is needed to use the browser demo above.

Yearly billing saves 50 percent, half the monthly price.

Switch to yearly and save 50 percent.

Analyst

Self-serve

One person with files to clean, as many as they like.

$29$59/mo

Billed $348 a year Billed monthly

Buy Analyst, yearly Buy Analyst, monthly
  • Unlimited files
  • Files up to 25MB, about 100,000 rows
  • Exact and fuzzy duplicate detection
  • Dates, numbers, currencies, encoding and casing fixed
  • Every change reviewable before you download
  • Cleaned CSV and a change log, both downloadable
  • Runs in your browser: files never leave your machine
  • Email support

Enterprise

Several people on one invoice, a DPA on request, priced per seat.

$49$98/seat/mo

Billed $588 a seat a year, from 2 seats ($1,176) Billed monthly per seat, from 2 seats ($196)

Buy Enterprise, yearly Buy Enterprise, monthly
  • Everything in Analyst
  • Several people on one invoice
  • DPA on request
  • Invoicing and purchase orders
  • A named contact for support

Payment is by card through our payment provider, monthly or yearly, and you can cancel from your account at any time. The free try is one file of your own, up to 5MB, in the browser demo. Already paid? Sign in.

Clean the file, and be able to show what you changed

Try the demo on your own CSV first. It runs in your browser, it costs nothing, and no card is required.

No card required. Your file never leaves your computer.

Clean a file