Marketers today are held to a higher standard than ever before in showing their contribution to their business' pipeline and bookings. For this to happen, not only do clear attribution models need to be in place within your marketing automation platform, but also the integration between this platform and the business's CRM is crucial to ensure that attribution can be tracked from a marketing first touch to a Closed Won opportunity and everything in between. To help in your effort, we culled five problems we see frequently that can cause a breakdown between marketing and sales data being passed between HubSpot and Salesforce.
Common HubSpot-Salesforce Integration Problems
1. Opportunity records don't have a primary contact associated from HubSpot
In order for HubSpot to attribute and update a contact's lifecycle stage and associated deal size to an opportunity in Salesforce, that contact record must be assigned as the primary contact on that opportunity.
We see this most frequently when a sales rep opens an opportunity associated with the account, but not with a specific contact. Take the time to educate your sales team and demonstrate that this is an important piece of both the sales process and their opportunity management and should look like this:
The contact record marked as the primary contact on the opportunity:
Then once the opportunity is marked as Closed Won we can then see the integration automatically update that contact's lifecycle stage in HubSpot:
If that contact had not been associated with the opportunity, then he or she would never have been marked as a customer in HubSpot. This would result in the marketing team's bringing the contact through the funnel without the appropriate attribution.
2. Contact property types are misaligned or values are missing from one of the two platforms
For information to pass correctly between HubSpot and Salesforce, the contact property types must be the same. For example, a single-line text field won't sync properly to a drop-down menu. On top of that, each field must have all the same values in both platforms.
To start, here's a table breaking down what each property type is called in HubSpot and Salesforce (because things would just be too easy if they used the same terminology across the board):
|Single-Line Text||Text Area|
|Multi-Line Text||Text Area (Long)|
|Radio Select||Picklist (Multi-Select)|
|Multiple Checkboxes||Picklist (Multi-Select)|
Next, when creating new properties in each platform, you need to ensure that the values are the same. In addition, you need to ensure each value is represented in both HubSpot and Salesforce. For example, here's a property-synced mapping:
We can see that each value exists in both properties and the mapping is working correctly. You can identify an error by the blue dot that appears in the HubSpot integration settings next to that mapping, like this:
Simply clicking on the dot will show you which properties are missing from either HubSpot or Salesforce and causing the integration to break. It will also give you the option to correct issue by refreshing the mapping on the spot, or you can go in and make any updates yourself at another time.
3. Default properties don't match now that HubSpot has a CRM
This one is a newer issue we've seen arise since HubSpot released its CRM at INBOUND last year. The HubSpot CRM isn't as robust as Salesforce, from a business-intelligence and reporting standpoint, but it has great UX and ease of use for sales reps. Because of these factors, many of our customers are choosing to overlay the HubSpot CRM onto Salesforce as a "rep accelerator." (We do it too.)
However, when doing this you need to be aware of some property duplication (once the CRM has been turned on in HubSpot) that will affect your integration. A great example of this is the Lead Status property, which is native to the HubSpot-Salesforce integration but is also created by the HubSpot CRM.
Previously, to bring Lead Status over from Salesforce into our HubSpot portal, we created a custom contact property called "leadstatus" to sync with Salesforce. It looked like this:
However, when we enabled the HubSpot CRM another Lead Status property was also created that looked like this:
All of a sudden, if a rep was creating a dashboard or started populating the wrong property, we'd be splitting data and breaking our lead-handoff process. If you are just starting to use the HubSpot CRM or you are layering it on top of Salesforce, be careful about properties that might be pre-existing and can be duplicated. Additionally, you will have to make a decision—as a team—as to which property everyone should be using (and then delete the duplicate).
4. You're seeing incorrect sync-list criteria
Another common problem is that a contact(s) will appear in your CRM's leads queue unexpectedly. Or vice versa: A marketing-qualified lead you want to send to sales isn't syncing. This is usually caused by incorrect sync-list criteria that is either erroneously sending contacts to Salesforce, or preventing ones that should be sent from syncing properly.
Generally sync lists can be controlled by either lifecycle stage or lead score and will look something like this:
So if a contact or group of contacts isn't syncing, start by looking at your sync list and confirming that the desired criteria is in place. Then go back and examine why the contact records in question aren't meeting the criteria.
How to fix it:
- If your sync list is controlled by lifecycle stage, there's likely a workflow that's updating the contact record, whose criteria you'll want to examine.
- If your sync list is controlled by lead score, you'll want to check your custom lead score properties to see what's causing the discrepancy and then make updates accordingly.
5. Your update rules are set incorrectly
Finally, another common problem we see is the update rules being set incorrectly, causing information to pass between the two platforms incorrectly. This is controlled in your HubSpot integration settings, where you can choose when HubSpot data should update the corresponding Salesforce field:
- Always; I want the most recent data from either system to populate that field.
- Only if blank in Salesforce; if Salesforce already has the data, leave it untouched.
- Never; I only want Salesforce data to update the HubSpot property.
- I never want data to pass between these fields.
So if information is being passed between the two systems in error, this is where you need to check.