That'sGonnaHelp
Automation

How to Merge Contacts in HubSpot (and Companies)

Duplicate records split activity, ownership, and reporting. This operator guide shows small teams how HubSpot finds contact and company matches, how to choose the survivor, what a merge changes, and how to stop duplicates from returning.

Alex KhvoinitskiiMarch 25, 202618 min read

TL;DR: HubSpot can merge two contact or company records on any plan. Export first, choose the survivor, inspect associations, merge a small batch, and fix the form, import, or integration that created the duplicate.

Duplicate records split one customer story across several places. A sales rep may call from one contact while marketing emails another. A company forecast may count the same account twice. The cleanup is not just a search-and-delete job because each record can hold useful activities, associations, owners, and consent history.

The problem is common beyond HubSpot. Validity's 2025 CRM study surveyed 602 CRM users and stakeholders. In Validity's survey of 602 CRM users and stakeholders, 37% reported revenue loss caused by poor data quality. In the same 2025 survey, 76% said less than half of their organization's CRM data was accurate and complete.

For a small team, the goal is one trusted contact or company record, not a perfectly empty duplicate queue. Treat deduplication as part of a wider sales automation operating model, because routing, follow-up, reporting, and customer experience all depend on the record that survives.

What is HubSpot duplicate management?

HubSpot duplicate management is the process of preventing obvious duplicates, finding likely matches, reviewing both records, and merging confirmed pairs. HubSpot uses different controls for each job. Automatic matching, manual two-record merges, the paid duplicates manager, and bulk duplicate management are not the same feature.

HubSpot's deduplication documentation says the CRM automatically matches contacts by email and companies by their primary company domain on supported creation paths. That rule helps with exact identifiers, but it does not prove that two people with similar names are the same person. It also cannot decide whether two companies sharing a parent domain are separate legal or operating entities.

Control What it does Key limit
Automatic deduplication Updates an existing contact by email or company by primary domain on supported forms, imports, and manual creation paths Missing identifiers can create new records; API-created companies are not automatically deduplicated by domain
Manual merge Combines two known records of the same object Available on all plans, but the merge cannot be undone
Duplicates manager Surfaces likely contact and company pairs for review Requires a Professional or Enterprise subscription and the right data-quality and record permissions
Bulk duplicate management Reviews and merges larger queues Requires Data Hub Professional or Enterprise

HubSpot's current duplicates-manager guide documents both the plan gates and pair limits. HubSpot's default duplicates manager can display up to 10,000 duplicate pairs on Professional or Enterprise subscriptions. Data Hub Professional can display up to 30,000 duplicate pairs and Enterprise up to 100,000.

This distinction matters when a search for “HubSpot duplicate management contacts companies” leads to advice that assumes every account has a bulk tool. A free account can still merge a known pair manually. A paid account may find likely pairs faster, while bulk review needs a narrower Data Hub entitlement.

Small-team use cases

Small teams should use HubSpot deduplication where duplicate identity changes a real decision. Start with the records tied to active sales, service, billing, or marketing work. A low-value archive can wait until the live workflow is safe.

  • B2B sales: Two contacts for the same buyer split emails, meetings, tasks, and deal context. The rep may follow up twice or miss the newest conversation.
  • Company-based selling: A company appears once as example.com and again without a domain. Deals, owners, and revenue then sit under separate account records.
  • Local services: A customer submits a web form with a personal email, then calls with a work email. Review phone, address, open work, and consent before deciding whether the records represent one person.
  • E-commerce or membership: Shared family inboxes and role addresses can represent several people. Matching email alone is not enough reason to merge two customer histories.
  • Events and imports: A webinar CSV lacks Record ID or uses a different email column. The import can create new rows instead of updating the intended contacts.
  • Integrations: A booking tool or custom app creates companies through the API. HubSpot warns that API-created companies are not automatically deduplicated by domain, so the integration needs its own lookup or stable external ID.

Deduplication should be one bounded workstream inside a broader CRM data hygiene sprint. Do not ask the merge queue to fix stale lifecycle stages, inconsistent sources, invalid owners, and every missing property at once. That wider scope makes review slower and increases the chance of joining records that only look similar.

How do you find duplicates in HubSpot?

To find duplicates in HubSpot, use the paid duplicates manager for suggested contact and company pairs, or search and compare known records manually on any plan. In a Professional or Enterprise account, open CRM Contacts or Companies, choose Actions, then Manage duplicates. Review one object and one matching rule at a time.

The tool compares more than exact identifiers. HubSpot documents contact signals such as first name, last name, email, IP country, phone, ZIP code, and company name. Company signals include domain, name, country or region, phone, and industry. These are suggestions for review, not proof of identity.

