How does the HubSpot-Salesforce Integration handle duplicate Contacts or Leads?

Last updated: January 26, 2017

Available For:

Marketing: Pro, Enterprise
Sales: N/A

Both HubSpot and Salesforce advise against using duplicate records as it introduces the possiblity for data corruption.  HubSpot automatically deduplicates Contacts based on email address (for more information click here), though in Salesforce you must set up a process for managing duplicate records.  

Some sales teams may use a process that creates new Lead records when a known Contact re-engages, or becomes a new opportunity.  The HubSpot - Salesforce integration will not create new records if a record with a matching email exists, so the recommended solution for managing Lead re-engagement is to either create new tasks, or new opportunities and associate those with the existing Contact record.  While we strongly recommend using tasks or opportunities, we understand that in some circumstances it's not practical to shift your processes, and as noted by Salesforce documentation, duplicates are often unavoidable.

If you have duplicate records in Salesforce, here's what you can expect:

  • If multiple records with the same email address exist in Salesforce, but the record is being created for the first time in HubSpot - the initial sync occurs, and HubSpot searches Salesforce for records with that email address, Salesforce returns all records that match (this does not occur in any consistent order, but in general the first record returned is the oldest), and HubSpot syncs with the first record returned. Click here for more information.
  • After the initial sync has occurred, HubSpot will sync with whichever record has been most recently updated in Salesforce. HubSpot can only sync with one record at a time, and if a record other than the one currently syncing is updated, it will trigger a sync to the most recently updated record switching the association.
  • HubSpot deduplicates based on email address - if you have records with the same name or other matching fields (e.g. Name) in Salesforce, you may consider this a duplicate, but to HubSpot this will appear as two unrelated records.
  • Merging duplicates:
    • If you are attempting to clean up duplicate records in Salesforce by merging records you should always choose the currently syncing record as the master.  One way to determine the syncing record is to look for the record in Salesforce with data in the HubSpot Intelligence Visualforce embed. During the merge process, which you can learn about here, you can then choose the record with the embed as the master record. Additionally, if you have mapped the HubSpot contact property Last Salesforce Sync Time to a custom field on your Leads and Contacts in Salesforce, you can use that field to determine the syncing contact during the merge process. This property in HubSpot is updated each time a record syncs from HubSpot to Salesforce, so it will always indicate the Salesforce record that is most up to date.
    • If you accidentally merge into the record that is not currently syncing with HubSpot, the corresponding record in HubSpot will be unable to sync with it and a message will display indicating that the record in Salesforce has been deleted.  If this is the case on only a few records, you can manually Resync from the contact record in HubSpot.  If you have accidentally bulk merged records incorrectly, please contact HubSpot Support.  

    • If there are matching duplicate records in HubSpot, you must merge into the record that corresponds with the master record you chose in Salesforce.  For instructions on merging HubSpot Contacts, click here.  If you have enabled the setting in your Salesforce Settings Screen within HubSpot to delete HubSpot contacts when a Salesforce Lead/Contact is deleted then the secondary Contact within HubSpot will be deleted when its matching record within Salesforce is merged into the Master record.



Was this article helpful?