Hello all,
Working on a campaign that essentially does the following:
Where I am looking for advice is after the Lead leaves the initial Program. We're wanting to basically move them into the next qualifying Program but since Marketo cannot directly compare Score fields on the Smart List side I am looking for the best way to be able to compare and select the highest score if there are multiple fields above the threshold.
I've seen some solutions around using additional fields to append the score and product and update to the higher scoring field, but everything I've seen is a multi-step process so was curious if there was a more efficient way?
Solved! Go to Solution.
We have done exactly that score comparison - which results in a lead enter either into Program A or Program B - by using a Self-Service Flow Step that is sent to Adobe Runtime, which calculates a rather simple Excel formula. Looks something like this:
IF({{lead.Score Product A}} >= {{lead.Score Product B}}, "A", "B")
And certainly you could a webhook to https://flowboo.st/ to make this kinds of calculations. But in any case: You will need to find help outside of Marketo, because - as you said - Marketo can't compare scores.
We have done exactly that score comparison - which results in a lead enter either into Program A or Program B - by using a Self-Service Flow Step that is sent to Adobe Runtime, which calculates a rather simple Excel formula. Looks something like this:
IF({{lead.Score Product A}} >= {{lead.Score Product B}}, "A", "B")
And certainly you could a webhook to https://flowboo.st/ to make this kinds of calculations. But in any case: You will need to find help outside of Marketo, because - as you said - Marketo can't compare scores.
FlowBoost (i.e. JS) to return the highest value among a set of scores is just:
highScore = Math.max({{lead.Score Product A}}, {{lead.Score Product B}}, {{lead.Score Product C}});
To return the name of a field with the highest score do something fun:
scores = [
{ name: "Product A", value: {{lead.Score Product A}} },
{ name: "Product B", value: {{lead.Score Product B}} },
{ name: "Product C", value: {{lead.Score Product C}} }
];
highScore = scores.reduce( (high,next) => high.value >= next.value ? high : next ).name;
That’ll return the string like "Product A" if you want to act on that.
Got it, thank you and @SanfordWhiteman for the response!
I figured it was an outside of Marketo situation, but wanted to make sure.
Thank you both for your help!