Skip to content
forgeo
Deduplication

How to find and merge duplicate contacts in HubSpot

Why duplicates get past HubSpot's own checks, what its duplicate tool does, and what to verify before a merge you can't undo.

By Quentin Tristan4 min read

HubSpot already blocks the most obvious duplicates. Yet almost every portal that has been used for a year has some: the same person twice, the same company three times, each copy with half the history. This guide explains where they come from, what HubSpot does about them on its own, and how to find and merge the rest without losing data.

Why duplicates still get in

HubSpot deduplicates contacts by email address and companies by primary company domain name. When you create a contact whose email already exists, HubSpot alerts you and stops you, and a form submission or an import updates the existing record instead of creating a new one (HubSpot: deduplication of records).

That protection only works when the key matches exactly. Duplicates appear as soon as it doesn't:

  • Two email addresses for one person. A prospect fills in a form with a personal address, then a sales rep adds them with their work address. HubSpot sees two different contacts.
  • A job change. The same person comes back with a new employer and a new email.
  • Companies without a domain. Deduplication relies on the domain. A company created with a name only, or with a website but an empty domain, has nothing to match on.
  • Companies created through the API. HubSpot states that companies created through the API are not deduplicated by domain, so integrations and scripts can create copies.
  • Imports and manual entry. A spreadsheet from an event, a typo in a name, a company written "Acme" in one place and "Acme Inc." in another.

What HubSpot's duplicate tool does

On Professional and Enterprise subscriptions of Marketing, Sales, Service, Data or Smart CRM Hub, HubSpot suggests pairs of possible duplicates for contacts and companies (HubSpot: manage duplicate records).

  • Contacts are compared on first name, last name, email, IP country, phone number, zip code and company name.
  • Companies are compared on domain, name, country/region, phone number and industry.
  • Suggestions are recalculated as records are created, and at least once a day.
  • Reviewing pairs one by one shows up to 10,000 pairs. Bulk review and custom duplicate rules require Data Hub Professional or Enterprise.

To open it, go to CRM › Contacts (or Companies), click Actions, then Manage duplicates. For each pair, you can merge the two records or reject the suggestion.

What happens when you merge

Before merging, it helps to know exactly what HubSpot keeps (HubSpot: merge records):

  • The primary record's values win. When the primary record has no value for a property, the secondary record's value is used. The oldest create date is kept.
  • For contacts, the secondary email becomes a secondary email address on the merged contact.
  • The lifecycle stage furthest down the funnel is kept: a Lead merged with a Customer stays a Customer.
  • Associations and timeline activities of both records end up on the merged record.
  • A merge cannot be undone. HubSpot states that it's not possible to unmerge records.
  • A merge fails once the records involved add up to 250 or more previous merges.
  • You need the Merge records permission, or Super Admin.

Because a merge is final, the choice of the primary record matters more than the merge itself.

A checklist before each merge

  1. Check that it really is the same person or company. Two contacts called "Thomas Martin" are not duplicates on their name alone. Look for a second signal: the same company, phone number or LinkedIn profile.
  2. Keep the most complete, most active record as primary. It usually holds the right owner, the lifecycle stage and the latest conversations.
  3. Compare the values that differ. Owner, job title, phone, lifecycle stage: decide which one is right before you merge, since the primary record's values win.
  4. Look at the associated company and open deals. Make sure they still make sense once both records are combined.
  5. Fix the cause. If duplicates come from a form, an integration or an import, adjust it, or new copies will keep coming in.

Finding duplicates with Forgeo

Forgeo connects to HubSpot through its official OAuth, syncs your contacts and companies, and builds groups of duplicates rather than pairs:

  • Contacts match on the same email, the same LinkedIn profile, or the same full name confirmed by the same company, phone number or LinkedIn profile. A name alone never matches.
  • Companies match on the same domain (protocol, "www." and path ignored), the same LinkedIn page, or the same name, without its legal form, confirmed by the same phone, city or LinkedIn page.
  • A group is sure when records share an email or a domain, or two signals agree. The others are marked to review.
  • A value shared by more than 25 records, like a switchboard number, never links anything.

You review one group at a time. Forgeo suggests the record to keep and shows the values that differ side by side. Merges go through HubSpot, so its rules above apply and a merge stays final. Forgeo logs every merge with a snapshot of the merged record. A group you mark as "not duplicates" doesn't come back.