Use this triage order:

  1. Active risk first. Filter for open deals, recent activity, current customers, unresolved tickets, or records in live workflows.
  2. Exact identifiers next. Compare primary and secondary email addresses, company domains, Record IDs, and any external system ID that requires unique values.
  3. Associations before properties. Check deals, tickets, companies, contacts, subscriptions, and custom-object links before debating which phone number looks newer.
  4. History and ownership. Compare recent calls, meetings, forms, owner, lifecycle stage, lead status, and last engagement.
  5. Reject false matches. Keep separate records for distinct people using a shared inbox, franchises on a shared domain, regional branches, parent and subsidiary companies, or legal entities with different contracts.

If the team already knows the two records, open one record and use its merge action instead of waiting for a suggestion. This is the practical answer to “Can I merge contacts in HubSpot on the free plan?” Yes: HubSpot documents manual two-record merging across all products and plans, subject to Merge records or Super Admin permission. The paid plan is for finding and managing suggested pairs, not for the basic ability to combine one known pair.

Before changing production data, export the candidate records and the properties that govern routing, consent, ownership, and reporting. Record the two HubSpot Record IDs, the intended survivor, the reviewer, and the reason. An export is not a one-click unmerge, but it gives the team evidence for reconstructing a bad decision.

How do you merge duplicate contacts and companies safely?

To merge duplicate contacts in HubSpot safely, choose the record with the best identity and operational history as the survivor, compare associations and key properties, then test a small batch before scaling. Use the same method to merge duplicate companies in HubSpot, but pay extra attention to domain, hierarchy, legal entity, open deals, and account ownership. Never bulk merge only because names look alike.

Follow this seven-step workflow:

  1. Freeze the source briefly. Pause the import or integration that is creating new duplicates, or the queue may refill while you clean it.
  2. Define a survivor rule. Prefer the record tied to the active deal or customer account, the trusted external ID, the correct primary email or domain, and the most complete recent history. Document exceptions.
  3. Export the review set. Include Record ID, email or domain, owner, lifecycle stage, consent and subscription fields, recent engagement dates, associations, and external IDs.
  4. Compare the full relationship. Confirm the records describe one person or company. Review deals, tickets, payments, subscriptions, companies, contacts, and custom objects before you select the primary record.
  5. Merge one normal pair and one hard pair. Verify the survivor's properties, activities, associations, list membership, routing, and downstream sync before processing more.
  6. Process in small batches. Use a second reviewer for active customers, open deals, opt-out conflicts, shared emails, shared domains, or high-value accounts. Log rejected suggestions so the same false match does not keep consuming time.
  7. Reconcile after each batch. Compare record counts, open-deal totals, customer counts, list size, workflow enrollment, and integration errors with the pre-merge baseline.

For contacts, email is the automatic identity key, but it is not always the human identity. A shared info@ address can belong to several people. A changed email can belong to the same person. When HubSpot multiple contacts with same email behavior or secondary emails create ambiguity, use the customer relationship and downstream systems as evidence instead of forcing a name-only decision.

For companies, domain is useful but not universal. A franchise network, holding company, regional office, and subsidiary may share a web domain while needing separate ownership, deals, contracts, and reports. HubSpot company deduplication should preserve the business entity that your team actually sells to and supports.

Can you bulk merge duplicate contacts in HubSpot? Yes, but HubSpot limits bulk duplicate management to Data Hub Professional or Enterprise. Use bulk only after a reviewed sample proves the survivor rule works for that source and record type; a fast wrong merge is harder to repair than a slow queue.

What data does HubSpot keep after a merge?

HubSpot keeps the surviving record and combines activities, associations, and most property values from both records. The primary record normally wins when both records have a value; if it is blank, HubSpot can use the secondary value. HubSpot's merge guide lists object-specific exceptions and should be checked before a high-risk batch.

Surface Expected behavior What to verify
Record identity One record survives; merged Record IDs remain available Correct primary email or company domain and expected Record ID
Properties Most primary values remain; blank primary values may take secondary values Owner, lifecycle stage, lead status, source, consent, external ID
Activities Both timelines appear on the survivor Latest call, email, meeting, note, and form submission are present
Associations Associated records from both sides move to the survivor Deals, tickets, companies, contacts, and custom objects are not over the account limit
Segments The secondary record leaves static segments; active membership may recalculate Suppression, campaign, customer, and routing segments still behave correctly
Contact identity Secondary email and tracking history can remain associated with the survivor Forms, email history, opt-out state, and downstream identity match expectations

Can a HubSpot merge be undone? No. HubSpot states that merged records cannot be unmerged. You can use merged IDs and an export to investigate what happened, and in some contact or company cases you can remove an additional email or domain and create a new record, but that is reconstruction rather than a true rollback.

