Confused by Salesforce Sync documentation on how duplicates are handled
Ok, so this has caused all kinds of confusion with me this morning. Most of the content I have read (including HubSpot community posts) say that, if duplicate contacts/leads exist in SFDC (based on emails) HS will sync contacts with the most recently updated record in SFDC.
"If you have duplicate Salesforce lead or contact records with the same email address, and the contact is being created for the first time in HubSpot, HubSpot will search Salesforce for lead/contact records with that email address. Salesforce will return all records that match (in no particular order), and HubSpot syncs with the first record returned..."
So, Point 1: a new HubSpot contact created in HubSpot will be synced with the first matching record that is returned by the Salesforce API (which could be completely arbitrary or perhaps based on logic that we do not have visibility or understanding of).
This goes against what I and my team understood - that HS would select the most recently updated record (in salesforce) to sync with. This is also the information that gets repeated in replies on multiple posts across the HS community. (e.g. Here )
BUT THEN the last sentence of that earlier paragraph drops this bombshell:
"...Moving forward, HubSpot will sync with whichever record was most recently updated in Salesforce."
I'm now really confused. That's what I thought happened anyway. But having these two sentences next to each, with no additional context or scenarios, has completely confused me.
Now, I always understood that, following that initial sync when the SFDC to HS "match" is made, it would then stay syncing with that record (as long as no deletions, lead conversion etc). We can see the SFDC record ID of the matching record on the HS contact property (depending on if Lead of Contact is being synced).
Does that last sentence mean that the SFDC record selected to sync with HS will actually change depending on which one is the last to be updated in SFDC? This seems unlikely as it would potentially cause all sorts of data integrity issues, as well as issues with automation.
Or is it saying something else? If so, Could someone provide an example scenario or additional context to explain what the last sentence means?
Oh - We also have a "legacy" HubSpot account, so does that/would that impact on the sync rules in anyway?
Confused by Salesforce Sync documentation on how duplicates are handled
Ok - so it looks like, from numerous other sources of information, that this is a poorly written knowledge base article that needs to be updated. The expected behaviour is that HubSpot will choose to sync with the most recently updated lead or contact in Salesforce. Once HS starts syncing a contact with a Salesforce record it will keep syncing with that unless something happens e.g. salesrorce record is deleted / converted / merged etc.
Confused by Salesforce Sync documentation on how duplicates are handled
Hey @OJ_ONT, thank you for posting in our Community!
Currently, once the sync is established, HubSpot will continue syncing with that record unless a major change occurs, like a lead conversion or deletion. The last sentence likely means that updates in Salesforce determine ongoing sync behavior, but it doesn’t automatically switch records unless something forces a re-evaluation.
If you have a legacy HubSpot account, it’s worth checking your sync settings to confirm any differences.
Join us on March 27th at 12 PM for the Digital Essentials Lab, an interactive session designed to redefine your digital strategy!
Engage with expert Jourdan Guyton to gain actionable insights, participate in live Q&A, and learn strategies to boost your business success. Don't miss this opportunity to connect and grow—reserve your spot today!
Currently, once the sync is established, HubSpot will continue syncing with that record unless a major change occurs, like a lead conversion or deletion. The last sentence likely means that updates in Salesforce determine ongoing sync behavior, but it doesn’t automatically switch records unless something forces a re-evaluation.
My experience is that this is incorrect. HubSpot will sync with whichever contact has been most recently updating in Salesforce. We have a few thousand contacts that are switching frequently based on when an update happens to the record that HS is syncing too. So properties on the contact record in HubSpot will change and trigger changes to list memberships, workflows to run etc. It's not an ideal situation. I realise we need to get rid of the duplicates, but this doesn't seem like the best way of building the sync tool.
Currently, once the sync is established, HubSpot will continue syncing with that record unless a major change occurs, like a lead conversion or deletion. The last sentence likely means that updates in Salesforce determine ongoing sync behavior, but it doesn’t automatically switch records unless something forces a re-evaluation.
Ok - so we now have quite a bit of evidence to the contrary. What we are seeing is that the contact or Lead in Salesforce that HubSpot is syncing with is changing quite frequently based on which contact has last been updated. This is quite a significant data integrity issue and potentially a significant headache.
Confused by Salesforce Sync documentation on how duplicates are handled
Thanks Pam, this is really helpful! Good to know it won't change and will stay pointing to the same record in Salesforce unless something changes.
I'm still confused by the knowledge base article. Perhaps it's me, but I don't get the different clauses, which to me read as: "A definitely happens. Moving forwards, B happens." But when and where do we move forward.. and why – if A happens, then why do we need B? Is this a change of behaviour?
So.. when multiple potential matches exist in salesforce for a new HubSpot contact, or a contact that already exists but is about to be synced for the first time – is it correct to say that HubSpot will sync with: 1. the first contact that is returned by the salesforce API; Or is it, 2. the most recently updated record returned by the salesforce API.