How Do You Find and Merge Duplicate Contacts in HubSpot?
Quick answer
In HubSpot, go to Contacts, click Actions, then Manage duplicates. The tool lists suspected duplicate pairs and lets you merge or reject each one. It needs Professional or Enterprise, merges cannot be undone, and records stop merging after 250 combined merges.
Key takeaways
- Open Contacts, click Actions, then Manage duplicates. The tool lists suspected pairs, scores their similarity and lets you merge or reject each one. HubSpot's help page lists it for Professional and Enterprise subscriptions (checked Oct 21, 2026).
- HubSpot dedupes on its own by Email for contacts and by primary Company domain name for companies. Names, phone numbers and companies created through the API are not matched automatically, so those pairs need review.
- A merge is permanent. HubSpot states that merged records cannot be reverted, and records stop merging once they share a combined total of 250 or more merges.
- On a merge the primary record's values win, the oldest create date is kept, all activities and associations carry over, and the secondary email or domain is kept as an additional value on the surviving record.
- Most new duplicates come from imports without a unique identifier. Include Email, Company domain name or Record ID in every import file, and drop the Record ID column when you match on a secondary email.
You have two records for the same person, reps are emailing both of them, and you cannot tell how many more are hiding in the database. The fix is in the CRM already if your plan includes it: open Contacts, click Actions, then Manage duplicates. HubSpot lists suspected duplicate pairs, scores how similar each pair is, and lets you merge or reject them one at a time or in bulk.
This page covers where the tool lives, which plans have it, what HubSpot dedupes on its own and what it leaves to you, the exact merge steps, and the limits that stop a merge. Every figure comes from HubSpot’s knowledge base, read on October 21, 2026.
Where is the Manage duplicates tool in HubSpot?
It sits under Actions on the Contacts and Companies pages: go to Contacts (or Companies), click Actions in the top right, then Manage duplicates. Custom rules, merge rules and the audit log live in a second place, under Data Management > Data Quality > Manage Duplicates.
You need the Data quality tools permission plus Edit access set to All contacts or All companies, or Super Admin. The plan side is where people get stuck. HubSpot’s Manage duplicates article splits it like this:
| What you want | What HubSpot lists as required |
|---|---|
| Review and merge pairs one at a time, up to 10,000 pairs | Marketing, Sales, Service, Data or Smart CRM Hub at Professional or Enterprise |
| Bulk merge, up to 30,000 pairs | Data Hub Professional |
| Bulk merge, up to 100,000 pairs | Data Hub Enterprise |
| Custom duplicate rules, merge rules (beta) and the duplicate audit log | Data Hub Professional or Enterprise |
Source: HubSpot Knowledge Base, “Manage duplicate records”, checked Oct 21, 2026.
If you are on Free or Starter, the tool is not in that list, and the practical route is merging pairs you find yourself. Seat prices and onboarding fees for the tiers above are in our HubSpot pricing and limits 2026 page, and the HubSpot pricing calculator totals them for your team size.
How does HubSpot decide two contacts are duplicates?
It compares a set of properties and gives each pair a similarity score. For contacts the default properties are First Name, Last Name, Email, IP country, Phone number, Zip Code and Company Name. For companies they are Company Domain Name, Company Name, Country/Region, Phone Number and Industry.
HubSpot scans as records are created, and checks once a day if no records were created that day. Contacts offer lower thresholds than companies, such as “30% and up”, because contact data varies more between records. HubSpot’s article does not describe how the matching works beyond that, so treat a high score as a prompt to look, and read the two records before you merge.
Data Hub customers can add custom rules: up to two per object, using up to nine properties each. HubSpot warns you if a rule would match more than 10% of records with an average group size above three, which usually means the rule is too loose.
What does HubSpot dedupe automatically, and what does it leave to you?
HubSpot dedupes on its own by contact Email and by company domain. The HubSpot deduplication article describes automatic matching on those two properties. Everything else is a manual job.
| Duplicate type | How HubSpot handles it | Your action |
|---|---|---|
| Same email, created by hand | Alerts you that the contact exists and blocks the new one | Open the existing record and add what you had |
| Same email, form submission | Adds the new info to the existing contact. A secondary email submitted on a form overwrites the contact’s email | Use Email as the form identifier; do not collect a second email on the same form |
| Same email, import | Updates the matching contact, mapped properties only. Several matches in the CRM give an import error and that row is skipped | Resolve the multiple matches first, then re-import |
| Import with no Email or other unique identifier | Creates every row as a new contact | Add Email, Record ID or a unique-value property to the file |
| Same person, different emails (work and personal) | Treated as two contacts | Find in Manage duplicates, merge, keep the second email as additional |
| Same name, nothing else in common | Not auto-matched. Name is one input to the duplicates tool’s similarity score | Review the pair, merge only if it is the same person |
| Companies, same primary domain | Alerts on manual create, updates on form or import match | Merge existing pairs from Manage duplicates |
| Companies created through the API or a sync app | Not deduplicated by Company domain name | Check sync apps and merge the pairs they created |
| Deals and tickets | Not auto-deduplicated. Matched manually by Record ID or unique-value properties | Merge by hand from the record |
| Verdict | Exact email and exact domain are handled. Everything fuzzy lands in your queue | Schedule a review rather than waiting for a clean database |
Source: HubSpot Knowledge Base, “How HubSpot deduplicates records” and “Manage duplicate records”, checked Oct 21, 2026. The “Your action” column is our recommendation.
One consequence for the “contacts with the same email” question: HubSpot treats email as unique, so a true second contact with an identical primary email should not exist. When you see what looks like one, check for a secondary email on another record, or two people at a shared inbox who each have their own record under different addresses.
How do you merge duplicate contacts in HubSpot?
Pick the record you want to survive, then merge the other one into it. There are two routes, depending on whether you are working from the tool or from a single record.
From Manage duplicates, with the default rule:
- Open the pair and choose the record to keep.
- Choose which property values to keep.
- Click Merge and review next. If the pair is not a duplicate, click Reject and review next instead.
For bulk work, tick the pairs, click Review, pick a Merge criteria option and click Merge all. The options are most recent engagement, oldest engagement, created first, created last, and most recently updated. The last one weighs every property, including hidden internal ones, so read the result on a few pairs first.
From a single record, per HubSpot’s merge records article:
- Go to CRM > Contacts and open the record you want to keep.
- In the left panel, open Actions and choose Merge.
- Pick the secondary record from the dropdown.
- Choose the property values to keep. The primary’s values are selected by default. Set properties to review changes which properties are compared.
- Click Merge.
Merging needs the Merge permission for that object, or Super Admin. Do not merge while you are on a call with either contact. HubSpot says merging during a call disconnects it.
What happens to properties, activities and deals when you merge?
The surviving record keeps the primary’s values, fills gaps from the secondary, and gets everything else added. HubSpot’s default rules, from the merge records article:
- The primary’s value wins. If the primary’s value is empty, the secondary’s is used.
- The oldest Create date is kept and property history from both records is combined.
- A new Record ID is generated, unless your account is in the Primary ID Preservation beta.
- Lifecycle stage keeps the one furthest down the funnel, so Customer beats Lead.
- Number of conversions and unique forms submitted are added together.
- All timeline activities and all associations carry over, so deals stay attached.
- The secondary record leaves all static lists.
- Both records are unenrolled from active workflows at the moment of the merge.
- Companies keep the primary domain and store the secondary’s domain as a secondary domain.
Merged records also get a Merged [record] IDs property listing the Record IDs that went in. Hover the value and click Details to see who merged them and when. Filter on it with All filters, search “Merged” and choose is known.
If you sync with Salesforce, only the primary contact keeps syncing after a merge. That is worth knowing before you bulk merge a synced database. Our HubSpot vs Salesforce comparison covers where the two systems handle records differently.
What are the HubSpot merge limits?
The one that catches people is a combined total of 250 merges. Records cannot be merged once they have reached “250+ merges” between them, and HubSpot’s example is two contacts that have each been through 130. You will mostly meet this on records that a sync or import loop has been merging for years.
| Limit or failure | What HubSpot says | What to do |
|---|---|---|
| 250 combined merges | Records at 250+ merges together are blocked | Edit the record by hand, or create a new one |
| Association limits | The merge fails if the result would exceed your configured association limits | Remove some associations from one record, then merge |
| Parent and child companies | Companies in certain parent-child relationships cannot be merged | Break the relationship first, if the data allows |
| Pairs in the tool | 10,000 individual, 30,000 or 100,000 bulk depending on plan | Work the queue in rounds |
| Rejected pairs | Hidden from the tool going forward; can be undone within 14 days from View history | Reject only pairs you have checked |
| Reversal | Merged records cannot be reverted | Export or screenshot anything you may need first |
Source: HubSpot Knowledge Base, “Merge records” and “Manage duplicate records”, checked Oct 21, 2026.
HubSpot’s articles we read do not state a cap on how many merges you can run in one bulk action. We found none, and we would not assume there is none. If you are merging tens of thousands of pairs, do a small batch first and check the result.
Can you undo a merge in HubSpot?
No. HubSpot says plainly that merged records cannot be reverted. The one recovery it offers is for an additional email or domain: delete it from the merged record, then create a new contact or company with that value.
Rejections are the exception. Rejecting a suggested pair hides it from the tool, and you can undo that for up to 14 days from View history > Undo. A pair will not appear in the undo list if either record changed in that window. HubSpot also warns that a rejected pair can come back if one of its records is later merged into another record.
The Data Quality tool keeps a record of what it did. Actions > Export merge history covers up to 90 days and includes pre-merge property values, but only for merges made in that tool, not merges done from a record’s Actions menu. The duplicate audit log covers auto-merged records and rejected suggestions.
How do you stop duplicates coming back?
Most new duplicates arrive through imports and syncs, not through reps typing. The fix is the same everywhere: give HubSpot something unique to match on. HubSpot’s import file guide says a file needs a unique identifier property for each object to update existing records instead of creating new ones.
For imports:
- Put Email in contact files and Company domain name in company files, or use Record ID.
- If a row has no value for Record ID, HubSpot creates a new record for it, so do not use a half-filled Record ID column as your only key.
- To match on a secondary email, leave the Record ID column out. With both present, the secondary email replaces the primary on the existing contact.
- For companies, remove duplicate domains from the file first. A custom unique-value property does not stop duplicate domains from importing.
- Create custom properties that require unique values where an ID matters, such as an external customer number. You can have up to ten per object. They apply on manual create and edit and on imports, but not in forms.
For forms, HubSpot recommends the default properties (Email, Company domain name, Record ID) as the match key. Our CRM import limits page lists file-size and row limits across systems, and the CRM import file checker finds bad emails, dates and duplicate rows in your CSV before you upload it. If an import has already failed, how to fix HubSpot import errors covers the common messages.
One thing we could not confirm: whether a workflow can flag duplicates on its own. The HubSpot pages we read describe the Manage duplicates tool and custom duplicate rules (Data Hub) as the way HubSpot flags pairs, and a workflow cannot compare one contact against the rest of the database as far as those pages show. We would use custom rules for ongoing detection and keep workflows for cleanup around it, such as setting a property on records you have reviewed. Keep in mind that a merge unenrolls both records from active workflows.
Should you clean duplicates before a migration?
Yes, in the system you know. Duplicates that migrate multiply: automations fire twice and reports double-count. Our CRM data cleaning before migration guide sets out what clean enough means, and the HubSpot migration guide covers the move into HubSpot. On other CRMs the same job looks different: see merging duplicates in Pipedrive and finding duplicate leads in Salesforce.
When to get help
A few hundred pairs is an afternoon in the tool. Get help when the queue is in the tens of thousands, when records are near the 250-merge limit, when a Salesforce sync keeps recreating the same companies, or when you need merge rules and custom duplicate rules designed around your data. Our HubSpot implementation service handles data cleanup and sync fixes, or you can tell us what you are seeing and we will say whether it needs a project. What HubSpot shipped lately is in the HubSpot October 2026 product updates.
Founder’s note, Alpit Patel. Merging is the part people rush, and it cannot be undone. I’d fix the import that created the duplicates first, then merge, because otherwise the same duplicates come back next week. I founded aibrevo in San Francisco in 2021, and through autoesta I have overseen 320+ GoHighLevel implementation projects across med spas, real estate, healthcare, dental, home services, SaaS and professional-services clients in the US, UK and UAE. About Alpit
Sources
- HubSpot Knowledge Base, Manage duplicate records, checked October 21, 2026.
- HubSpot Knowledge Base, Merge records, checked October 21, 2026.
- HubSpot Knowledge Base, How HubSpot deduplicates records, checked October 21, 2026.
- HubSpot Knowledge Base, Set up your import file, checked October 21, 2026.