The safest acceptance check is outcome-based. Search both old IDs, open the survivor, inspect five recent activities, sample each association type, confirm the correct owner and status, then run one normal form, import, or sync event. The job is complete only when the next event updates the survivor instead of recreating the duplicate.

How do you stop HubSpot duplicates from coming back?

Stop repeat duplicates by fixing the creation path, not by scheduling endless cleanup. Every form, import, integration, mobile app, and manual process needs a stable lookup rule before it creates a contact or company. Assign one owner to each source and alert on rejected updates or identity conflicts.

Use these prevention controls:

  • Forms: Require a useful email for contacts. Decide how secondary emails, personal emails, shared inboxes, and returning customers should behave.
  • Imports: Include Email, Company domain name, Record ID, or a selected custom property that requires unique values. HubSpot's import guide explains that rows without a unique identifier can become new records.
  • APIs and integrations: Search by a stable external ID or supported unique property before create. Store the HubSpot Record ID after the first successful create, because company API creates are not automatically deduplicated by domain.
  • Manual entry: Keep the create form small and searchable. Train reps to search email, domain, phone, and company name before creating a new record.
  • Data sync: Define which system owns email, domain, company identity, and external IDs. Log conflicts instead of letting two systems alternate values.
  • QA: Test exact match, missing identifier, changed email, shared inbox, shared domain, replayed request, simultaneous submissions, and integration timeout or retry.

A CRM field validation workflow can block incomplete records before they reach routing and reporting. For multi-system intake, use the form-to-CRM integration checklist to verify mappings, identifiers, replay behavior, and error alerts before launch.

Do not treat the HubSpot merge contacts API as a substitute for identity rules. Automation should only merge when a stable business identifier proves that both records represent the same entity and a human has approved the edge cases. Otherwise, send the pair to a review queue with the evidence that triggered the match.

Cost, ROI, and an operator composite

The cheapest safe path is manual merging when the team has a small known backlog; paid duplicate discovery or bulk tools make sense when repeated review labor costs more than the subscription and governance work. Compare the incremental software price with review hours, duplicate outreach, reporting repair, and the cost of a bad merge. Do not buy Data Hub only because a queue looks untidy.

As checked on August 24, 2026, HubSpot's US Data Hub pricing page showed the following starting prices. Vendor offers and included seats change, so verify the live quote for your account.

Cleanup path Availability Listed or incremental USD cost Practical fit
Manual two-record merge All HubSpot products and plans $0 incremental if the team already uses HubSpot A known pair or a small backlog
Suggested-pair review A Professional or Enterprise Hub Varies by Hub and bundle Finding likely pairs without bulk processing
Bulk duplicate management Data Hub Professional From $720/month with annual billing or $800 month-to-month Repeatable reviewed batches; up to 30,000 displayed pairs
Larger bulk queue Data Hub Enterprise From $2,000/month Complex governance and up to 100,000 displayed pairs

Use a simple automation ROI calculation with your own loaded labor rate and measured monthly exception time. For example, a $1,255 cleanup that saves nine hours per month at $50 per hour has a planning payback of about 2.8 months. If the team must add a $720 monthly subscription only for this job, those labor savings alone do not support the upgrade.

Operator composite: a 14-person B2B services team

This operator composite illustrates the decision process; it is not a named public customer claim. The team had 8,400 contacts, 1,120 companies, four sales reps, one marketer, and a part-time operations coordinator. HubSpot forms, CSV event imports, and a Make integration all created or updated records.

The baseline review found 310 likely contact pairs and 96 likely company pairs in the active queue. Reps estimated nine hours per month spent checking split histories, correcting owners, and suppressing duplicate outreach. Management did not assign revenue loss to every pair because many old duplicates never touched an active deal.

The coordinator exported Record IDs, email, domain, owner, lifecycle stage, recent activity, open-deal associations, and the integration's external ID. The team wrote one survivor rule for contacts and a separate rule for companies. It started with 20 low-risk pairs, then checked list membership, workflows, deal counts, and the next integration sync.

The first batch exposed a bad assumption. Two regional companies shared a parent domain but had different contracts and owners, so the reviewer rejected that suggestion. The Make scenario was also creating companies without first looking up the external account ID, which explained why cleanup alone would not hold.

The team fixed the lookup, made the external account ID unique, and added an exception queue for missing IDs. It then processed the remaining records in batches of 25, with a second reviewer for open deals, opt-out conflicts, shared inboxes, or more than one associated company. Setup and review used an illustrative 25 staff hours with a blended cost of $1,255.

After 30 days, the illustrative suggested-pair queue fell from 406 to 58, and newly flagged pairs fell from about 14 per week to three. Monthly exception work was estimated to fall from nine hours to three, worth about $300 per month at the team's loaded rate. That implies a planning payback near 4.2 months, excluding any license change and without claiming a revenue lift.

