HubSpot deduplicates contacts by email address and companies by domain name. Duplicates get through when something creates a record without giving HubSpot an email or a domain to match on, or goes around the check entirely. Common sources are imports without an email column, companies created through the API or a sync app, people with two email addresses, and records typed in by hand. Find which one is creating yours, fix that first, then merge. Merges can't be undone, so export before you start.
So the check is exact: a different email, even for the same person, is a different contact.
The first two come straight from HubSpot's deduplication page. The other two follow from how the check works:
There's also the reverse problem, which looks like a duplicate issue but isn't. When a form's Automatically create new contacts from unknown email addresses setting is off and HubSpot can't match the email, it can fall back to the browser cookie. HubSpot's forms page warns this "may result in contacts being overwritten if the same form is submitted multiple times from the same device." Think of a shared front-desk computer or someone filling out a form for a colleague. Two people end up in one record instead of two.
If you merge first, you'll be merging again next month. If you've just taken over the portal, start with where to start with a messy HubSpot portal.
You're looking for a pattern, not a perfect count.
Imports. Always include an Email column for contacts, a Company domain name column for companies, or the Record ID if you're updating records you exported. HubSpot's help page describes a simple method for messy files: export your records with their Record IDs, use VLOOKUP to match them against the new file, then split the new file into two imports, one with Record IDs for existing records and one for new records.
Integrations and automation tools. Open every zap, scenario or sync that creates contacts or companies. Each one should search for an existing record before it creates a new one. If it can't, have it create only when the search finds nothing. If you have a stable ID from another system, such as a customer number from your accounting software, store it in a custom property that requires unique values. HubSpot allows up to ten of those per object. They aren't supported in forms, though, so they're for imports and manual edits.
Forms. In the form editor, the settings icon opens a Settings tab with Automatically create new contacts from unknown email addresses. With it on, a new email creates a new contact instead of falling back to the cookie. The trade-off is that HubSpot turns off pre-populated fields and the reset link for that form. If you see people overwriting each other, it's worth it.
Hand-entered records. Ask your team to fill in the domain whenever they create a company.
With a Professional or Enterprise subscription, the duplicates manager does the finding for you. Go to CRM, then Contacts (or Companies), click the three vertical dots icon in the upper right, and select Manage duplicates. HubSpot compares records on fields like name, email, phone and company name, and shows you pairs to review.
For each pair:
Bulk merging and custom duplicate rules need a Data Hub Professional or Enterprise subscription. If you reject a pair by mistake, View history lets you undo it within 14 days, as long as neither record has been changed in the meantime. A merge has no undo.
Before you merge a lot of records, know what a merge does. According to HubSpot's merge page:
So contacts merged in the middle of a nurture stop getting it.
Not everything that looks like a duplicate is one.
We'd rather leave a questionable pair alone than merge the wrong two people. If you're not sure, reject the pair. You can undo a reject. You can't undo a merge.
No. HubSpot's merge page says it isn't possible. You can create a new contact with the old email address, and the Merged Record IDs property shows which records were combined.
Yes, if the file has a column it can match on: Email for contacts, Company domain name for companies, or Record ID. Without one, HubSpot imports each row as a new record.
HubSpot doesn't deduplicate companies created through its API, and that includes installed sync apps. An import that matches on a custom unique property instead of the domain can also bring in companies with domains you already have.
It can, in the same ways anything else can: a contact created with no email, or with a second address for someone you already have. If a zap creates companies, set it to look for an existing company first.
You can still merge records one at a time from the record itself (Actions, then Merge), and everything in the "stop it at the source" section still applies. The duplicates manager needs Professional or Enterprise.
Duplicates are often a symptom of how data gets into the CRM: forms, imports, integrations and people. Our Revenue Stack Audit traces how records get into your CRM and ranks what to fix. Want a second set of eyes on your setup? See how the audit works.
Sources (HubSpot Knowledge Base): Deduplicate records in HubSpot, Create and customize forms, View a record's property history, Review and manage duplicate records, Merge records, Understand and use the record page layout.
Independent. Not affiliated with HubSpot. HubSpot is a trademark of HubSpot, Inc. Zapier and Make are trademarks of their respective owners.