Summarize & listen to article
In this blog I show you how a lead scoring model can be configured in Sitecore. Before we dive into any details let’s look at a scoring model first.
Lead scoring model
Often lead scoring models are a matrix, like the example below. It is used to score a lead based on two criteria/dimensions:
- Profile criteria: This is explicit data. Think of demographics like job title, location or industry. Typically this type of information is stored in CRM.
- Engagement criteria: This is implicit data and about online behavior. Think of visited pages, triggered goals, channels that are interacted with, etc. These are often stored in the online profile.

In the model above the letters A, B, C, D are used for the Profile criteria. The numbers 1, 2, 3, 4 are used for the Engagement criteria. The combination of the two determine how much effort and with which actions you should nurture your leads, or not. D4 is the least qualified lead and A1 should be handover to sales.
Translation to Sitecore
So all this theory is nice but how does this work in Sitecore? Let’s break it down a bit and create our ingredient list:
- We need data to map on the profile criteria
- We need data to map on the engagement criteria
- We need a mechanism to evaluate the data and assign a score
- We need a way to save the score (e.g. D4 or A1)
Now we can determine what Sitecore capabilities we need for each ingredient:
- Profile criteria: these were demographics like job title. In Sitecore we can use the Profile facets for this criteria. If you need a specific facet that is not shipped out of the box in Sitecore, simply create one and sync with your CRM.
- Engagement criteria: this is the online behavioral data. In Sitecore we know this as interaction data that is stored in the Experience Database (xDB). Here all the visits, goal or campaign triggers, email opens, etc. are stored.
- Mechanism to assign the score: obviously this is marketing automation. Create a plan that looks for the Profile criteria first and then checks for certain engagement criteria. Based on that a profile key can be set.
- Saving the score: the Profiles can be used to save the score. I created one profile (Lead score) and created a key for every possible score (D4 – A1). That means sixteen in total based on the matrix. I created a pattern card for each key as well.
Show it more visually please!
A picture says more than thousand words right? So let me show you some more details per ingredient.
Profile criteria
This one obviously requires something like a CRM connection. You need demographic data which requires known visitors. But if you have a nightly synchronization you have that same data available in Sitecore. A simple profile looks like follows where I use the Job Title field for my lead scoring model.

Engagement criteria
The most easy one is the engagement criteria. Based on the needed criteria for your lead scoring model you probably have to setup some goals or campaigns and some other stuff, but if you do, it will automatically flow into the xDB. So all interactions and events are stored and appear at the visitors profile, like in the image below.

Saving the score
Like explained earlier, you can use the Sitecore Profiles to store the score. My configuration where I have keys and pattern cards for every possible score looks like follow:
I have chosen a straight forward implementation where the maximum value a profile key can have is just 1, because the logic for assigning is done in the marketing automation plan.

Automation for assigning
Last but not least you combine everything in an automation plan. This can be a large plan depending on the complexity of your scoring model. In my example it is pretty simple. Checks that I do are for example:
- Do you have the Job Title CEO or CFO? Then go to that path.
- In the C-level path: Did you trigger the call me back goal? Then assign the A1 profile key.
- Or, did you trigger the whitepaper download goal? Then assign the A2 profile key.
An example automation plan looks like follows:

The small yellow diamonds are the checks for the profile criteria. From there evaluate the engagement criteria based on needs. It helps to create a table with description to determine when someone should be scored with what lead score.
In my example it ends with assigning the profile key (A1, A2, D4) but you can extend this easily. For example by moving someone with the B2 score to another campaign. Or if a visitor scores A1, update the CRM record and handover to sales.

From here you can also use the matched lead score for personalization purposes on your pages or even in email marketing (EXM).
Possibilities are almost endless!
Running in the background?
Eh, yeah but Sitecore does not have a lead scoring engine that continously evaluates and scores contacts, so now what? You are right. But you can achieve something close to that by scheduling the automation plan to run each day at a specific time. If you use a contact list to store every known contact and allow that contacts can be enrolled unlimited times in the same automation plan, they are evaluated every day. So once a score changes you can respond accordingly. Or use a drip campaign approach where someone is enrolled only once added to a list.
Small note, with large amounts of known contacts this can probably impact performance.
Hopefully you have a better understanding of how Sitecore can drive your lead scoring model and which capabilities you have to think of a solution to implement it.