Data quality
Email matching vs identity matching in HubSpot
HubSpot’s automatic dedupe keys off email. Same address → same contact. New address → new contact. That’s email matching.
Identity matching asks a different question: is this the same person, even when the email changed? That’s the gap behind most “we cleaned duplicates and they came back” stories — and the gap our HubSpot duplicate contacts pillar covers at a high level. This post is the how.
Who this is for: Ops / RevOps hitting contact limits after job changes or enrichment imports. Not for: a Manage Duplicates click-path tutorial.
Why HubSpot still creates duplicates when the email is new
At create time, HubSpot is trying to avoid two records with the same email — not to prove two different emails are one human. So a job change, a second inbox, or an enrichment list with a fresh address often lands as a brand-new contact on your billable count.
How HubSpot creates the second contact
| Create path | What happens | Why email matching misses it |
|---|---|---|
| Form / new work email | New primary email → new contact | Different address = “new person” (HubSpot can also match on cookie when tracking is accepted — still not identity across emails) |
| Secondary email (Email 2) vs new primary | New record if treated as a create, not an update | Auto-dedupe only keys the Email property on create |
| Personal + work on one human | Two emails often become two records | No shared unique key across both |
| Import set to create new | Rows without a matching Email create contacts | Skip unique ID / wrong match key → extras |
| Enrichment lists (Apollo, Clay, Clearbit, ZoomInfo, etc.) | Fresh emails land as new contacts | Job-change and multi-email data is the product |
Manage Duplicates (Pro+) can later suggest pairs using name, email, phone, and more. Useful — and a different job from blocking the create. It’s paid-tier, plan-capped on how many pairs you see, and contacts/companies only. Ops Hub’s ML layer is the nearest native identity-ish tool; it still doesn’t replace “don’t create the second contact when the email is new.”
What identity matching actually checks
Before you merge, you want evidence — not a name collision:
- Confirmed — strong signals agree (e.g. name + local-part + independent corroboration)
- Likely — a hard identifier matches; worth a human look
- Name only — usually different people; don’t merge to “save” a contact seat
A merge in HubSpot can’t be undone. Identity matching is how you decide what’s safe — not how you auto-rewrite the CRM.
Where Hublytix fits
Hublytix is scan / flag / export. Read-only. You merge in HubSpot. It exists for the different-email case email matching never blocks at create time — not as a replacement for Manage Duplicates how-tos.
Related reading: HubSpot duplicate contacts with different emails · HubSpot duplicate tools for different-email contacts · The real cost of a messy HubSpot portal · How Hublytix works