Key takeaways
- Audit before you change anything. Measure duplicates, empty required fields, format variation and stale records so you know which problem is biggest.
- Export a backup first. Merges in HubSpot cannot be unmerged, and a bulk change in any CRM is hard to reverse.
- Deduplicate in a deliberate order: exact matches, then rule-based near matches, then manual review of ambiguous pairs.
- Standardise with controlled values, such as picklists and validation, so new data arrives clean. Cleaning without prevention is a recurring job.
- Name an owner and a schedule. Data quality decays without one.
01
What is CRM data cleanup, and where should you start?
CRM data cleanup is the work of making the records in your customer system accurate, unique, consistently formatted and complete enough to act on. Start with an audit, not with deleting. You cannot prioritise fixes until you know whether your largest problem is duplicates, missing fields, inconsistent values or records nobody has touched in years.
The order matters because each step makes the next one safer. Auditing tells you what to fix. Deduplicating comes before standardising, since merging two records is easier when their formats are comparable. Enrichment comes last, because paying a provider to fill in fields on records that are about to be merged or deleted wastes money. Prevention is the final step, and the one most teams skip.
Set a survivorship rule before the first merge. When two records disagree about a phone number or a job title, something has to decide which value wins: the most recently updated, the most complete, or the value from the system you treat as the source of truth. Pick one rule per field and write it down. Without it, different people merging on different days produce different outcomes, and you cannot explain later why a value changed.
Do not start if nobody will own the result. A one-off clean makes a CRM look better for a quarter and then it slides back, because the sources of mess, such as forms, imports and manual entry, are still open. Decide who owns data quality first.
02
How do you audit CRM data before changing it?
Pick six measures and count them. For each object you care about, record the number of records, the share with a missing required field, the share that looks duplicated, the number of distinct spellings for fields that should be controlled (country, industry, lead source), the number with no owner, and the number with no activity in a period you define as stale.
HubSpot provides a data quality page for this purpose. Its documentation describes a summary of duplicate and formatting issues over a chosen date range, recommended actions, property insights and a weekly digest you can switch on. In Salesforce, the equivalent is reports and list views built on your fields, together with the duplicate tools covered below. Either way, record the numbers in a spreadsheet with the date. They are your baseline.
Here is an illustrative audit result for a company with 40,000 contacts. Suppose country is free text with 90 different spellings, a tenth of contacts have no owner, and a visible share of company records have two or more entries. Those three findings become the plan: convert country to a picklist, assign owners by rule, and deduplicate companies before contacts, because contact dedupe often depends on a correct company match.
- Record counts per object and per source
- Share of records missing each required field
- Estimated duplicate pairs for contacts and companies
- Distinct values in fields that should be controlled
- Records without an owner
- Records with no activity inside your stale window
03
How do you dedupe safely in HubSpot and Salesforce?
Back up, then merge in tiers. Export the objects you will touch. Handle exact matches first, usually the same email address for contacts and the same domain for companies, then near matches your tool flags, and leave the ambiguous pairs for a person to judge.
HubSpot's duplicates manager compares record property values to surface likely pairs. Its documentation lists the default comparison properties: for contacts, first and last name, email, IP country, phone, zip code and company name; for companies, domain, name, country or region, phone and industry. Results are recalculated as new records are created and checked daily. It requires a Professional or Enterprise subscription, and bulk management and larger pair counts need Data Hub. A merge keeps one primary record, and HubSpot states that merged records cannot be unmerged, so choose the primary carefully and review which property values survive.
Salesforce approaches the same problem through matching rules, which define what counts as a likely duplicate, and duplicate rules, which decide what happens when one is found; check Salesforce Help for the actions available in your edition, such as alerting the user or blocking the save. Salesforce's Trailhead module on data quality and duplicate resolution describes its aim as resolving and preventing duplicate records. The detail to keep is that these are separate jobs: finding and merging what exists, and stopping new duplicates at entry.
| Tier | Match basis | Action | Risk |
|---|---|---|---|
| Exact | Same email, or same company domain | Bulk merge after backup | Low, if the primary record is chosen by a rule |
| Near | Similar name plus shared phone or domain | Review in the tool, merge in batches | Medium; shared inboxes and franchises create false matches |
| Ambiguous | Same name, different company or no other signal | Manual decision or leave alone | High; wrong merges corrupt history |
04
How do you standardise and enrich records?
Standardising means making the same thing look the same everywhere. Convert free-text fields that carry meaning into controlled values, such as dropdowns for country, industry and lead source, then map the old spellings to the new options. Normalise phone formats and capitalisation, and split fields that hold two kinds of information.
HubSpot's data quality page lists formatting issues by property so you can fix them in batches, and its import documentation notes that values must follow any validation rules you have set on a property. Use that to your advantage: set the rule, then fix the exceptions. In Salesforce, picklists and validation rules do the same work at the field level.
Work in small, reversible batches. Change one field across one segment, check a sample of fifty records by eye, then widen the scope. Keep the before-and-after export for each batch and log what you changed, so that if a sales manager asks why a region's industry values shifted overnight, you can show the rule and restore the old value if the rule turns out to be wrong. The extra hour per batch is cheap next to rebuilding a field from memory.
Enrichment fills gaps from outside data, such as firmographics for a company. Use it where the field drives a decision, like employee band for routing, and not as a general top-up. Sample the vendor's output against a few dozen records you know, because provider data is not always right. Check that you have a lawful basis to process and add any personal data, and be careful about overwriting values a person entered by hand. HubSpot's data quality page includes enrichment coverage as a metric, which is a prompt to measure what you gain.
05
How do you stop the mess coming back?
Close the entry points. Most contamination arrives through forms, imports, integrations and manual entry, so make each one apply the same rules. Use dropdowns on forms, validation on properties, a documented import checklist, and duplicate rules that run at creation. Give each integration a clear source-of-truth field so two systems do not fight over the same value.
Then schedule the review. A monthly look at the audit measures takes under an hour once set up, and the weekly data quality digest in HubSpot or a scheduled report in Salesforce keeps the numbers in front of someone. Assign a named owner for approving new fields and imports. Without that role, every team adds fields it needs this week, and within a year the CRM has three versions of the same idea.
Treat staleness as a policy question, not a technical one. Decide what counts as inactive for each type of record, what happens at that point (move to a suppressed segment, stop sending, archive) and who is allowed to override it. A bounced address is clearly dead; a former customer with no recent activity may be your best reactivation list. Keeping those two groups apart is part of the audit, and it stops a well-meant tidy-up from deleting the very records someone wants back next year.
Cleanup is not for every situation. If you are about to migrate to another CRM, clean the data as part of the migration, not twice. If the data is so poor that most records lack an email or company, it may be faster to rebuild from a trusted source than to repair. And do not mass-delete records because they look inactive; a customer who bought three years ago and has gone quiet is not junk, so archive or segment rather than erase.
Was this useful? Send it to someone who owns this problem.
Primary sources and further reading
Use the source material to validate details against your own context and current platform configuration.
- HubSpot Knowledge Base: Manage duplicate records
- HubSpot Knowledge Base: Merge records
- HubSpot Knowledge Base: Data quality overview
- HubSpot Knowledge Base: Set up your import file
- Salesforce Trailhead: Data quality and duplicate resolution
- Salesforce Help: Matching rules overview
This field note follows the XenGrowth editorial policy: primary sources where available, visible limitations, material review dates, and no invented first-hand experience.
Stay with the problem
Related field notes
Revenue OperationsMarketing Audit: A 12-Point Check for Where Your Spend Leaks
GTM StrategySales Enablement for Small and Mid-Size Teams: Build What Sales Will Actually Use, and Measure It Honestly
GTM StrategyBrand Messaging Framework: A One-Page Version That Sales and Marketing Can Both Use, With a Fill-In Table