Skip to content
DataUntangler

HubSpot merge contacts and merge companies with every pair reviewed first

HubSpot merges two records at a time and a merge cannot be undone. That is fine for the one pair a rep spotted this morning. It does not help with the real backlog: thousands of contacts and companies, some with no email, some with two, some owned by two reps. DataUntangler reads your contact or company export in the browser, groups the likely duplicates with the reason for each match, flags owner and lifecycle conflicts, and hands you a reviewed merge list plus an audit log keyed on the HubSpot Record ID.

In-browser your file never leaves your computer

Every row proposed to you before it is applied

CSV log of what you approved and rejected

Clean a file
01 Try it on this page

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 or invalid 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.

02 About hubspot merge contacts

Why HubSpot portals fill up with duplicates to merge

HubSpot deduplicates contacts automatically on email address and companies on the company domain name. Everything that slips past those two keys stays. A rep creates Daniel Okoro by hand with no email, a form later creates him again with one. A list import brings Megan Foster in under a second address. A sales tool syncs Brightline Logistics with its .net domain while the portal already has the .com. None of those collide on the key HubSpot checks, so all of them become separate records.

The bill and the reports notice before anyone else. Marketing contacts are priced by tier, so a duplicate can push you into the next one. Two reps sequence the same buyer, attribution splits across two records, and the board sees a contact count that counts some people twice.

Operations admin reviewing a list of duplicate CRM contacts on a monitor before merging them

How do I merge contacts in HubSpot?

  1. 1 Go to Contacts and open the record you want to keep as the primary contact.
  2. 2 Click Actions, then Merge.
  3. 3 In the dialog, search for the duplicate contact, select it and click Merge. HubSpot merges exactly two records at a time.
  4. 4 Wait for the merge to finish. Activities, associations and property history from both records end up on one record, and HubSpot notifies you when the sync is complete.
  5. 5 Take the next pair from your reviewed list, so every merge is one somebody already approved. Companies merge the same way from the Companies index.

What happens when you merge two contacts in HubSpot?

HubSpot keeps the primary contact values and fills any empty property from the secondary record. The primary email stays primary and the other address is added as a secondary email. The lifecycle stage furthest down the funnel wins, so a Customer merged with a Lead stays a Customer. All timeline activity and every associated record from both contacts appear on the result.

One detail matters for record keeping. The merged record gets a new Record ID, and the old IDs are stored in the Merged contact IDs property. If your billing system, data warehouse or a spreadsheet keys on the old Record ID, keep a log of which IDs went where. The audit log from the pass is that list, written before the merge, with the reason for each pair.

Can you unmerge contacts in HubSpot?

No. HubSpot says it is not possible to unmerge records. The closest repair is removing the secondary email from the merged contact and creating a new contact with it, which leaves the activity history on the wrong record. A wrong merge of two real people, say two Chris Alvarez records at one freight company with two different emails, is a permanent mistake, so pairs like that should be read by a person who knows the account, not merged on a name.

How do I merge companies in HubSpot?

Open the company you want to keep, click Actions, choose Merge, search for the duplicate and confirm. The primary company domain stays primary and the other domain is added as a secondary domain, the lifecycle stage furthest down the funnel is kept, and contacts, deals and tickets associated with either company end up on the merged one.

Two restrictions trip people up. You cannot merge a company that is currently a parent or child company, so remove the hierarchy first and rebuild it after. And records included in 250 or more merges in total cannot be merged again, which only bites on portals that have been merging the same records for years through an integration.

Who can merge records in HubSpot?

Users with Merge records permission or Super Admin. Merging itself works on every HubSpot plan, free tools included. What changes by tier is the duplicate finder: managing duplicates one pair at a time needs a Professional or Enterprise subscription and shows up to 10,000 pairs, while bulk merging and custom duplicate rules need Data Hub Professional (up to 30,000 pairs) or Enterprise (up to 100,000 pairs).

In practice an ops admin runs the merges while reps own the records. A merge list the reps saw beforehand turns a complaint about a vanished contact into a decision that was already reviewed.

Manage duplicates in HubSpot against a pass on the export

