One of the frustrations with Marketo that I have/hear about most often is that you can’t do math with scores in Marketo. It’s widely considered best practice to create separate scores for a Behavior Score field and Demographic Score field and then combine them into a single scoring field. But Marketo won’t let you add the two score field values together to produce the summed Person Score result. Here are the two types of workarounds I recommend:
- When incrementing either the Behavior Score or Demographic Score, you also increment the Person Score by the same amount.
- You rely on a workflow in CRM to combine the two values and sync them back to Marketo.
The first generally works well; however, it is easy to mess up if someone forgets to include both steps in a new scoring Smart Campaign. Plus, if records are merged, it will lead to inconsistent results. The second option will require a sync round trip before the combined value is visible in Marketo, leading to slower speed-to-lead, routing, etc. Enter FlowBoost.
>> Related: How to: Associate Munchkin Activity with a Non-Marketo Form Using FlowBoost <<
I like using FlowBoost for many use cases, but this straightforward case is more common and valuable. The gist is you let Marketo set the Behavior and Demographic Scores as usual and then call a FlowBoost webhook to do the math to combine the two.
The simplest way to combine the two is to add them together, like the example screenshot below; however, there’s no reason you can’t do more complicated calculations, such as giving Marketo Behavior and Demographic Scores a 70/30 weighting, respectively.
Step-by-Step
- Get a FlowBoost license. Which version you need will depend on the volume you expect to use and which features you need, but this particular use-case can be done with the free community license as long as you are under 100k calls/month.
- Create a new webhook in Marketo.
- Under URL, enter: https://api.teknkl.com/flowboost/v20/run?authoringEnv=pro
- In the template section, put
var result = FBMath.sum( +{{lead.Behavior Score}}, +{{lead.Demographic Score}});
(update tokens as required if your score fields have different names) - Set Request Type = POST.
- Set Request Token Encoding = JSON.
- And set Response Type = JSON.
- Save.
- Select your new webhook, and select Webhooks Actions > Set Custom Header.
- Add the following headers and values:
- Content-Type: application/javascript
- X-Api-Key: [your FlowBoost API key]
- Under Response Mappings add a new mapping and map the Response Attribute
result
to the Person Score field.
- Create a Smart Campaign to call your webhook when your score fields change.
Pro tip: You may also want to create a Smart Campaign to call this webhook when records are merged. The default behavior is for Marketo to sum the Person Score of the merged records. You can use FlowBoost to recalculate the Person Score based on the surviving Behavior/Demographic Score values. Your trigger will look like this: