Sea of Knowledge

Managing Contact Reconversion with the HubSpot Salesforce Integration

Written by Lauren Ryan | November 2022

How Inbound Inquiries are Managed in Salesforce

The traditional model for inquiry management with Salesforce is as follows.

  1. A brand new lead comes to the website and submits a form for a demo.
  2. A lead is created in Salesforce and a sales representative is notified.
  3. The lead is qualified and converted to a Contact, Account, and Opportunity.
  4. The Opportunity is worked until won and we all live happily ever after.

This model works great! But it's just that, an idealized, linear model. Were it this simple, all our lives would be infinitely less complicated. Not every organization fits the linear mold of net new prospect to closed won customer. In fact, most don’t! B2B and SaaS organizations have upsell, cross sell, renewal, and upgrade opportunities throughout their customer lifecycle.

Here at Coastal, we love a simple solution to complicated problems. So, how do you streamline a non-linear buyer's journey?

Usually, Salesforce customers create a new lead for an existing customer to work their new product interest. This process doesn’t work well. But, it allows you to force the new interest through the existing sales process and lets your sales reps work from one consolidated place. And, it makes your reporting super simple! However, it’s the equivalent of splitting a Contact record in half and storing it in two different locations. Or, in laymens terms, a duplicate record. And that’s fine… right?

Where this really gets convoluted is when HubSpot is integrated with Salesforce. HubSpot is the best option for marketers using Salesforce, but the data models have one (major) difference. In HubSpot, all contacts, regardless of where they are in their buyer journey, exist as the same object type. In Salesforce, however, both the Lead and Contact Object represent individuals. And, both Leads and Contacts from Salesforce sync to the Contact object in HubSpot. Which complicates the process of creating a new lead to represent an existing Contact to an exponential degree.

How Inbound Inquiries are Managed with the HubSpot Salesforce Integration

How Duplicate Salesforce Records Sync to HubSpot

When HubSpot is integrated with Salesforce, duplicate records for Leads and Contacts cannot reliably exist. HubSpot cannot have multiple records for the same email address. That’s because the email address is a unique identifier in HubSpot. Meaning, there can only be one. 

So, what happens if there are multiple records (Leads and Contacts) with the same email address in Salesforce syncing to HubSpot? HubSpot syncs with the most recently updated record from Salesforce

So, if you have a Lead for an existing customer that is also a Contact, whichever record is most recently updated in Salesforce will sync back to HubSpot. This creates a big issue with marketing automation as the HubSpot Contact will switch back and forth between which workflows it qualifies for. 

Imagine a nurture for leads with a Lead Status = New with a call to action (CTA) for booking a meeting. If HubSpot syncs with the Salesforce Lead record, the HubSpot Contact will enroll in the nurture. Now, imagine that there is also a nurture for existing customers with a CTA to buy an additional product to add to their existing subscription. When the HubSpot Contact syncs with the Salesforce Contact record, the Contact will enroll in that nurture as well. Now, the recipient is receiving entirely contradictory messages from your organization. Which is a terrible experience.

How HubSpot Sends New Inquiries to Salesforce for Existing Contacts

If an existing Contact is in Salesforce and synced with HubSpot, HubSpot will not create a new Lead for a form submission. Instead, HubSpot will sync the form submission to Salesforce as a task if the activity sync is enabled. This task will be assigned to the HubSpot integration user and show as completed. 

The challenge with this is that no one in Salesforce will automatically be notified of the form submission. Meaning this inquiry will go unnoticed and not be followed up on by a sales representative or account manager. This is also a terrible experience.

Image: Duplicate Lead and Contact records in Salesforce

Image: HubSpot field change history for HubSpot Contact syncing to a duplicate Salesforce Lead and Contact

Image: Activity sync between HubSpot and Salesforce where forms are synced

How to Create New Salesforce Leads for Existing Contacts with the HubSpot Salesforce Integration

Now, we know that having a duplicate Lead record for an existing Contact in Salesforce is not ideal. HubSpot will sync with the most recently updated record and potentially create a disjointed customer experience. And, duplicate records are never good for data management or reporting.

But, if you’d like to create a new Lead for a HubSpot inquiry, you can use a Salesforce Flow to create a new Lead when a form is submitted. This isn’t recommended, but some teams are not a fan of the recommended approach, which we will present next. So, this is the next best option.

