Handling Duplicates in the HubSpot Salesforce Integration

Duplicates behave differently in a HubSpot Salesforce integration. RevBlack covers prevention, contact and company deduplication, and Salesforce merge logic.

Handling Duplicates in the HubSpot Salesforce Integration

Most HubSpot-Salesforce duplicate problems are not caused by bad imports. They are caused by the integration itself creating records that neither system catches automatically. RevBlack sees this in nearly every dual-stack audit: the sync is live, the native deduplication settings were never updated for the integrated environment, and duplicates are quietly accumulating across Contacts, Companies, Leads, and Accounts - splitting activity history, triggering automations twice, and corrupting the pipeline reporting the board relies on.

What worked for deduplication in HubSpot-only or Salesforce-only environments does not work once both systems are connected. The rules change. The tools change. And the cost of getting it wrong doubles because every duplicate exists in two places at once.

This guide covers how to prevent duplicates before they start, how to handle them inside HubSpot, and how to manage them in Salesforce - in that order.

Duplicate contacts and companies splitting your activity history and corrupting your pipeline reports?

BOOK A FREE DEDUPLICATION AUDIT

Why Do Duplicates Behave Differently Once HubSpot and Salesforce Are Connected?

Duplicates in a HubSpot-Salesforce integration are structurally different from duplicates in a single-platform environment - and treating them the same way is one of the most common mistakes RevBlack fixes.

In HubSpot alone, duplicates are relatively contained. HubSpot deduplicates on email address by default, and the Manage Duplicates tool surfaces most of the obvious problems. In Salesforce alone, duplicates are expected in certain contexts - particularly with Leads and Contacts, which are separate objects that can legitimately represent the same person at different stages of the funnel.

Once the integration is live, both systems' deduplication logic runs simultaneously - and they do not always agree. HubSpot may create a new Company for every form submission. Salesforce may allow a Lead and a Contact to coexist for the same person. The sync moves these records back and forth, and what starts as one duplicate in one system becomes two duplicates across two systems within the next sync cycle.

Left unchecked, duplicates in the integration cause four specific problems: reporting errors from split activity history, sync failures from conflicting field values, missed handoffs when leads route to the wrong record, and automation double-firing when both the duplicate and the master meet a workflow trigger.

How Do You Prevent Duplicates Before They Start?

Prevention is the highest-leverage point in duplicate management. RevBlack addresses three integration settings before any cleanup work begins.

Turn off "Automatically create and associate companies with contacts" in HubSpot. This setting is useful in a HubSpot-only environment - it creates a Company record automatically when a contact submits a form. In an integrated environment, it creates duplicate Companies. When HubSpot is synced to Salesforce, Company deduplication is based on Salesforce Account ID and domain - not on the name or email match logic HubSpot uses when creating companies automatically. Leave the setting on and HubSpot creates a new Company record for every form submission, even when the Salesforce Account already exists. Turn it off before the sync goes live.

Configure Salesforce Duplicate Rules on all three objects. Salesforce supports native Duplicate Rules on Leads, Contacts, and Accounts. When configured correctly, these rules warn users or block record creation when a potential duplicate is detected. RevBlack configures duplicate rules on all three objects as a baseline - not just Contacts. Accounts and Leads are the most frequent sources of integration-specific duplicates and are left unconfigured in most out-of-the-box Salesforce setups.

Monitor the HubSpot integration health tab - but do not rely on it alone. HubSpot's integration health tab flags duplicates that are interfering with the sync. It does not surface all duplicates in the portal. A contact with a slightly different email format, a company created before the Salesforce Account existed, or a lead imported from a list - none of these appear in the integration health tab. Schedule regular duplicate audits in both systems beyond what the health dashboard catches.

How Do You Deduplicate Contacts in HubSpot?

HubSpot's Manage Duplicates tool handles contact deduplication when used with the right configuration - but the default view does not show enough context to make accurate merge decisions in an integrated environment.

