HubSpot

How to Find and Merge Duplicate Contacts in HubSpot

Every duplicate contact splits your engagement history in half. Here's how to find them, merge them without losing data, and stop them from multiplying.

January 2026 · 11 min read

You send an email campaign. A contact opens it, clicks through, fills out a form, and requests a demo. But your sales rep sees none of this because the form created a new contact record instead of updating the existing one. The engagement history is on Record A. The demo request is on Record B. The rep reaches out cold, having no idea this person has been reading your content for months.

This is what duplicates actually cost you. Not just clutter, but fractured context that makes your team look clueless and your automation logic wrong.

HubSpot has duplicate detection built in, but it's conservative by design. It only auto-merges on exact email match. Everything else slips through: same person with two email addresses, name spelled differently, imported records that don't quite match. Over time, the duplicates pile up.

How Duplicates Get Created

Understanding the sources helps you prevent them, not just clean them up.

Form Submissions With Different Emails

Someone first interacts with you using their work email. Later, they download a resource using their personal Gmail address. HubSpot sees these as two different people because the email is HubSpot's primary unique identifier.

This is actually correct behavior from HubSpot's perspective. Two different emails could be two different people. But in practice, you end up with the same person existing twice in your database.

Imports Without Deduplication

You import a list from an event, a purchased list, or a data migration. The import includes people who already exist in HubSpot, but with slight differences: "Bob" instead of "Robert," a different phone number format, a new email address.

HubSpot's import deduplication only matches on the exact email field. If the imported email doesn't match an existing record's email exactly, you get a duplicate.

Integrations Creating Records

Your marketing automation, support system, sales tools, and other platforms push data to HubSpot. Each one might create contacts independently. If they use different identifiers or don't check for existing records before creating new ones, duplicates multiply.

The worst offenders are usually chat tools, scheduling apps, and sales engagement platforms that create records in HubSpot when someone interacts with them.

Manual Entry

A sales rep adds a contact they met at a conference. They don't search first, or they search but spell the name wrong and don't find the existing record. Now you have a duplicate.

Manual entry duplicates are fewer in volume but often more problematic because they're high-value contacts that reps are actively working.

Finding Duplicates in HubSpot

HubSpot has built-in duplicate detection. Here's how to use it and where it falls short.

The Manage Duplicates Tool

Go to Contacts, click the Actions dropdown, and select Manage Duplicates. HubSpot shows you potential duplicate pairs based on matching properties: first name, last name, email, phone number, IP country, zip code, and company name.

For each pair, you can:

  • Review the match and merge the records
  • Dismiss the suggestion if they're actually different people
  • Skip for now and come back later

The limitation: this is one pair at a time. If you have 500 duplicate pairs, that's 500 individual review and merge actions. HubSpot also caps the view at 5,000 potential duplicates for Professional accounts and 10,000 for Enterprise. If you have more than that, you won't see them all.