Create Lead Records in Salesforce from new HubSpot Form Submissions

Navigate to Flow builder in Salesforce user Setup > Flows.

Create a New Flow.

Choose a Record-Triggered Flow.

Select Task as the Object.

Configure the Trigger for when a record is created.

Set the Entry Conditions for when All Conditions are Met.

Set the Condition for Subject Starts With Form Submitted AND WhatID Starts With 003. A Salesforce record ID beginning in 003 indicates that the associated record is a Contact while 00Q indicates a Lead.

Optimize the Flow for Actions and Related Records.

Click Done.

Add an Assignment Element to store the WhatId from the Task. This variable will be used to pull data from the Contact record to use to create a new Lead.

Label the Assignment variable Store Contact ID.

Set the Variable to $Record > Task > WhatID.

Set the Operator to Equals.

Set the Value to a New Resource.

Create a Variable Resource.

Set the API Name to ContactID and Data Type to Text.

Click Done.

Add a Get Records Element to get the information from the related Contact. 

Label the Element Get Contact Info.

Set the Object to Contact.

Under Filter Contact Records, select All Conditions Are Met and set the Field ID to Equals the Contact ID resource you created.

Select to Store only the first record and Automatically store all fields.

Add a Create Records Element.

Label the Element Create New Lead.

Set the Element to create one record and select use separate resources and literal values.

Under Create a Record of This Object, select Lead.

Map the Name, Email, and Recent Conversion fields from the Contact to the Lead. Note - recent conversion is a HubSpot property. If it has not yet been mapped to Salesforce, create a text field on the Contact and Lead object for Recent Conversion and add it to the integration in HubSpot.

Now, Save and Test the Flow using the ID of a recently created Form Submission task.

Once tested, activate the Flow and monitor moving forward.

Recommended Approach for Managing Reconversion with the HubSpot Salesforce Integration

While you can create new Leads in Salesforce for HubSpot Form Submissions, it’s not recommended. Remember that HubSpot only syncs with the most recently updated record. And, having a Lead and Contact in Salesforce for the same person can really throw off your marketing efforts (as can any duplicate record). 

So, how can you manage this?

Use Salesforce Opportunities for New Form Submissions in HubSpot

The best way to manage an inbound pipeline where sales interest is expressed is to leverage the Opportunity object in Salesforce (which syncs to the Deal object in HubSpot).

This can be accomplished in one of two ways. Either you can stop using the Lead object in Salesforce and only use Contacts or you can create Opportunities for existing Contacts and allow net new Leads to function as normal. 

Benefits of Not Using the Salesforce Lead Object

Using the Salesforce Lead object in conjunction with any integrated platform creates challenges. The Lead object is a vessel for Contacts, Accounts, and Opportunities. The goal of having a Lead is to convert the lead as soon as possible. Then, the Lead is deleted from the system and never used again. So, what if Contacts were used for qualification as well? This allows you to manage all of your records from a singular view in Salesforce without switching between Contacts and Leads. Additionally, it allows you to manage all sales interest using the Opportunity object in Salesforce - preventing your sales team from having to manage multiple views.

Leveraging Opportunities in Salesforce for Reconversion with HubSpot

If you plan to move forward without the Lead object in Salesforce, the plan here is rather simple. 

First, you’ll convert all leads to Contacts in Salesforce. Ideally, you will add a Status field to the Contact to represent the qualification stage that previously existed on the Lead. Typically this status field contains: New, Working, Qualified, Not Qualified, Customer, Previous Customer, Lost.

Then, deactivate the Lead object in Salesforce.

Once the Lead changeover process is complete in Salesforce, update the HubSpot integration settings to create a new Contact in Salesforce rather than a new Lead when a new HubSpot Contact is created.

Finally, create a HubSpot Workflow that triggers after a sales interest form is submitted. This workflow will create a new Deal for each new submission which will sync to Salesforce as an Opportunity.

With this solution, your sales team can manage Opportunities in Salesforce to monitor all expressed product interest for both net-new leads and existing customer upsell opportunities.

Want to discuss this solution further? Connect with our team to debate the pros and cons and discuss working together to solve reconversions in HubSpot for existing Salesforce Contacts.