Public case studies show why attribution needs care. HubSpot reports a 75% decrease in data issues for ResellerRatings after a cleanup that combined HubSpot Operations Hub and Insycle. HubSpot's ResellerRatings case study covers a broader migration, automation, and third-party cleanup program, so its result is not a forecast for a native HubSpot merge project.

When HubSpot duplicate management is not a good fit

HubSpot duplicate management is not a good fit when the team cannot define identity, the records belong to separate legal or operating entities, or another system is the real source of truth. Pause instead of merging when consent conflicts, financial or subscription records depend on separate IDs, or the downstream integration cannot accept the survivor's ID. A manual review queue is safer than an irreversible guess.

Avoid these common mistakes:

  • Choosing the newest record automatically. The older record may hold the active contract, consent history, or trusted external ID.
  • Matching people by phone or name alone. Families, assistants, shared lines, and common names create false positives. HubSpot considers phone as a duplicate-manager signal, but automatic contact deduplication uses email.
  • Matching every company by domain. Parent companies, franchises, branches, and subsidiaries may need separate records.
  • Ignoring associations and segments. A clean property table can hide broken deals, tickets, static segments, routing, or suppression logic.
  • Cleaning without fixing intake. Imports without identifiers, API creates without lookups, and retries without idempotency will recreate the backlog.

External API failure and retry paths matter here. If the CRM lookup times out, do not assume “not found” and create a fresh record. Retry with the same source event ID, log the uncertain outcome, and route repeated ambiguity to a human instead of making two simultaneous create requests.

FAQ

Can I merge contacts in HubSpot?

Yes. Open one contact, choose the merge action, find the second contact, select the survivor, and review the result. HubSpot says manual two-record merges are available across all products and plans when the user has Merge records or Super Admin permission.

Can you merge duplicate contacts in HubSpot on the free plan?

Yes, if you already know the two records. The free path is a manual merge. The tool that discovers and manages suggested duplicate pairs requires a Professional or Enterprise subscription.

Can you merge two companies in HubSpot?

Yes. Confirm that both records represent the same business entity, then merge them from the company record or duplicates manager. Check domains, parent or subsidiary status, owners, deals, tickets, and external account IDs first.

How do I find duplicate contacts in HubSpot?

Use CRM > Contacts > Actions > Manage duplicates on an eligible Professional or Enterprise subscription. On other plans, search by email, secondary email, phone, name, company, and external ID, then compare the records manually.

How do I bulk merge contacts in HubSpot?

Use the duplicates manager's bulk review flow with Data Hub Professional or Enterprise. Test the survivor rule on a small sample first, then reconcile record counts, associations, segments, owners, and downstream sync errors after each batch.

Can a HubSpot merge be undone?

No. HubSpot does not provide an unmerge action. Keep an export and merge log so the team can investigate and reconstruct critical data if it selected the wrong survivor.

Does HubSpot deduplicate contacts by phone number?

Not for automatic exact contact deduplication. HubSpot automatically deduplicates contacts by email, while its duplicates manager can use phone as one signal among several to suggest likely pairs.

Which HubSpot permissions are required to merge records?

Manual merging requires Merge records or Super Admin permission. The duplicates manager also requires data-quality tool access plus permission to edit all contacts or all companies for the object being reviewed.

Answer clarity notes

  • Dates: HubSpot feature documentation cited here was checked on August 24, 2026; the pricing table reflects the US page on that date. Check current vendor pricing, limits, permissions, and product names before acting.
  • Scope: this article is for US SMB CRM operating decisions, not legal, financial, tax, privacy, consent, or platform-policy advice.
  • Evidence: public sources support linked product facts and survey results. The 14-person example is a That'sGonnaHelp operator composite, not a public customer claim.
  • Estimates: the composite's record counts, hours, costs, queue reduction, and payback are illustrative planning assumptions, not measured results for every HubSpot account.
  • Guarantees: pricing ranges, ROI examples, timelines, and tool capabilities are planning guidance, not guarantees.
  • Case studies: HubSpot reports the named customer result. Do not attribute a broad migration outcome only to native duplicate merging or assume the same result for a small team.
  • Do not infer: a suggested duplicate is not proof of identity, a shared domain is not proof of one company, and a completed merge is not proof that forms or integrations will stop creating duplicates.

Sources

If duplicate records keep returning after cleanup, That'sGonnaHelp can review the intake, identity rules, and retry paths before your team automates another merge batch.

A

Alex Khvoinitskii

Founder, That'sGonnaHelp

Founder of That'sGonnaHelp. Building growth and automation systems since 2021 — GTM, traction, retention, and revenue — for SaaS, FinTech, and e-commerce clients, from early-stage brands to global exchanges.

Related articles

Discuss your project