How to Fix Duplicate Contacts Across HubSpot and Other CRMs

Duplicate contacts in HubSpot or across CRMs? Learn why they form, how to merge them safely, and how to stop new duplicates from coming back.

Contact Us
Let AI Summarize This Post for You
Table of Contents

    Duplicate contacts split one customer's history across several records, so reps miss context, emails double up, and reports inflate. This guide explains why duplicates form between HubSpot and other CRMs, how to merge them safely, and how to stop new ones.

    Why Duplicate Contacts Appear Across HubSpot and Other CRMs

    Every new contact faces one test: does its identifier match a record that already exists? HubSpot runs that test on the email address. Some CRMs, Salesforce included, can store the same email on more than one record, so the two systems do not even agree on what makes a person unique.

    The test fails in four predictable ways:

    • One person, several addresses. A buyer who signs up with a work address and later with a shared inbox looks like two people.
    • Imports with no identifier. A file without an email, Record ID, or unique-value column creates a new contact for every row.
    • Mismatched identity rules. When a connected CRM allows repeated emails, its extra copies have no clean place to land in HubSpot.
    • Records with no email. Contacts added by hand or by sales tools without an address skip the email check entirely.

    How HubSpot Finds Duplicates Already in Your CRM

    HubSpot's duplicates manager looks for likely matches as contacts are created, and once a day otherwise. For contacts, it compares first name, last name, email, IP country, phone number, zip code, and company name, then gives each pair a similarity score you can filter by.

    What you can do with the results depends on your subscription:

    Capability Subscription needed
    Review and merge pairs one at a time, up to 10,000 pairs shownAny Professional or Enterprise hub
    Bulk merge or reject, up to 30,000 pairsData Hub Professional
    Bulk merge or reject, up to 100,000 pairsData Hub Enterprise
    Custom duplicate rulesData Hub Professional or Enterprise

    Users also need Data quality tools access plus edit rights to all contacts, or Super Admin permissions.

    Custom rules matter when the default comparison misses your pattern. Each object allows two rules of up to nine properties each, and HubSpot warns you when a rule matches more than 10% of your records. Phone numbers or IDs synced from connected systems make rules sharper. Pairs you reject stop appearing, and a rejection can be undone within 14 days if neither record changes.

    Duplicates Still Piling Up in Your CRM?

    Duplicate contacts quietly break reports, double up emails, and hide customer history. Our experts can clean your data and set up rules that keep it clean.

    Get a Data Cleanup Review

    How to Merge Duplicate Contacts Safely

    A merge folds a secondary record into a primary one, and it is permanent. Export the affected contacts first so you keep a copy of every value before it changes.

    To merge one pair, open the contact you want to keep, choose Actions > Merge, select the duplicate, and pick which property values survive. Activities can take up to 30 minutes to appear on the combined record. HubSpot's merge rules decide the rest:

    Data What survives the merge
    Record IDA new ID, unless your account is in HubSpot's ID-preservation beta; old IDs stay in Merged Contact IDs
    Create dateThe oldest value
    Property valuesThe primary's, with blanks filled from the secondary
    EmailThe primary's address stays primary; the other becomes an additional email
    Lifecycle stageThe stage furthest down the funnel
    Form and conversion countsAdded together
    Marketing contact statusThe more marketable status
    Activities and associationsCombined from both records

    A merge fails if the two records have been through 250 or more merges combined, or if the result would exceed your association limits.

    Bulk merging applies one criterion to every selected pair: most recent engagement, oldest engagement, created first, created last, or most recently updated. That speed carries a risk raised in the HubSpot Community: if the winning record holds a dead email, the dead address becomes primary.

    Data Hub accounts in the merge rules beta can prevent this with conditions, such as preferring records whose email is not on a free provider, then falling back to the record with the most activity or the highest fill rate. Marketplace tools such as Insycle, Koalify, and Dedupely add field-level retention for teams that need finer control.

    Fixing Duplicates Created by Different Email Addresses

    A HubSpot Community thread describes a webstore with 50,000 duplicates: buyers registered with a personal work address, then again under the same name with info@ on the same company domain. Email-based deduplication never catches this, because the addresses differ.

    • Detect by pattern, not address. A custom duplicate rule on first name, last name, and email domain groups these records. Older community answers say HubSpot cannot do custom rules, but Data Hub Professional and Enterprise now can. Review each group before merging, since a shared inbox may belong to several people.
    • Choose the right primary address. Marketing emails, workflow emails, segment filters, and reports use only the primary email, so make the address the person actually reads primary. If it hard-bounces, promote a working secondary address, because bounces attach to the address rather than the contact.
    • Recheck after form fills. When a contact submits a HubSpot form with a secondary address, that address overwrites the primary.
    • Load every address on import. When moving records from another CRM, put extra addresses in the Additional email addresses column, separated by semicolons. HubSpot then deduplicates against all of them instead of creating new contacts.

    Fixing Duplicates That Span HubSpot and Another CRM

    When two systems sync, a duplicate in either one leaks into the other. Cleanup therefore has an order: decide which system owns contact identity, clean that system first, then merge in HubSpot.

    Salesforce shows why order matters. HubSpot matches Salesforce leads and contacts by email only, and when several Salesforce records share an address, it links to whichever one Salesforce returns first. After that, it syncs with whichever was updated most recently, so the HubSpot contact can be overwritten repeatedly.

    • Find the linked record. On the HubSpot contact, note the Salesforce Lead ID or Contact ID property.
    • Merge in Salesforce first, keeping that record as the primary. Keep a different one and the HubSpot contact stops syncing until you click Resync.
    • Merge in HubSpot second, keeping the contact linked to Salesforce. Only the primary keeps syncing afterward, and only its primary email is used for matching.
    • Block repeat copies. Salesforce Selective Sync limits which records flow into HubSpot, so known duplicates never arrive.

    Check one setting before you start: if HubSpot deletes contacts when their Salesforce record is deleted, merging in Salesforce also removes the HubSpot contact tied to the losing record.

    For Zoho, Dynamics 365, Pipedrive, or a custom integration, follow the same order and give matching a stable anchor. Store the other CRM's record ID in a HubSpot property that requires unique values, then use it as the key in imports and custom duplicate rules.

    How to Stop New Duplicates From Forming

    Cleanup without prevention only resets the clock. These controls close the gaps that let copies in:

    • Give every import a key. Include an email, Record ID, or unique-value column. When matching only on Record IDs, export existing contacts, cross-check them against the new file with VLOOKUP, and import existing and new records as separate files.
    • Know where unique values stop. Each object supports up to ten unique-value properties, but forms ignore them, so web leads still depend on email.
    • Search before creating. Ask reps to search by name and company, not just email, before adding a contact by hand.
    • Review on a rhythm. The duplicates queue refreshes daily, and a weekly review keeps it small enough to handle pair by pair.
    • Fix the entry point. When the same pattern keeps returning, trace it to the form, import, or integration that creates it and change that source.

    Need Help Syncing HubSpot With Your Other CRM?

    From merge rules to Salesforce sync settings, our team can set up clean, duplicate-free contact data across every system you use.

    Talk to Expert

    Frequently Asked Questions

    Can I undo a merge in HubSpot?

    No. The Merged Contact IDs property lists the records that were folded in, and you can delete the extra email from the merged contact, then create a new contact with it. The old activity history will not move to the new record.

    Should I merge or delete duplicate contacts?

    Merge when both records hold activity, deals, or form history, because a merge keeps that context together. Delete only empty or junk records, since deletion discards their timeline.

    Do duplicate contacts increase my HubSpot bill?

    They can. Every record set as a marketing contact counts toward your contact tier, and exceeding it by even one triggers an automatic upgrade billed until renewal. Switching duplicates to non-marketing takes effect on your next update date.

    How does merging affect workflows and lists?

    The secondary record leaves every static segment. By default, both records are unenrolled from active workflows, and the merged contact will not enroll in new ones because of merge changes unless your workflow settings allow it.

    Why can't I add an email that HubSpot says already exists?

    The address is probably an additional email on another contact. Export your contacts with the Include all email addresses option to find it, then remove it there or merge the two records.

    Does merging contacts merge their companies too?

    No. The merged contact keeps company associations from both records, but the companies stay separate. The primary contact's primary company keeps its Primary label, and the other company stays associated without it.

    We don't do consultations. We solve your growth challenges. Discuss your challenge
    Miley Johnson

    Our Customer Success Manager will reach out within the same day to discuss your project.

    Grow your business faster with AI, CRM, and proven digital strategies

      Contact Us

      We Got Your Back!

      Tell us about your problems and one of our Customer Success Managers will get back to you the same day. No spam. No pressure.

      No spam. No pressure.
      Miley Johnson Customer Success Manager
      Adam Starc Customer Success Manager

      Prefer direct contact? Call or email us anytime.

        Phone Number Icon