The duplicate HubSpot Manage duplicates Pass on the export
Same email with capitals and spaces Blocked at creation when it matches Trimmed and lowercased, then matched
Daniel Okoro at Summit Dental Partners Inc and at Summit Dental Partners, one with no email Proposed if the properties agree enough Same name and company once Inc is set aside
Rebecca and Rebeca Lindqvist at one company May be proposed Close name and company match, flagged to read
Same name and company, two different emails Can look like one person Grouped and flagged, never merged on its own
Jim against James Calloway May be proposed Not matched, check nicknames by eye
Two owners or two lifecycle stages on one person Seen inside the merge only Shown as a conflict before you merge
Brightline Logistics on a .com and a .net domain Two companies, the domains differ Same company name, domain shown as a conflict
Tier needed Professional for pairs, Data Hub for bulk Any plan, works on the CSV

Merges always happen inside HubSpot. The pass decides the pairs in advance and keeps a record of each decision.

The matching is the same data deduplication engine used across the site: exact email after trimming and lowercasing, then the person name with the company, legal suffixes such as Inc and LLC set aside, and fuzzy matching for close spellings. Each group is built around the most complete row, so the record with the email, phone and lifecycle stage filled in is proposed as the primary. For the wider portal cleanup, see HubSpot deduplication.

What the pass found on a HubSpot company export

We ran a HubSpot companies export through the engine before writing this page, and two default headers need renaming first. Company Domain Name is read as a company name, so the engine proposes capitalizing the domain, which you must not apply. Company owner is read the same way. Rename them Domain and Owner and both are treated as plain values that show up as conflicts.

With those headers, Brightline Logistics Inc and Brightline Logistics on two different domains came back as one company, the pair HubSpot itself would never propose because its key is the domain. The engine missed three pairs: Lakeview Orthopedics PLLC against Lakeview Orthopedics, because PLLC is not on its suffix list (HubSpot catches that one when the domains match); Cedar & Stone Builders against Cedar and Stone Builders; and Tri-County Dental Group against Tri County Dental Grp. Sort the company export by name and read those yourself.

How to export contacts from HubSpot for the pass

From the Contacts index, pick a view or saved filter, click Export, choose CSV and include Record ID, First Name, Last Name, Email, Company Name, Phone Number, State/Region, Postal Code, Lifecycle Stage and Contact owner. HubSpot emails a download link. Rename Contact owner to Owner before the pass, for the same reason as on the company file.

Load the file into the demo at the top of this page. Nothing uploads, the records are matched inside your browser tab, and the audit log keeps the Record ID next to every decision. If the duplicates came from a migration, the cleanup belongs before the next load, as set out in Salesforce to HubSpot migration and Zoho to HubSpot migration.

Who pays for a HubSpot merge cleanup

The buyer is the marketing ops or RevOps admin with a duplicate backlog, a contact tier that keeps creeping up, or a migration with a cutover date, and a sales team that will notice every contact that changes owner. They need the merge list decided before the merges, without paying for Data Hub to get bulk tools, and a record of why each pair was merged. The same problem on email platforms is on Mailchimp duplicate contacts.

DataUntangler is a data cleaning tool on the Analyst plan at 59 dollars a month, or 348 dollars a year, with unlimited files up to about 100,000 rows each. It does not connect to your portal and writes nothing to it. You export, review the pairs, and run the merges in HubSpot yourself, two at a time.

03 Read it off a real file

A HubSpot contact export run through the engine on this page

Contact Company Name Email Result
Megan Foster Clearwater CPA Group LLC megan.foster@clearwatercpa.com Kept, texas to TX
Megan Foster Clearwater CPA Group Megan.Foster@ClearwaterCPA.com Same email address, likely, owner and stage differ
Daniel Okoro Summit Dental Partners Inc dokoro@summitdental.com Kept, ohio to OH
Daniel Okoro Summit Dental Partners (no email) Same name and company, likely
Rebecca Lindqvist Harborview Analytics rlindqvist@harborview.io Kept, washington to WA
Rebeca Lindqvist Harborview Analytics (no email) Close name and company match, flagged to read
Chris Alvarez Northline Freight chris.alvarez@northlinefreight.com Kept, georgia to GA
Chris Alvarez Northline Freight calvarez@gmail.com Same name and company, different email, flagged
Natalie Brooks Pierce & Brooks Law nbrooks@pierce-brooks.com Kept, ZIP 2110 to 02110
Natalie Brooks Pierce and Brooks Law (no email) Close name and company match, flagged to read
Jim Calloway Ridgeline Supply jcalloway@ridgeline.com Kept, nothing matched
James Calloway Ridgeline Supply (no email) Not matched, nickname

