Is there any on-platform way to increment or decrement a lead score based on another score?
For example, let's say I have ScoreA = 10 and ScoreB = 3. I would want to Change Score A such that it's decremented by ScoreB and is updated to 7.
I think I could just build a webhook to do this, but at scale it would be a little slow, and I wanted to see if there was any way to do this within Marketo without flooding our queued campaigns with webhooks and potentially slowing things down.
Solved! Go to Solution.
Don't worry about the perf impacts of webhooks prematurely. Depends on how many calls you're making at peak.
Up to hundreds of thousands or millions per hour during high peaks
Marketo doesn't like to do millions of anything per hour, really (even internally). So that's not gonna fly at all with webhook. I would recommend you do these shifts in an external database and then flush them back to Marketo once/day.
Darn that's what I figured in terms of Marketo being unhappy with high peaks. We'll have to find a way that doesn't overwhelm it and slow everything down. Or if thousands to 10s of thousands per hour is fine usually, maybe we just suffer on peak days, but that's not ideal.
For this particular scoring use case, I don't technically need the scores to be always up to date, but then the problem is that if they aren't, it becomes difficult to know if it's safe to use the latest score or not.
For example, one strategy I have now is to use a webhook to update the category of a lead's highest score, but then do it at most once every 2 hours, then wait 3 hours and run the webhook again. This is an approximation of throttling and is much better than firing webhooks on every page view for performance. The hard part is that it makes it more difficult for automation to work since you can't really trust whether the score is up to date, or whether it's a few hours old.