How to Find and Merge Duplicate Contacts in HubSpot
A client came to us last year with 48,000 contacts. After deduplication, they had 39,000. That's 9,000 duplicates — nearly 19% of their database. They were paying for a higher marketing contacts tier because of phantom records. The duplicates were also splitting activity history across records, making their reporting unreliable and their sales team confused about which "John Smith" to call.
Duplicates aren't just a cosmetic problem. They cost real money and make your CRM actively misleading.
Why You Have More Duplicates Than You Think
The obvious ones are easy: same person submits two forms with slightly different info. But the sneaky duplicates are harder to catch:
- Email domain switches — someone@company.com and someone@gmail.com are the same person. HubSpot doesn't know that.
- Import accidents — someone imports a list without checking "update existing contacts." Now you've got 2,000 new records that duplicate existing ones, minus the activity history.
- Integration sync issues — your other tools create contacts in HubSpot, and the matching logic isn't tight enough. We've seen Salesforce syncs create duplicates at a rate of 5-8% per quarter when the dedup rules aren't configured right.
- Manual entry — a sales rep creates "Acme Corp" because they didn't find "ACME Corporation" in search. Now you've got two company records with contacts split between them.
If you haven't checked your duplicate rate recently, it's probably higher than you'd guess. Our free audit tool includes a duplicate analysis that gives you the number.
Using HubSpot's Built-In Duplicate Tool
HubSpot has a native dedup tool under Contacts > Actions > Manage Duplicates. It works on fuzzy matching — similar names, matching emails, that sort of thing. It's decent for the obvious cases.
A few tips to make it more useful:
- Review duplicates weekly, not monthly. They pile up fast.
- When merging, pick the primary record carefully. The primary keeps its record ID, which matters if other systems reference it. Choose the one with more activity history or the one connected to your integrations.
- Check associations before merging. Both records might be linked to different deals or companies. You don't want to lose those connections.
- HubSpot keeps a merge log, so merges are semi-reversible. But "semi" is doing heavy lifting there — restoring a bad merge is painful.
The Duplicates HubSpot Won't Find
The native tool misses a lot. It's not great at catching:
- Contacts with different email domains (personal vs. work email)
- Name variations beyond simple typos — "Rob" vs "Robert," "Catherine" vs "Kat"
- Contacts with no email address (matched only by name and company, which HubSpot's tool won't flag)
- Company-level duplicates, which are a whole separate headache
For these, you need either custom active lists with matching criteria, Operations Hub's data quality tools, or a third-party dedup tool like Dedupely or Insycle. Which one depends on your volume and how messy things are.
Preventing Duplicates at the Source
Merging is cleanup. Prevention is the real fix.
Forms: HubSpot already matches form submissions to existing contacts by email. But if someone uses a different email, you get a new record. Consider adding a "company" field and using it for secondary matching via workflow.
Imports: Always use "update existing contacts" when importing. Map to email as the unique identifier. If your import doesn't have email addresses, you need a matching strategy before you upload — or you're creating duplicates by default. For more on keeping your imports clean, read why CRM data hygiene matters more than you think.
Integrations: Audit your sync rules. Every integration that creates contacts in HubSpot needs clear matching logic. Check quarterly that it's still working as expected.
Team training: The "always search before creating" rule sounds obvious, but it falls apart when someone's in a hurry. Make the search step part of the documented process, not just a suggestion.
The Bulk Cleanup Approach
If you're sitting on thousands of duplicates, going through them one by one isn't realistic. Here's what works:
- Export your contact list with key fields: email, name, company, phone, create date.
- Sort and identify clusters of likely duplicates using email domain, company name, or phone number matching.
- Decide merge rules: newer record into older? More complete record wins? Record with more activity wins?
- Use HubSpot's bulk merge (up to 3 records at once in the UI) or the API for larger volumes.
- Validate a sample after bulk merging to make sure associations and activity history survived.
For portals with 5,000+ duplicates, this is a project that takes a few days. But the payoff — lower marketing contact costs, cleaner reports, happier sales team — is immediate.
Need help cleaning up duplicate contacts? Check out our ongoing support services or book a discovery call.
Topics
Share
-2.png?width=1000&height=354&name=medium%20(2)-2.png)
Comments