HubSpot deduplication that shows every duplicate contact before it merges
HubSpot deduplication means finding the records in your portal that describe the same person or company and merging them into one. HubSpot does part of that job natively, on Professional and Enterprise, through Actions and then Manage Duplicates. It matches on properties it already trusts. Everything that got in through a spreadsheet import, a trade show list or a form filled in with a personal address is still sitting there, and this page is about that half.
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 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.
2. Review every change
Nothing approved yet.
Nothing is applied to your file until you approve it, and your original file is never modified.
Proposed changes
Original Proposed
Showing the first 400 changes. 0 more are in the audit log download.
Duplicate clusters
Merge or keep both
Want this on bigger files, on a schedule, with your team?
Saved recipes, scheduled cleans and shared seats are part of the paid plans. Start with your email and we will send you a code.
3. Take the result
The downloads work without an email. The cleaned CSV contains only the changes you approved.
Why HubSpot still shows duplicate contacts after you run Manage Duplicates
The native tool compares properties. Email address, first and last name, phone, zip, IP country, company name. Two records that share one of those strongly enough get proposed as a pair, and you review them field by field before they merge. It is a good tool for the duplicates it was built for: the same person entered twice, in the same way, by two people.
It is a property match, so it stops where the properties stop agreeing. Jose Munoz at jmunoz@ridgeline.com and Jose Munoz at jose.munoz@ridgelinepartners.com are two contacts with two emails, two domains and no phone on either record. Nothing in the property set says they are one person. The pair is invisible to the match and stays in the portal through every pass you run.
That is the shape of most duplicate debt in a HubSpot portal. It arrived in bulk, from a file, with fields that were typed rather than validated, and it does not look duplicated to a rule that reads one field at a time.
What a property match sees and what a fuzzy pass sees
| The pair in your portal | Property match | Fuzzy pass on the export |
|---|---|---|
| Same email, entered twice | Found | Found |
| Same email, different case or trailing space | Usually found | Found |
| Different email, same person and company | Missed | Found and scored |
| Acme Corp against Acme Corporation | Missed | Found after the suffix is normalized |
| Markus Hall against Marcus Hall | Missed | Found by edit distance |
| Personal address against work address | Missed | Found when name and company agree |
| Company record against its own subsidiary | Missed | Proposed, and usually one you reject |
The last row matters as much as the rest. A matcher that is confident enough to catch the middle rows will also propose pairs that are genuinely two records, which is the reason every proposal on this site is a line you approve rather than an action already taken.
The comparison is not native against export. It is exact against approximate. Running both is the whole point: let HubSpot clear the easy pairs inside the portal, then work the export for the ones a field comparison was never going to reach. The matching itself is ordinary fuzzy matching, applied to a contact file instead of a database column.
How to deduplicate HubSpot contacts on the export
- 1 Export contacts from HubSpot with the Record ID column included. That column is what lets you act on exactly the right records afterwards, and it is the one people forget.
- 2 Load the CSV into the demo above. Nothing uploads: the pass runs in your browser, on your machine.
- 3 Read the clusters. Each one names why it matched, shows the score, and marks the most complete row as the one to keep.
- 4 Approve the merges you agree with and reject the rest. A subsidiary that matched its parent, two people who share a name at the same firm, a franchise location that is a real second account.
- 5 Export the audit log. It lists the losing Record ID against the surviving Record ID, which is the working list your HubSpot admin merges from inside the portal.
Merging in HubSpot is a one way door
A merge in HubSpot is not something you unwind later. The two records become one, and the losing record is no longer a place you can read the old field values from. If the merge was wrong, the argument about which value was correct is an argument nobody has the evidence for.
That is the reason the review step is worth the extra half hour. The export pass costs you one CSV download and one upload, and what it buys is a list you read before anything in the portal changes, plus a file that records what you decided. Six weeks later, when someone asks why a contact has the wrong company, the answer is in a column rather than in a memory.
The same reasoning applies to any CRM export, which is why the general version of this page is CRM data cleansing and the Salesforce version is Salesforce deduplication. The pass is identical. Only the column names change.
When a direct connection is the better answer
Working on the export is the right shape when the duplicates arrived from files, when you want the matching to be fuzzy rather than rule based, and when someone has to sign off on the merge list before the portal changes. It is deliberately a manual loop, and the merges are applied by a person.
If what you want instead is a scheduled job that runs inside the portal and writes back through the API, that is a different product and you should buy one. Insycle connects to HubSpot directly and treats deduplication as one operation in a broader data operations platform. We do not connect to your portal and we are not pretending otherwise. What this data cleaning tool gives you is the file, the matching and the record of the decision.
Two contacts a property match reads as two people
| Record ID | First name | Last name | Company | Matched on | |
|---|---|---|---|---|---|
| 101948 | Jose | Munoz | jmunoz@ridgeline.com | Ridgeline Partners | Kept: more complete record |
| 118307 | Jose | Munoz | jose.munoz@ridgelinepartners.com | Ridgeline Partners LLC | Name exact, company fuzzy, score 0.94 |
No property agrees except the name, and a name on its own is too weak for HubSpot to propose a merge. Adding the normalized company to the comparison is what makes the pair readable, and the Record ID column is what makes it actionable once you have approved it.
What the portal cannot tell you about the pairs it did not find
A native pass reports what it matched. It has no way of reporting the duplicates its rules were never shaped to see, so a clean result reads the same as a clean database.
CRM data cleansingThe match is only as wide as the properties
Two records that disagree on every compared field are two records as far as the rule is concerned, and they survive every pass you run afterwards.
The merge happens where you cannot review it later
Once applied, the losing values are gone, so a merge that turns out wrong is not a merge anyone can reconstruct.
Imports put the duplicates back
If the duplicates came from a file, the next file brings more, and cleaning inside the portal never touches the process that produced them.
What the export pass adds
Fuzzy matching on name and normalized company, every cluster scored and shown to you before anything is applied, and a CSV of the merges you approved keyed on Record ID.
Questions about hubspot deduplication
Does HubSpot have a deduplication tool?
Can you undo a merge in HubSpot?
How do I find duplicate contacts in HubSpot with different email addresses?
Does Datauntangler connect to my HubSpot portal?
Should I deduplicate before or after importing a list into HubSpot?
Plans for when the file is bigger than the demo
Yearly billing is two months free. There is no free plan, and no card is needed to use the browser demo above.
Yearly billing is two months free.
Switch to yearly and two months are free.
Analyst
One ops person or analyst with files to clean.
$49$59/mo
Billed $590 a year Billed monthly
- 50,000 rows a month
- Files up to 25MB
- 1 seat
- Fuzzy matching and entity resolution
- Reviewable diff and audit log export
- 3 saved cleaning recipes
- Email support
Team
RecommendedA RevOps or marketing ops team sharing the work.
$166$199/mo
Billed $1,990 a year Billed monthly
- 250,000 rows a month
- Files up to 100MB
- 5 seats
- Everything in Analyst
- Unlimited saved recipes
- Scheduled recurring cleans
- CRM connectors (Salesforce, HubSpot)
- Priority email support
Business
A data team cleaning for several departments.
$499$599/mo
Billed $5,990 a year Billed monthly
- 1,500,000 rows a month
- Files up to 500MB
- 20 seats
- Everything in Team
- API access
- Roles and permissions
- Priority email support
Enterprise
A head of data who needs it defensible across the company.
Talk to sales
Custom terms, invoicing and PO
- Unlimited rows and custom file sizes
- Unlimited seats
- Everything in Business
- SSO (SAML / Okta)
- Custom data retention
- DPA on request
- Named support contact
- Invoicing and PO
- Named onboarding
A row is one data line in a file you process, not counting the header. The browser demo is free to use and is not a plan: it reads CSV and TSV files up to 5MB on your own machine.
Related pages
- CRM Data Cleansing Before a Migration or an Import
- Salesforce Deduplication on the Export, Before It Goes Back
- Fuzzy Matching Tool - Match Names, Companies and Emails
- Data Deduplication Tools That Match More Than Exact Values
- Data Cleaning Software for CSV and Spreadsheet Files
- Data Quality Tools: How to Compare Them Before You Buy
- Entity Resolution for Customer and Company Records
- Data Hygiene for Contact Lists and CRM Records
- Excel Data Cleaning Without Formulas or Macros
- Data Cleaning Services vs Doing It In House
- Address Standardization for Shipping and Billing Files
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.