What HubSpot Detects (And Doesn't)

HubSpot's matching is decent for obvious duplicates. It catches:

  • Exact email matches
  • Very similar names with matching company or email domain
  • Same phone number with similar names

It misses:

  • Name variations (Robert vs. Bob, Catherine vs. Kate)
  • Company name variations (Acme Inc. vs. ACME Corporation)
  • Typos that are close but not close enough
  • Same person with completely different email domains

If you need to catch these fuzzy matches, you need different tools.

Custom Duplicate Rules (Data Hub)

With Data Hub Professional or Enterprise, you can create custom duplicate rules that define your own matching criteria. You can have up to two custom rules per object.

This lets you be more aggressive or more conservative than HubSpot's defaults, depending on your data patterns. But it still won't handle truly fuzzy matching like nickname variations.

Third-Party Deduplication Tools

For bulk deduplication and smarter matching, these tools fill the gaps.

Insycle

The most comprehensive option. Insycle connects to your HubSpot portal and offers:

  • Flexible matching rules that you configure
  • Bulk merge operations (process hundreds at once)
  • Preview before committing changes
  • Scheduled automated deduplication
  • Works on contacts, companies, and deals

The interface is more complex than HubSpot's native tools, but the power is worth it for serious cleanup projects.

Dedupely

Simpler than Insycle, focused specifically on duplicate detection. Good if deduplication is your only data quality need. Connects directly to HubSpot without requiring a separate app install.

Koalify

Takes a workflow-based approach. Useful if you want deduplication as part of automated processes rather than batch operations. Good for ongoing maintenance after initial cleanup.

Merging Duplicates Properly

Finding duplicates is the easy part. Merging them without losing important data requires care.

What Happens When You Merge

In HubSpot, when you merge two contacts:

  • Activities combine. Email history, form submissions, page views, meetings, calls, and notes from both records appear on the surviving contact.
  • Associations transfer. If either contact was associated with companies, deals, or tickets, those associations move to the surviving record.
  • Property values require choices. For properties where both records have different values, you pick which one to keep.
  • Email addresses consolidate. The surviving contact's email stays primary. The other contact's email becomes a secondary email, so both addresses can still match to the record.

What you lose:

  • The merged contact's record ID (external systems referencing that ID will break)
  • The ability to undo (merges are permanent)
  • Property values you don't choose to keep

Choosing the Winning Record

When merging, one record survives and absorbs the other. The survivor keeps its record ID, which matters for any external integrations or bookmarks.

Criteria to consider:

Most complete data: If one record has more fields populated, it's usually the better survivor.

Most recent activity: A record with recent engagement is more likely to have current information.

Oldest created date: Preserves the longest history and original source attribution.

Owner assignment: If reps actively own one record but not the other, keep the owned one to preserve the relationship.

Pick a rule that fits your business and apply it consistently.

Export Before Bulk Merging

Merges can't be undone. Before any bulk operation, export the full records of contacts you're about to merge. If something goes wrong or you need to reference the original data, you'll have it.

Handling Conflicting Property Values

When two records have different values for the same field, you have to pick one. This is straightforward for most fields, but some require thought:

Lifecycle stage: Usually keep the more advanced stage. A "Customer" shouldn't become an "MQL" through a merge.

Lead source: Keep the original source for attribution purposes, even if the surviving record is newer.

Owner: If both records have owners, decide which rep should own the merged contact. This is often a judgment call.

Marketing status: If either record is a marketing contact, the merged record will count as marketing. Be aware of this for billing.

Preventing Future Duplicates

Cleaning up duplicates is satisfying. Watching them come back is not.

Form Strategy

The biggest source of duplicates is forms. Strategies to reduce them:

Pre-fill forms for known contacts. If someone clicks through from an email, HubSpot can identify them and pre-fill their email. This encourages them to use the same email, creating an update instead of a new record.

Ask for work email explicitly. Instead of a generic "Email" field, label it "Work Email" to reduce personal email submissions.

Progressive profiling. Don't ask for all information on every form. If you already have someone's email, ask for additional fields instead. This reduces the chance of creating duplicates when someone fills out multiple forms.

Import Best Practices

Before importing any list:

  • Deduplicate the import file itself (Excel's Remove Duplicates or similar)
  • Match against existing HubSpot data before creating new records
  • Use HubSpot's import settings to update existing records when possible
  • Consider using a staging property to flag imported records for review

Integration Audit

Review every system that writes to HubSpot:

  • How does it handle existing records?
  • Does it check for duplicates before creating?
  • What identifier does it use for matching?

Configure integrations to update existing records rather than create new ones when possible. If they can't match on email, see if you can add a custom identifier field that both systems can use.

Ongoing Maintenance

Even with prevention in place, some duplicates will slip through. Schedule monthly or quarterly duplicate reviews to catch them early, before they accumulate engagement history that makes them harder to merge.

If you have Insycle or a similar tool, set up automated weekly scans that flag new duplicates for review.

The Cost of Duplicates

Why bother? Because duplicates create real problems.

Marketing contact inflation. If both duplicates are marketing contacts, you're paying for the same person twice. Across thousands of duplicates, this adds up to real money.

Broken lead scoring. Engagement signals split across records mean your scoring model only sees half the picture. Contacts that should be hot appear lukewarm.

Fractured automation. A nurture sequence might enroll both duplicates, sending the same person the same email twice. Or one duplicate qualifies for a sequence while the other doesn't, even though they're the same person.

Lost context for sales. Reps looking at a contact record see only half the engagement history. They don't know what the contact has read, clicked, or expressed interest in.

Inaccurate reporting. Contact counts, conversion rates, and attribution all skew when the same people are counted multiple times.

Common Questions

What happens to email history when I merge contacts?

All email history transfers to the surviving contact. Opens, clicks, and delivery data from both records combine. The secondary contact's email address becomes a secondary email, so future emails to either address will match to the merged record.

Can I undo a merge in HubSpot?

No. Merges are permanent. The merged record is deleted immediately and cannot be recovered from the recycle bin. Export before bulk operations.

Why does HubSpot allow duplicates if it has deduplication?

HubSpot only auto-deduplicates on exact email match. Different emails, even for the same person, are treated as different contacts. This prevents accidentally merging different people, but it means duplicates with different emails will accumulate.

How many duplicates can I merge at once?

HubSpot's native tool handles one pair at a time. For bulk merging, you need a third-party tool like Insycle, which can process hundreds or thousands in a single operation.

Have thousands of duplicates clogging up your HubSpot portal?

Dedupe My HubSpot

Related: How to Clean HubSpot Data | Data Deduplication Services | CRM Hygiene