Tracking Sync Time In HubSpot and Salesforce

There’s a ton of research on how impactful ‘speed-to-lead’ is on the sales process. The faster your leads end up in the call queue, the more likely you are to convert them to an opportunity and customer.

Our team is always attempting to measure how long it takes our leads to make it to the sales team. So, I built a way to track that. If you want to copy what I’ve done feel free! Alternately, if you have suggestions on how to improve on this tracking or suggestions to improve the speed at which sync occurs between HubSpot + Salesforce please let me know in the comments or send me a message on my contact page.

Before we get started I think it’s important to note that our organization used the “inclusion list” functionality of the HubSpot and Salesforce integration. This causes additional snags in sync time so we wanted to measure what our average was…

In order to get this going you’ll need to setup some things in both HubSpot and Salesforce:

  1. Multiple HubSpot Workflows
  2. Custom Salesforce Fields (For calculations)
  3. Smart Lists (HubSpot)

Ready to track your speed to lead with HubSpot and Salesforce? Let’s go!

Step 1: Build Custom Field in HubSpot

First you’ll want to build a custom NUMBER field in HubSpot. You can call it whatever you like, but I chose to call mine “HubSpot to SFDC Delay”.

screen-shot-2016-10-13-at-1-11-17-pm

Step 2: Build Custom Lists in HubSpot

I built one list in HubSpot called “Workflow List | Leads Created Today – On Inclusion List – Not Synced”. We’ll call it “Workflow List” from now on.

The name of this list is pretty clear on it’s purpose but to break that down further here is what it does:

  1. It looks for leads where:
    • Create Date is less than 1 day ago
    • Is a member of the Inclusion List (the list where leads go to be sent to Salesforce)
    • The Last Salesforce Sync Time is unknown (this is a field provided by the integration)
    • The contact property Lifecycle Stage is not equal to Sales Qualified Lead or Opportunity. (I don’t need to find newly created contacts that have gone beyond MQL b/c MQL is the primary trigger for our leads to go to Salesforce. This could be different for your organization.)
  2. Once the lead makes it onto this list, the workflow I built will be triggered automatically. That workflow is called “Administrative | Step 1 Sync Delay Counter (0-5 minute)” As long as the lead stays on my list, they stay in my workflows.

This list is really valuable for both our Sales team leads and Marketing Managers / Ops Managers. They can use this list to quickly view who is still not synced with Salesforce and either use manual triggers to push leads that seem to be stuck or troubleshoot what might be causing the problem.

The other day I actually caught an integration error before HubSpot had time to publish any alert about it…. I know because I was on the phone with support when they told me a bug had been found during our call. 🙂

Step 3: Build Workflows in HubSpot

I have multiple workflows built to calculate how long a record is on my Workflow List. I did this to limit the number of steps in each workflow because it’s much easier to see the performance of a workflow when there are fewer steps.

The workflow uses the “increment a numeric property” functionality to incrementally count how long the lead is a member of the Workflow List. I set 1 minute delays between each step starting at 0 up to 5 minutes. After the completion of that workflow the lead will be enrolled into the next workflow and continue incrementing numerals of 1. I repeat this process through 9 workflows. This takes me all the way to 45 minutes. In the 10th workflow I increase the delays to 5 minutes and stop counting after 70 minutes.

So this means I have the following workflows active:

  • Administrative | Step 1 Sync Delay Counter (0-5 minute)
  • Administrative | Step 2 Sync Delay Counter (5-10 minute)
  • Administrative | Step 3 Sync Delay Counter (10-15 minute)
  • Administrative | Step 4 Sync Delay Counter (15-20 minute)
  • Administrative | Step 5 Sync Delay Counter (20-25 minute)
  • Administrative | Step 6 Sync Delay Counter (25-30 minute)
  • Administrative | Step 7 Sync Delay Counter (30-35 minute)
  • Administrative | Step 8 Sync Delay Counter (35-40 minute)
  • Administrative | Step 9 Sync Delay Counter (40-45 minute)
  • Administrative | Step 10 Sync Delay Counter (45-70 minute) | 5 Minute Intervals now

Can you tell I’m a fan of naming conventions?

Step 4: Build Custom Email Alert

Once a lead reaches the 15 minute mark on the third workflow, I built an automated email alert to tell the team we may have a problem with sync delays. This email allows the team to quickly jump to the Workflow List in HubSpot and manually sync records or troubleshoot any problems.

screen-shot-2016-10-13-at-4-13-08-pm
Sample of the email alert we send to the team. Hint: It has a GIF.

Step 5 (optional): Build Formula Fields in Salesforce

If merely alerting the team isn’t enough, you can also build a calculation field in Salesforce to produce average speed-to-lead dashboards. To do this consult your Sales Operations Manager to help or if you’ve got an inquisitive / adventurous side give it a shot yourself… I did!

Here is how I’m calculating the values with a formula field in Salesforce:

Field Name:
“HubSpot Created to SF Created Delay”

Formula:

IF(HubSpot_Create_Date_Time__c = NULL, NULL,
IF(HubSpot_Original_Source__c = “OFFLINE”,NULL,
IF(CreatedBy.Id = “[USER ID GOES HERE]”,
IF(CreatedDate<HubSpot_Create_Date_Time__c,NULL,
IF(HubSpot_First_Conversion__c=NULL,NULL,
(CreatedDate – HubSpot_Create_Date_Time__c)*1440)),NULL)))

This essentially calculates the difference in minutes between when the record was created in HubSpot vs Salesforce. Calculated when create date in HubSpot is known, lead source is inbound (meaning generated by our marketing team), and Salesforce Created Date is after the HubSpot Created Date. (which means the lead was new)

Field Name:
“HubSpot MQL to SF Minute Delay”

Formula:

IF(HubSpot_Became_MQL_Date__c = NULL, NULL,
IF(HubSpot_Original_Source__c = “OFFLINE”,NULL,
IF(CreatedBy.Id = “[USER ID GOES HERE]”,
IF(CreatedDate<HubSpot_Became_MQL_Date__c,NULL,
IF(HubSpot_First_Conversion__c=NULL,NULL,
(CreatedDate – HubSpot_Became_MQL_Date__c)*1440)),NULL)))

This essentially calculates the minutes it took to be created in Salesforce after being created in HubSpot. Calculated when the minutes are less than one day, when the record is generated by an Inbound Lead Source (not imported from our APP), and first conversion is known.

The HubSpot dashboard I built looks like this:

screen-shot-2016-10-13-at-4-51-22-pm

Using HubSpot’s Reporting Addon, I am showing the average time (in minutes) it takes to create a record in Salesfore when the lead becomes a Marketing Qualified Lead broken down by the month they became an MQL. Cool huh?

More Help:

Looking for more help on managing the HubSpot + Salesforce integration? Jump over to some of these help articles posted by the HubSpot team:

Advertisements