Jan 14, 2021 11:56 AM
We are deploying HubSpot as our new marketing platform with Salesforce.com as our CRM. We use leads and contacts in salesforce and want net new contacts in HubSpot to be created as new leads in salesforce, and we want to update existing leads or contacts with any new data flowing into HubSpot. While I am pretty confident I will be able to use the right combinaton of workflows in either system to support our marketing to sales handoff, I am struggling to understand the basic data flow.
Can anyone let me know where I can learn how data flows in these scenarios related to the different salesforce lead and contact objects when a HubSpot form is submitted. First, is it correct to build the forms using properties that are mapped to fields on the salesforce lead object? Then it is clear that a form submission with a new email address will create a new HubSpot contact and those fields will be pushed into a new salesforce lead (and all the normal stuff works like salesforce lead assignment rules). What about when there is a form submission with an email address match on an existing HubSpot contact...
1) How do these field updates push into saleforce when the corresponding salesforce record is an unconverted (existing) lead. Is the match on email address? Is there significance to the HubSpot property "salesforceleadid"?
2) How do these field updates push into saleforce when the corresponding salesforce record is a converted lead and is now a salesforce contact. Is HubSpot blind to converted leads or is that how it works to move the data to the salesforce contact through its converted lead and the salesforce lead to contact mapping? I think I saw a KB article that seemed to suggest this. Would I expect the the HS field "salesforcecontactid" to be blank in this case?
3) How do these field updates push into saleforce when the corresponding salesforce record is a contact that does not have a corresponding converted lead. How do we get the form data that is mapped to the salesforce lead object into a similar field on salesforce contact?
I am planning on not using an inclusion list so we send everything from HubSpot into salesforce. And I have the sync set to:
When a HubSpot contact is created or updated > Create a lead in salesforce.
Jan 15, 2021 4:41 AM
Thank you for reaching out, and for the detailed explanation
Jan 15, 2021 6:21 AM - edited Jan 15, 2021 6:33 AM
The integration part is the key here.
First of all, I would suggest auditing a list of fields that are being used in your lead & contact object in Salesforce. Do you have enough fields in the lead/contact object that can be mapped to HubSpot? Then list out the HubSpot standard contacts properties. Compare both Salesforce lead & contact objects and HubSpot contacts properties. Are you missing any fields that you needed for your company? What are the fields that you're planning to use in a contact form? Are you planning to use any hidden fields? What are the most important fields in Salesforce for your business? If the Salesforce required fields are missing in HubSpot, create those properties. So that you can use those properties in a contact form or for your internal use. Make sure you are creating a similar type of field in both systems. Then map your HubSpot contact with Salesforce lead with proper settings. HubSpot can send a lead to Salesforce either as lead or contact. You can select lead from the HubSpot & Salesforce integration settings. You might also want to use an inclusion list so that you don't push all marketing contacts (such as blog subscribers) to Salesforce.
When the lead is not converted it will only have lead id (contact id will be blank), when the lead is converted, you will see a contact id as well.
HubSpot contacts sync to both Lead & Contact Object. For example Lead A is created in HubSpot via form submission and passed to Salesforce. Depending upon your data flow direction (by or unidirectional), you can update records from either platform. Suppose lead A is converted to contact A in Salesforce. Again that contact A will sync back to the same HubSpot contact A, now any changes you make on the contact object will update the records in the HubSpot contact. You have to make sure your lead object & contact object fields are properly mapped in Salesforce. Once you convert a lead to contact, now incoming lead in HubSpot will automatically sync to the contact record. I suggest skimming through HubSpot knowledgebase, I think it has all the answers.
Jan 15, 2021 7:36 AM
Thanks @Aakar, thanks for your guidance - it makes sense. What I was missing was the point that I will need to map a single hubspot contact property to the corresponding fields in both the SFDC lead and contact objects!
I did find a specific behavoir I am happy to share:
Salesforce allows that the field API name can be the same in different objects. So let's say I have a custom field on lead and a field on contact called market, both api names = market__c (all salesforce customer fields are appended with double underscore + c"). When I integrated salesforce with Hubspot for the first time, Hubspot came across the first (?) instance of that field (I think contact) and created a Hubspot property with its api name = market__c. I could NOT have 2 mappings for the Hubspot field market__c to each of the fields in salesforce that have the identical api names (error message when mapping). If the label is the same, you cannot see which one was which. So I changed a field label so I can differentiate, but it still didn't work. I needed to change one of the salesforce field api names to get this to work. A couple different ways to solve this, but I think I will delete all the hubspot fields created automatically from salesforce via the integration (need to delete the mappings first), then I will recreate the properties manually so they will not match salesforce since they will never include __c. I still may want to know which salesforce field is which, I can choose to change the label or API name, I don't know which way I will go. Or maybe I will just rely that they will always be displayed in a list in a consistent order, so I can map the first one in the list, then the second one sequentially. I may try that as it is the least amount of lift on the salesforce side.
Jan 15, 2021 7:37 AM
One more thing, can anyone explain this to me: https://knowledge.hubspot.com/integrations/sync-salesforce-leads-and-contacts-to-hubspot. These are standard salesforce fields but they are not related to opportunities. Some of them are lead fields and some are contact fields. And I am wondering what is the native mapping behavior for the app (if any).
Feb 3, 2021 1:59 PM
If you read my original post, then I hope you get to this comment, since I built it wrong. I am currently rebuilding/restoring what I need before I go live. I just learned that like standard hubspot contact properties, that are standard-mapped to standard salesforce lead AND contact properties, custom fields work the same way - based on a common salesforce field api name. So if I have a custom field on the SFDC lead object with the api name = market__c AND I have a custom field on the SFDC contact object with the api name = market__c. Then I need exactly (only) what I creates automatically when the integration is turned on: a custom HubSpot property with the api name of market__c that is automatically mapped to a salesforce field called market__c. This is all that is necessary for the needed data exchange (via sync settings) of a Hubspot contact property to/from the corresponding field on either the lead or contact record. The only gotcha I can see is make sure, for whatever reason, the field api names are the same. Sometimes, we would do something like Lead Type or Contact Type, when you need these field api names to be type__c in to order to sync it to a single hubspot property.