Out-of-the-box, HubSpot’s really bad at scoring repeat or surging behaviors. If you want to score leads who visit 5 webpages within 7 days, you can filter by number of times, or in a certain amount of time, but not both. Which is really annoying. This is my workaround by creating custom HubSpot Behavior and Demographic lead scores.
>> Related: How to Build an MQL SLA Alert in Salesforce <<
In this post:
The limitations of out-of-the-box HubSpot scoring
Out-of-the-box, HubSpot’s default lead score property is set by super limited filters:
- You can score based on number of times something has been done, OR the recency of it, but not both. For example, you can’t filter for “visits 3+ pages within the last day”.
- You also can’t trigger off things like Salesforce campaign membership, or campaign status.
- HubSpot also doesn’t allow you to deprecate scores, for say subtracting points as time passes.
- If you have a filter like “Filled out X Form” plus Y points, they get those points forever and also won’t receive additional points for subsequent submissions unless you have another filter (Filled out X Form at least 2 times). If you use global forms, this is a huge pain.
- Nor can you reset scores based on triggers like Recycle.
- You’re limited to 100 score filters. You’d be surprised how quickly/often you hit the limit.
In short, in HubSpot it’s annoying/impossible to closely track surges of behavior, aggregate activity into an Account-wide score, create unique scores for each product, reset scores, or deprecate scores when the activity gets stale.
First, model your scores
Obviously we first want to ensure scores will actually hit MQL thresholds, or reward the right behavior. We’ve written a lot about what makes for a good lead scoring model:
- The Sponge.io template for creating the lead scoring model and picking an MQL threshold
- 10 lead scoring mistakes we regularly see
- 5 ways to test lead scoring so your new model doesn’t wreak havoc on your pipeline
Create a custom Behavior Score property and Demographic Score property
I create 2 custom HubSpot properties for Behavior Score and Demographic Score:
- The Behavior Score property is simply a number controlled via workflows (i.e. points are awarded during a form fill)
- The Demographic Score property looks a lot like the HubSpot Score property, with all sorts of rules that award and subtract points:
Combine the scores in a calculated property
Then I combine the scores in a calculated property called Total HubSpot Score:
FWIW, this total HubSpot Score requires that there actually be a value in both the Behavior and Demographic Score properties. If they’re blank, it won’t do the calculations. So you’ll need to create a quick workflow that sets Behavior Score:
Start creating custom HubSpot scoring workflows
Here’s where it gets fun…
Reset HubSpot scores
Then create workflows for Unsubscribe, DQ, Nurture etc. that sets the behavior score back to zero.
Be sure to let contacts re-enroll in these programs! I also don’t want the behavior score to “go negative” so I create an operational workflow to catch and reset those.
Award positive points for behavior
Now we can reward behavior… in this example, if a contact registers for a webinar, they get 10 points. And they’re allowed to re-enroll, so if they register for multiple webinars, we’ll award 10 points for each registration (sounds simple/obvious, but this is a big deal in HubSpot):
Reward email clicks
Similarly, we can now enroll folks who show momentum, like a flurry of email clicks, and only award points after the 3rd click:
Give a boost to recent trade show and event leads
And we can give recent events a little extra push while leads are hot/warm:
Prioritize expensive leads
We can also prioritize folks who convert via PPC, or come in through a reputable review site: