How to Create Custom HubSpot Behavior & Demographic Lead Scores

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 <<

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:

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: | Marketing and Revenue Ops

Get a System Audit

Whether you inherited a new instance or just want a second opinion, we'll dive in and benchmark your tech stack.

  • Hidden
  • Hidden
  • Hidden
  • Hidden
  • Hidden | Marketing and Revenue Ops

Download Resource

Use this form to recieve your free resource in your inbox today!