RevBlack adds three surfaced properties before running any contact deduplication in HubSpot: Create Date, Salesforce Contact ID, and Salesforce Lead ID. These three fields determine which record is the master and whether the merge should happen in HubSpot or Salesforce first.

The contact deduplication sequence in HubSpot:

  1. Go to Contacts > Contacts. Click Actions > Manage Duplicates.
  2. Add surfaced properties: Create Date, Salesforce Contact ID, Salesforce Lead ID.
  3. Identify the master record. The master is the record that should survive the merge. In an integrated environment, the master is the record with a Salesforce ID - or, if both have Salesforce IDs, the record with the more complete data.
  4. If both records have Salesforce IDs, stop. Merge in Salesforce first. With the correct integration settings enabled, merging in Salesforce automatically clears the duplicate in HubSpot. Merging in HubSpot first when both records have Salesforce IDs creates a sync conflict.
  5. If only one record has a Salesforce ID, open the master contact in HubSpot. Click Actions > Merge and enter the duplicate's email address. The master record retains its Salesforce ID and all associated activity.

The rule RevBlack applies consistently: the Salesforce-linked record wins. When in doubt, check Salesforce before merging in HubSpot.

How Do You Deduplicate Companies in HubSpot When Salesforce Is Connected?

Company deduplication in HubSpot is more manual than contact deduplication - and more consequential, because HubSpot disables company merging once the Salesforce integration is live.

This is the most operationally disruptive duplicate scenario RevBlack encounters in integrated environments. HubSpot disables Company merging because Salesforce is the system of record for Accounts, and merging Companies in HubSpot would create conflicts with the Account records in Salesforce. The result: duplicate Companies in HubSpot must be manually deleted, with their associated assets transferred to the correct master record first.

The company deduplication sequence in HubSpot:

  1. Go to Contacts > Companies. Click Actions > Manage Duplicates > Companies.
  2. Add surfaced properties: Create Date and Salesforce Account ID.
  3. Identify the master Company - the one linked to a Salesforce Account ID. If both have Salesforce Account IDs, deduplicate in Salesforce first. HubSpot will not automatically resolve Company duplicates from a Salesforce Account merge.
  4. Before deleting the duplicate Company, transfer its assets to the master:
    • Contacts: In the master Company record, bulk-add associated contacts by email domain.
    • Attachments: Download from the duplicate, re-upload to the master.
    • Deals: Re-associate each deal from the duplicate to the master Company.
  5. Once all assets are transferred, delete the duplicate Company.

This process is manual and time-consuming at scale. For companies with more than a few hundred duplicate Companies, RevBlack recommends a dedicated cleanup sprint with a defined freeze window - no new records created in either system during the cleanup - to prevent new duplicates from appearing while the merge work is in progress.

How Do You Identify and Merge Duplicates in Salesforce?

Salesforce does not surface duplicates the same way HubSpot does. RevBlack builds custom duplicate reports for each object before running any merge work.

The native Salesforce duplicate detection UI is not designed for bulk review. Finding and merging duplicates at scale requires custom report types that expose the Duplicate Record Items object - which is not included in standard Salesforce report types by default.

Building custom duplicate reports in Salesforce:

  1. Go to Setup > Report Types > New Custom Report Type.
  2. Select the primary object: Lead, Contact, or Account.
  3. Name the report type "[Object] Duplicates" and store it in the correct folder.
  4. Add a related object: Duplicate Record Items. Select "Each A record must have at least one related B record."
  5. Save and repeat for all three objects.

Once the report types are built, run the duplicate report from the Reports tab. For each flagged duplicate set:

  1. Open the Duplicate Record Item Name.
  2. Click into the Duplicate Record Set to view the two records side by side.
  3. Confirm they are actual duplicates - not legitimately separate records that share a name or email.
  4. Use Salesforce's View Duplicates option to select the master record.
  5. Merge, keeping the most accurate field values for any conflicts between the two records.

