Tracking the activity of your leads is vital so that you know when they are ready to talk to your sales team. This blog post will show you how we can score the different activities we have in Marketo and add these scores together over a certain time period to gauge a person’s level of intent.
This blog post accompanies the “Lead Scoring for Activity” section from the Lead Scoring Bible blog post. Before diving into the Marketo implementation steps below, first, check out the “Lead Scoring for Activity” section to see what the output of the model looks like, what activities are used in the model, and how these activities will be scored.
Once you have decided on the number of points each activity should get in your Google Sheet it is then time to go into Marketo and start building smart lists to see the leads who have done each of these activities over the time period we are interested in e.g. 7 days.
The smart lists can be made of standard Marketo activities e.g. filled out form and visited web page filters, or they can use custom activities. If you are interested in getting bespoke activities from your business into Marketo then check out the Custom Activities Quick Start post so that you can get them into your activity tracking model.
Tracking contact sales form fills over the past 7 days
Tracking a custom activity over the past 7 days
Once all the smart lists have been created to capture the people who have done these activities over the past 7 days, a “master” smart list is created containing all the people who have done any of the activities over the past 7 days (see the video at the top of this post for more detail). It is the people in this master smart list who need to have their “Behavior Score – 7 day” field calculated.
Every morning at a certain time the “Master” activity tracking campaign will run to bring in everyone from the “Master” smart list mentioned above.
N.B. The settings in the “Schedule” tab of this master campaign and every requestable campaign should be set to allow the lead to pass through the flow every time since we want to be able to calculate a lead’s activity score each time they do an activity.
In the flow, the first Change Data Value flow step either populates the “Behavior Score – 7 day History” field with the timestamp and the lead’s quality score by either setting it for the first time or appending on to whatever is already in the “Behavior Score – 7 day History” field using the lead token for this field (see the video at the top of this post for more detail).
N.B. If you are looking for a general introduction to tokens and how they can save you time when building your emails, webhooks, and smart campaigns then check out the Great Use Cases for Tokens post.
If it is the first time a person is going through this scoring campaign:
{'timestamp':{{system.dateTime}}, 'quality':{{lead.Quality Score - Tier:default=X}}
If it is not the first time the person is going through this scoring campaign:
{{lead.Behavior Score - 7 day History}},{'timestamp':{{system.dateTime}}, 'quality':{{lead.Quality Score - Tier:default=X}}
Then the second Change Data Value flow step uses choices in order to append the point threshold corresponding to the quality score of the lead to the “Behavior Score – 7 day History” field using the lead token for this field (see the video at the top of this post for more detail).
{{lead.Behavior Score - 7 day History}},'threshold':{{my.A Threshold}}
Appending to the “Behavior Score – 7 Day History” field using tokens
The final step in the flow of this master campaign is then to request the first scoring campaign. As we will see later on (and more clearly in the video at the top of this post) waterfall logic is used where once each scoring campaign has completed its actions it will then request the next campaign in the waterfall until there are no more campaigns left.
You might have noticed that in the image above local program tokens are being used to populate the “Behavior Score – 7 day History” field. As we will see in the next section local program tokens are also used to define the score for each activity category i.e. from Low to High intent.
I highly recommend using local programs tokens for the score categories because it makes it much easier to update the score for each category here in the “My Tokens” tab versus going into each smart campaign flow and each Change Data Value flow action and changing the scores here. Imagine if you decide that High intent activities should now be 10 points how much of a pain it would be to go into each flow step and change the score from 5 to 10! Using local program tokens saves us from this.
Local program tokens for thresholds and score categories
The first step in the campaign at the top of the waterfall is to reset the “Behavior Score – 7 day” field to 0 since we will be recalculating this value and adding on points in subsequent flow steps for each activity they have done. Then each scoring campaign consists of “Change Score” and “Change Data Value” combinations.
The Change Score action checks to see if the person is a member of smart lists corresponding to certain activities and if they are then it uses the token for the corresponding score category to increase their score.
The use of choices in the Change Score action gives us more control over how we assign points. For example, if someone visits 10+ webpages we only want them to get points for 10+ webpage visits and not get more points for visiting 5+ webpage visits.
We use choices to achieve this where the first choice evaluates whether they have visited 10+ pages and the second choice evaluates whether they have visited 5+ pages. This way a person will only get points for one of these activities and if they have done neither then they will get 0 points.
Using choice logic to increase the score
The Change Data Value action checks to see if the person is a member of smart lists corresponding to certain activities and if they are then it appends the “Behavior Score – 7 day History” field with the activity name and the points assigned for this activity.
{{lead.Behavior Score - 7 day History}},'Page View [Generic 10+ Views]':{{my.Low}}
Once the person’s membership in all the activity smart lists has been assessed and their score updated for the last time, the next step is to append the “Behavior Score – 7 day History” field with the final value of the “Behavior Score – 7 day” field.
Then if the person is a member of the “MQL Threshold Exceeded” smart list they will be handed off to sales by requesting the “MQL Behavior Score” campaign. This smart list checks based on a person’s quality score whether they have accumulated enough points to qualify for being handed off to sales.
Smart list to decide whether a lead should be handed off to sales
The “MQL Behavior Score” campaign then checks if they are a member of the “MQL Criteria” smart list and if they are then it progresses to the flow where it sets the:
To provide the sales team with additional context on what activities this person did to exceed the points threshold we want to put the list of activities and the scores for those activities in the MQL Source Detail field.
If it is the first time someone has been through the activity tracking flow then the “Behavior Score – 7 day History” field will not contain '{ so the MQL Source Detail field can be populated with the “Behavior Score – 7 day History” field directly.
However, if the “Behavior Score – 7 day History” field contains '{ that means the person has been through the activity tracking flow multiple times and we need to extract the scoring information related to the most recent time they have gone through the flow.
A webhook is used to send an Excel formula populated with the {{lead.Behavior Score – 7 day History}} token to the Hoosh marketing Excel calculator and the response, containing the latest score information, is then mapped to the MQL Source Detail field. You can also send webhooks to Flowboost to do calculations with field values.
N.B. If you are not familiar with using lead tokens in webhooks, using the Hoose Excel calculator/Flowboost, or response mapping then take a look at the Webhook Guide with Examples post to get a walkthrough of each of these concepts.
Webhook used to extract the latest score information
Storing the latest score information in the MQL Source Detail field
The final part of the activity tracking flow is to reset anyone’s score to 0 if they did not run through the scoring flow today, which means they have not done any of the activities in the past 7 days.
This reset campaign is scheduled to run 1 hour after the master smart campaign triggers the scoring flow. It then looks to see if there is anyone whose score is not zero and who did not have the first request campaign in the scoring flow requested (i.e. they were not scored today).
Smart list to determine who needs their score reset
Now that you know how to track the activity of your leads in Marketo check out the Lead Scoring Bible blog post to see 3 models that you can use to get quality scores for your leads. You can then combine one of these quality models with this activity tracking model as shown above to build a handoff mechanism for sales.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.