HubSpot duplicate records: how to find, merge and prevent them
How HubSpot deduplicates contacts and companies, how to merge duplicates safely, and the 2026 data quality updates that help stop new ones appearing.
Duplicate records in HubSpot usually come from a handful of predictable places: imports without a unique identifier, integrations that create companies through the API, and forms where people use a different email address. The fix is a short routine: understand how HubSpot matches records, clear the backlog in the Data Quality tools, merge carefully (merges can't be undone), and close the gaps that keep creating new duplicates.
HubSpot also shipped several data quality changes in August and September 2026, including higher duplicate pair limits, smarter handling of identical rows in imports and a way to restore values from property history. This guide reflects what is true at the time of writing (November 2026).
How HubSpot decides two records are the same
According to HubSpot's knowledge base, HubSpot automatically deduplicates contacts by email address and companies by domain name. Everything else relies on you. In practice that means:
- Contacts: creating a contact manually with an existing email triggers an alert, a form submission with a known email updates the existing contact, and an import row with a matching email updates that contact. An import row with no email or other unique identifier creates a new contact.
- Companies: the primary company domain name is the match key for manual creation, forms and imports (imports also check secondary domains). A row or submission without a domain creates a new company.
- Deals, tickets and custom objects: there is no automatic deduplication. You match them on Record ID or on a custom property set to require unique values.
One exception catches many teams out. HubSpot notes that companies created through the API, including by installed third-party sync apps, are not deduplicated by domain. If your company count is growing faster than your customer base, check which integration is creating those records.
Find the duplicates you already have
The Data Quality area sits under Data Management > Data Quality, and at the time of writing HubSpot labels it as beta. It has tabs for an overview, managing duplicates, formatting issues, data enrichment and property insights. Users need data quality tools access plus the right view or edit permissions for contacts and companies.
On the Manage duplicates tab you can review suggested contact and company pairs, merge them, reject pairs that aren't duplicates (so they stop coming back) and export the list. HubSpot's August 2026 product update raised duplicate pair limits across plans, up to 100,000 pairs per object depending on your subscription, which helps older portals with years of import history.
Some features depend on Data Hub. HubSpot's documentation lists duplicate alerts, automation rules, property details and anomaly alerts as Data Hub Professional and Enterprise features, and bulk formatting actions as Data Hub Starter and above. Check your own subscription before planning around them.
Merge safely: what actually happens
Merging is the step to slow down on. From HubSpot's merge documentation:
- Merges cannot be undone. There is no unmerge.
- Timeline activity and associations from both records carry over to the remaining record. Activity can take up to 30 minutes to appear.
- By default the merged record gets a new Record ID. The old IDs are kept in a merged IDs property, so you can still search for them, but anything outside HubSpot that stores Record IDs (a data warehouse or custom integration, for example) may need updating.
- For contacts, the secondary contact's email address stays permanently associated with the primary contact.
- If you use the Salesforce integration, only the primary contact keeps syncing.
- Records that have been part of 250 or more merges in total can't be merged again.
There is useful news in the August 2026 release: the record you keep now stays enrolled in active workflows when you merge duplicates, so a merge no longer drops a contact out of a running nurture.
Rule of thumb: export a backup and review a sample of pairs by hand before any large round of merges.
A clean-up routine for small teams
- 1 Export a backup of contacts and companies, including Record IDs, before you change anything.
- 2 Fix companies first. Contacts associate to companies, so tidying company duplicates first means fewer messy associations later.
- 3 Work through the Manage duplicates tab in batches. Reject false positives, such as two colleagues who share a generic company inbox, so they don't reappear.
- 4 Clear formatting issues in the Formatting issues tab, such as stray spaces, inconsistent capitalisation and phone formats. Consistent values make matching easier.
- 5 Review property insights for properties with no data or no use, and hide or archive the ones nobody needs.
- 6 Turn on the weekly data quality digest in notification settings so someone sees the trend every week.
If a clean-up goes wrong, the September 2026 release gives Super Admins a way to restore values from a property's history: from a property history row you can preview and restore the affected records. It is a helpful safety net, not a replacement for a backup.
Stop new duplicates at the source
| Source of duplicates | What to change |
|---|---|
| CSV imports | Include Email for contacts, domain for companies, or a Record ID column to update existing records. HubSpot suggests checking for existing records before importing external files. |
| Multi-object imports | Since August 2026, HubSpot detects and deduplicates identical rows in multi-object imports, reducing duplicate associations. Clean the file first anyway. |
| Integrations and sync apps | Check how each app matches records. API-created companies skip domain deduplication. |
| Deals, tickets and custom objects | Store a unique ID from the source system in a property that requires unique values (up to ten such properties per object). These aren't supported in forms. |
| Forms | Since September 2026 you can block up to 1,000 email domains across every form, which helps keep throwaway sign-ups out. |
| Manual entry | Use property documentation (added in August 2026) to show data entry instructions on record pages, so the team enters values the same way. |
Frequently asked questions
Can I undo a merge in HubSpot?
No. HubSpot states that merged records cannot be unmerged. Export a backup first and review pairs before merging.
Does HubSpot deduplicate deals automatically?
No. Use Record IDs on import, or a custom property that requires unique values, such as an order or opportunity ID from your source system.
Do I need Data Hub to manage duplicates?
The data quality tools are available across many hubs and tiers, but some features, such as duplicate alerts and automation rules, are listed for Data Hub Professional and Enterprise. Compare HubSpot's knowledge base with your own subscription.
How often should we check for duplicates?
A monthly look at the duplicates tab is a sensible starting point for most small teams, with an extra review after any large import or new integration.
Need help cleaning up your HubSpot data?
We set up and tidy HubSpot portals as part of our HubSpot services, including import mapping, integration rules and property clean-up. If you are connecting HubSpot to other systems, our post on Node.js integrations for Shopify and HubSpot CRM covers how to design syncs that match records properly. Get in touch to talk through your portal.
Sources: HubSpot: deduplicate records, HubSpot: use data quality tools, HubSpot: merge records, HubSpot August 2026 product updates, HubSpot September 2026 product updates
(over to you)
Planning a build like this?
Tell us what you're building and we'll come back with ideas and next steps.