Every result above came out of a real run on this file, which also carried the Record ID, phone, ZIP, lifecycle stage and owner columns. Lifecycle Stage came back as a conflict on all five groups, which is what you want to see before HubSpot keeps the stage furthest down the funnel. The engine does not treat nicknames as the same first name, so Jim and James Calloway stay apart.

04 Merging HubSpot records

What the merge button does not tell you

The merge button is good at combining two records you already picked. It does not tell you which records to pick, or which rep and which lifecycle stage win when you do.

HubSpot deduplication

Two at a time

Every merge takes one primary and one secondary record, so a large backlog takes hundreds of merges.

No undo

HubSpot cannot unmerge, and the merged record gets a new Record ID.

Bulk costs extra

Bulk merging and custom duplicate rules need Data Hub Professional or Enterprise.

What the export pass adds

Every likely duplicate contact and company group in one view, the reason for each match, owner and stage conflicts flagged, and a log keyed on the Record ID.

05 Before you run it

Questions about hubspot merge contacts

How do I merge duplicate contacts in HubSpot?
Open the contact you want to keep, click Actions, then Merge, search for the duplicate and click Merge. HubSpot merges two records at a time. On Professional and Enterprise you can also review suggested pairs under Data Management, Data Quality, Manage duplicates.
Can you merge more than two contacts at once in HubSpot?
Not in one merge. Each merge takes a primary and one secondary record, so a person with four records takes three merges. Bulk merging of suggested pairs needs Data Hub Professional or Enterprise. Decide the whole group on the export first, then merge into the same primary each time.
Can you undo a merge in HubSpot?
No. HubSpot does not unmerge records. You can remove the secondary email from the merged contact and create a new contact with it, but the activity history stays on the merged record. Decide every merge on a reviewed list and keep the audit log with the Record IDs.
Does merging contacts in HubSpot change the Record ID?
Yes. The merged record gets a new Record ID and the old ones are kept in the Merged contact IDs property. Anything outside HubSpot keyed on the old IDs, such as a warehouse table or a billing system, needs the mapping, which is what the audit log from the pass gives you.
Does DataUntangler connect to my HubSpot portal?
No. It works on a contact or company export you download as a CSV, inside your browser, and returns the duplicate groups, a cleaned file and an audit log with the Record ID on every line. You run the merges in HubSpot yourself. Nothing on this site has access to your portal.
06 What it costs

Plans for when the file is bigger than the demo

Yearly billing saves 50 percent. There is no free plan, and no card is needed to use the browser demo above.

Yearly billing saves 50 percent, half the monthly price.

Switch to yearly and save 50 percent.

Analyst

Self-serve

One person with files to clean, as many as they like.

$29$59/mo

Billed $348 a year Billed monthly

Buy Analyst, yearly Buy Analyst, monthly
  • Unlimited files
  • Files up to 25MB, about 100,000 rows
  • Exact and fuzzy duplicate detection
  • Dates, numbers, currencies, encoding and casing fixed
  • Every change reviewable before you download
  • Cleaned CSV and a change log, both downloadable
  • Runs in your browser: files never leave your machine
  • Email support

Enterprise

Several people on one invoice, a DPA on request, priced per seat.

$49$98/seat/mo

Billed $588 a seat a year, from 2 seats ($1,176) Billed monthly per seat, from 2 seats ($196)

Buy Enterprise, yearly Buy Enterprise, monthly
  • Everything in Analyst
  • Several people on one invoice
  • DPA on request
  • Invoicing and purchase orders
  • A named contact for support

Payment is by card through our payment provider, monthly or yearly, and you can cancel from your account at any time. The free try is one file of your own, up to 5MB, in the browser demo. Already paid? Sign in.

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.

Clean a file