How do I fix duplicate contacts in HubSpot?
Merges can't be undone - fix duplicates without losing data.
Quick answer: Use HubSpot's built-in Manage Duplicates tool (Contacts > Actions > Manage duplicates, Professional tier and above) to review and merge AI-flagged duplicate pairs. For hundreds or thousands of duplicates, merge in bulk with Data Hub Pro/Enterprise or a dedicated tool like Insycle or Koalify. Before merging anything, understand two things: merges in HubSpot cannot be undone, and the tool only finds duplicates - it doesn't stop new ones being created. Fixing the source matters as much as the cleanup.
Why do I have duplicate contacts in the first place?
Because HubSpot only deduplicates automatically on two keys: email address and usertoken (the browser cookie). If a person registers with a second email address, gets imported from a spreadsheet without an email match, or is created by an integration that doesn't check first, HubSpot creates a new record. The usual sources, in order of volume:
Imports - lists uploaded without matching on email, or with variant spellings of the same people
Integrations - a connected app (event platform, webinar tool, ERP sync) creating records instead of updating them
Multiple email addresses - the same person using work and personal addresses on different forms
Manual entry - reps creating a contact that already exists under a slightly different name
Knowing which source dominates in your portal changes the fix. A one-off bad import needs a cleanup; a misconfigured integration needs a settings change, or it will out-create any cleanup you run.
How do I find duplicates in HubSpot?
Go to Contacts > Actions > Manage duplicates. HubSpot scans your database and flags likely duplicate pairs by comparing fields like first name, last name, email, phone, company name, and postcode. The tool is available on Professional-tier subscriptions and above.
Two limitations to know before you rely on it:
It shows pairs, capped by tier. The tool surfaces up to 2,000 duplicate pairs on a standard Pro subscription, 5,000 with Data Hub Pro, and 10,000 on Enterprise. If your duplicate problem is bigger than the cap, the tool shows you the tip of the iceberg.
It finds candidates, not certainties. The AI comparison is fuzzy matching - it will surface "J. Smith / John Smith, same company" style pairs, and some of them will be two different people. Every pair needs a human glance before merging.
For a portal-wide picture beyond the tool's cap, export contacts and group by email domain plus name similarity in a spreadsheet, or use a dedicated deduplication app from the HubSpot marketplace (Insycle, Koalify, Dedupely) that matches on rules you define.
How do I merge duplicate contacts?
For a single pair: open the record you want to keep, click Actions > Merge, and choose the duplicate. In the Manage Duplicates dashboard, review each flagged pair and click Merge or Reject.
What happens in a merge, mechanically:
One record becomes primary. For most properties, the primary record's values win; the secondary's values fill in blanks. Choose the primary deliberately - usually the record with the richer history or the correct primary email.
Activities and associations combine. Timeline activity, deals, tickets, and company associations from both records land on the surviving one.
Emails consolidate. The primary's email stays primary; the secondary's email is kept as an additional email address, so future form fills from either address resolve to the same record.
Cookies merge too. Usertokens from both records attach to the primary, so future form submissions from either person's devices deduplicate correctly.
For bulk work: Data Hub Pro and Enterprise allow selecting up to 50 records at a time for bulk merge; beyond that, marketplace tools automate rule-based merging at whatever scale you need.
Can I undo a merge in HubSpot?
No. Merged records cannot be unmerged natively - there is no undo. If you merge two records that were actually different people, the fix is manual: recreate the second contact and rebuild its associations by hand, from whatever export or memory you have.
This is the single most important fact about HubSpot deduplication, and it dictates the working practice:
Export before you merge. A full contact export (with IDs, emails, and key properties) before a cleanup session is your only rollback.
Review low-confidence pairs individually. Same name at the same company is sometimes a father and son, two branch employees, or a shared inbox. When in doubt, don't merge - a duplicate is annoying, a wrong merge is data loss.
Never bulk-merge on name alone. Restrict automatic rules to strong keys: exact email, or email-domain plus phone.
How do I stop duplicates coming back?
A cleanup without prevention buys you a few months at best. The durable fixes:
Match on email everywhere. Every import and every integration should update-by-email rather than create. In import settings, tick the option to update existing contacts; in integrations and middleware, ensure a lookup step runs before any record creation.
Fix the integration that's generating them. Check the create/update logic of each connected app. An event platform or ERP connector matching on name instead of email is a duplicate factory.
Prefer forms that use email as identity. HubSpot forms deduplicate on email and cookie automatically. Custom-built forms that push via API need the same lookup-first logic built in.
Watch the shared-device edge case. Multiple people submitting a form on the same device and browser can be merged onto one record by cookie tracking - common at trade-show kiosks. Use forms with "always create new contact for new email" enabled for kiosk scenarios.
Schedule a monthly pass. Ten minutes in Manage Duplicates each month keeps the queue small enough that every pair actually gets a human review.
When should I get help instead of doing it in-house?
Scale and entanglement are the two signals. If Manage Duplicates is showing you its cap rather than your real number, if the duplicates are entangled with a live integration that keeps recreating them, or if the records carry revenue data (deals, invoices, attribution) where a wrong merge has financial consequences - that's when a structured cleanup with defined matching rules, a survivorship policy, and a tested revert path beats an afternoon of clicking merge. That structured approach is what we do in a CRM Rescue engagement; the deciding factor is usually not the number of duplicates but the cost of merging the wrong two records.
FAQ
Does HubSpot automatically merge duplicates? Only on exact email match or shared browser cookie. Two records for the same person with different email addresses will sit side by side indefinitely until someone merges them.
Is the duplicate tool available on the free version of HubSpot? No - the Manage Duplicates tool requires a Professional subscription or above. On Free/Starter, you can merge records individually via Actions > Merge, or use a marketplace app.
What happens to workflows when I merge contacts? The surviving record keeps the primary's workflow enrolments; re-check any active enrolments after significant merges, and be aware the merged record can re-meet enrolment triggers.
How many contacts can I merge at once? Two at a time natively; up to 50 per bulk action with Data Hub Pro/Enterprise; effectively unlimited via marketplace deduplication tools with rule-based automation.
Do merged contacts count against my contact limit? A merge reduces two records to one, so merging actively lowers your stored (and marketing) contact counts - a useful side effect if you're near a billing tier threshold.
Working on something similar?
Tell us the messy bit - we'll come back with a straight answer.
Get in touch