Skip to main content

Lead Scoring

Lead scoring in Interaction Studio (IS) is accomplished using the Engagement Score feature that is part of the standard IS toolset. While the Engagement Score was not seemingly designed to generate a lead score, it is fairly proficient at it and works very well.

Upfront Notes

Key things to note before getting too far

  • Only one scoring model per dataset is possible.
  • Scores primarily live in IS and can sync to Salesforce CRM once per day (custom options available for more frequent updates)
  • Scores are percentage based and vary widely based on configuration. For example, for one customer 50% might be a high score and for other customers perhaps 50% is a low score.
  • Since scores are not additive and are percentage based, each item added to the calculation dilutes the impact of the other items. Number of components in a score should be kept to a reasonable range.
  • Fine tuned controls are not available, but low/medium/high and +/- weighting is available at the very least.
  • You cannot define a custom calculation for a score using the Engagement Scoring feature. You are limited to out-of-the-box configuration options.
  • Do not expect to get a score absolutely correct the first time. As with everything in IS, you should plan to iteratively test and make changes over time.

Getting Started

The most challenging part of creating a Lead Score in IS is not in the tagging or model build, but in the strategy of determining what will influence the lead score.

I won't go too in depth here on the process of determining the exact model, but will give a few general tips:

  • Determine the key actions or pieces of information that indicate a high quality lead.
    • Analyze current leads that have converted, paying attention to measurable data. Find actions or data points that correlate with high quality leads and are not common with low quality leads.
    • Make educated guesses as to what might imply interest.
    • Avoid assuming all users follow a "happy path".
    • Focus less on the actions you WANT prospects to take, as that may not align with results.
  • Narrow down the list of score components to a reasonable number, such as 10. Since the score is not additive and is primarily percentage based, too many components will water down the score and push scores artificially low.
  • Consider the importance of each factor in relation to other factors as this will be important for weighting.
  • Your goal should ultimately be a short list of important factors with general low/medium/high weights. For example:


Mapping Components to Interaction Studio

Once a general list of weighted components has been established, you will need to determine how to account for each within the platform. Refer to the official documentation for details, but the 4 options are:

This configuration option focuses on visit duration (total time on site) and on usage depth (number of actions). It's a key portion of a true Engagement Score, but isn't always representative of a high quality lead. This could vary widely from use case to use case so take caution to not weight too heavily.

This option is based completely on the actions mapped in the sitemap or sent in with the Event API. Viewing specific page types, clicking certain buttons, filling out forms, etc are all valid items to include in this section. If you need to consider the number of times a specific action has been taken then put that into the segments section (keep reading).

Any user attribute that has been configured as a numeric type is available to be used as a KPI. Data such as a credit score, external score provided over API/ETL, income level, etc should be included here. These are not as common to see in my experience, but are certainly useful if numeric data should be considered.

As with many other features in IS, segments play a key role in scoring. Segments can be mapped into the model allowing you to build fairly complex criteria using the native segment builder feature. This section often equates to a fairly large portion of the overall score.


  • Targets: Some configuration options (Visits & KPIs) allow you to select an Auto target or a manual value. On auto, IS will analyze the data and consider what is average vs above/below average. Think of it as grading on a curve, in that each user's data is compared to all other users. Alternatively, if you know a specific desired number that indicates a high quality lead, you can select a Custom target and enter the desired number manually.
  • Weights: No documentation exists on the specific calculation, but in general testing it seems that the low/medium/high weightings are on a 1/3/5 multiplier, meaning that a medium rating counts for 3x more than a low, and high as 5x more than a low. It's likely more complicated than this, but it seems a reasonable rule of thumb to go with.
  • Business Cycle: This setting controls how fast the score decays. The documentation gives examples, but in summary once a user stops collecting data then their score will drop to 50% their original score after one business cycle and to 0% after two business cycles.

With the configuration options explained above, the next step is to map the components of your lead score to one of the 4 available configuration options and then come up with the percentage of weighting each of the 4 buckets will get.

For example:

Here I have 2 components that are both mapped to segments. I've decided that since one was high and one was low, I'll give 45% overall to the segments bucket. I have 2 other components in two separate buckets, and will give 27% and 28% to those.

Next, I need to assign the actual low/med/high weighting to each item inside of the bucket, which would result in:

Luckily, using the 1/3/5 ratio I can generally assume that of the 45% of overall score in the Segments bucket approximately 7.5% will go to "video views" and 37.5% will go to "lives in target area". This is not precise, but it's important to remember that each item added to one of the 4 buckets will all compete for a slice of the overall pie, limited to the percentage selection for each bucket.

This is why it's important to not add too many components to a score. For example, if I had 10 separate segments configured and evenly weighted them at Medium, a person would need to be in all 10 segments to get full credit for the percentage points allocated to the Segments configuration option. A user only in 3 of the segments would get only 30% of the total points for Segments. Unless it's common to be in all 10 segments, users are going to have lower points and their overall scores will appear lower on average.

Reminder: As mentioned at the start of this page, please remember that a Lead Score should never be set and forgotten. It needs to be changed on a regular basis based on analyzing the results and based on the changing needs of the business.

Salesforce CRM integration

In general, a Lead Score needs to be accessible in a CRM or another system where a sales team or marketing team is working the leads. An out of the box connector between IS and Salesforce CRM (Sales / Service Clouds) exists that will allow the score to be updated on a daily basis. Remember that the connector will not create any new leads or contacts in CRM, so they must exist in both IS and CRM with a shared identifier.

More Speed!
Depending on your lead outreach time, getting a score pushed into the CRM on a nightly basis may be too slow. If you have a goal of reaching out to all high quality leads within 3 hours, then by the time you get a score the next day it's too late to be beneficial.

Luckily there is a solution available but it will require custom development inside of the CRM. Here is a visual that represents the overall flow:

There are effectively two different flows happening in this diagram:

  1. The out-of-the-box connector pushes scores for ALL matching individuals into CRM on a nightly basis.
  2. On a more frequent basis (say, hourly) the CRM reaches out to IS and pulls the scores on a select group of individuals.

Breaking the second step down into more detail:

  1. Inside of IS, we build a segment of individuals that should have frequent score updates. Typically this would be those that have just filled out a lead form or performed some action that would make them eligible for outreach. Try to keep the segment definition as narrow as possible to cut down on processing time in later steps.
  2. A custom process is built in CRM using APEX code to reach out to the IS Users API. Be sure to pass the query parameter of segmentationID as the ID of the segment built in Step 1. The ID can be pulled from the URL of the segment if you access IS outside of the Marketing Cloud wrapper. Note: the documentation is not clear on what segmentID is for, but segmentationID is the correct one to use.
  3. APEX code will loop through all IS users returned from the API and store the updated engagement score and score date on the appropriate Lead or Contact records. Be sure to loop through additional calls since the response is paginated.
  4. Process set in CRM to run once per hour (or more/less frequent as needed).

Using this process you will have usable scores within the CRM on a much more timely basis.