Repeat for Accounts, Leads, and Contacts. Leads require particular attention in an integrated environment - a Lead and a Contact for the same person should be resolved by converting the Lead in Salesforce, not by deleting either record. Deleting a Lead that has a corresponding HubSpot contact without converting it first breaks the association and leaves the HubSpot contact without a Salesforce match.

For the full integration architecture decisions that determine how Lead and Contact objects should be structured in a dual-stack environment, see the HubSpot Salesforce integration guide.

What Is the Right Ongoing Cadence for Duplicate Management?

Duplicate management is not a one-time project. RevBlack builds a standing audit cadence into every integration engagement to prevent duplicates from re-accumulating.

The minimum ongoing cadence RevBlack recommends for a HubSpot-Salesforce integrated environment:

Monthly: Run the HubSpot Manage Duplicates tool on Contacts. Check the integration health tab for sync-related duplicate flags. Review the Salesforce duplicate reports on Contacts and Leads for any new flagged sets.

Quarterly: Run the full duplicate audit across all objects in both systems - Contacts, Companies in HubSpot, and Leads, Contacts, Accounts in Salesforce. Review the "Automatically create and associate companies" setting in HubSpot to confirm it is still off. Audit Salesforce Duplicate Rules to confirm they are still active and configured correctly.

After any bulk import: Any list import into HubSpot or Salesforce should trigger an immediate post-import duplicate scan. Bulk imports are the single most common source of large-scale duplicate events in integrated environments.

For teams managing data quality more broadly across the dual stack, the CRM data hygiene habits guide covers the full prevention and audit framework that sits around duplicate management.

BOOK A CALL
Frequently Asked Questions
Why can't I merge Companies in HubSpot when Salesforce is integrated?
HubSpot disables Company merging once the Salesforce integration is live because Salesforce is the system of record for Accounts. Merging Companies in HubSpot would create conflicts with the corresponding Salesforce Account records. RevBlack handles duplicate Companies in integrated environments by transferring all associated assets - contacts, deals, and attachments - to the master record manually, then deleting the duplicate.
What is the best way to identify duplicates in HubSpot when Salesforce is connected?
Use the HubSpot Manage Duplicates tool with three surfaced properties added: Create Date, Salesforce Contact ID, and Salesforce Lead ID. These fields determine which record is the master and whether the merge should happen in HubSpot or Salesforce first. RevBlack's rule: if both records have Salesforce IDs, merge in Salesforce first - merging in HubSpot first when both records have Salesforce IDs creates a sync conflict.
How often should you check for duplicates in a HubSpot Salesforce integration?
RevBlack recommends a monthly duplicate scan on Contacts in HubSpot and a quarterly full-object audit across both platforms covering Contacts, Companies, Leads, and Accounts. Any bulk import into either system should trigger an immediate post-import duplicate scan. The HubSpot integration health tab only flags duplicates interfering with the sync - it does not catch all duplicates in the portal.
Can you automate duplicate prevention in HubSpot and Salesforce?
In Salesforce, Duplicate Rules on Leads, Contacts, and Accounts can block or warn users when a potential duplicate is detected at the point of record creation. In HubSpot, native automation for duplicate prevention is more limited - turning off "Automatically create and associate companies with contacts" and using strict inclusion lists on imports reduces the most common sources of integration-specific duplicates. RevBlack configures both as part of every integration setup.
Does merging records in Salesforce automatically fix duplicates in HubSpot?
Yes, if the integration setting "delete HubSpot contacts when Salesforce records are deleted" is enabled. With that setting active, merging in Salesforce removes the duplicate record from HubSpot automatically on the next sync cycle. Without it, the merge in Salesforce does not propagate to HubSpot and the duplicate must be resolved manually in both systems.
Guides

Don't miss these

Get started with revblack today

Ready to see these results for your business?

Fill out form