We just created a new formula field in SFDC that adds Behavior Score and Demographic Score together (called "Behavior+Demographic Score"). The intent is to use this new field instead of the old Lead Score field - which gets incremented by Marketo Campaigns every time behavior score or demographic score is incremented. A key reason for the new field is so as to avoid the lead scores being added together when people in SFDC are merged. The new field is working correctly in SFDC.
Here's the problem, the field is taking a long time to populate in Marketo and I think I just remembered learning in the past that formula fields do not cause the sysmod date to change when they are updated and that, as a result, leads and contacts that haven't been changed in some other way will not reflect the correct values for Behavior+Demographic Score in Marketo. Is this correct?
If it IS correct, any suggestions for how to trigger the full population of the field without overwhelming the SFDC-Marketo API?
If not, my fallback is to create a different integer field for Lead Score, copy the value from the old field to the new field, and retool all the scoring campaigns to reference the new field. Although I'd rather not do this.
Either way, I need to provide a plan today and would appreciate ideas.
Sanford Whiteman or
This seems like the sort of thing you might have an answer for.
Thanks in advance!
Solved! Go to Solution.
I'm actually Sanford Whiteman (that's my primary) but I saw the @ anyway.
Is this correct?
Yes, treat a formula field like a view of the fields in this case. It's more ephemeral.
You can add scores together into a true materialized field using... that thing you know about but I can't mention here.
I'm actually Sanford Whiteman (that's my primary) but I saw the @ anyway.
Is this correct?
Yes, treat a formula field like a view of the fields in this case. It's more ephemeral.
You can add scores together into a true materialized field using... that thing you know about but I can't mention here.
Thank you, Sandy! I should have thought of that!!!
In that case, my only worry is the ramifications of running a batch on the entire database - about 207K. Think that would run overnight okay? Oh, and I would need to make sure it wouldn't use up all the SFDC API calls. Sigh.
Wouldn't hesitate to run 50-60K, but for 200K I'd want to benchmark first in this particular Mkto instance.
SFDC is bulkified, so likely not a worry.
Hi Denise,
Your assumption is correct.
When you set up a Marketo / SFDC sync and we know that some formula fields will be used, we usually also create a "force sync" field. When we want to for a resync os all the DB, we simply fill in this field from SFDC (with a dataloader) of from Marketo on all records. This will force a sync on all records and make sure the formula field will be resync'ed.
Despite this initial sync issue, using a formula field for the sum of 2 score fields is a good usage of the formula fields though. This is because SFDC computes the sum within the same transaction and the same "sync" round and immediately returns the sum to Marketo. Of course, using a webhook is also a good way to go.
-Greg
Hi Greg,
Thank you! I had actually been thinking that if I don't switch to using a webhook, I could write to a field on all the records to force the sync, as you suggested. However, I'm worried about 2 things:
- SFDC Max API Calls per 24 hours is currently set to 180,000. So with a DB size of over 200K, I assume we would need to get the API limit raised temporarily. Is that correct? Or would the sync process multiple leads/contacts per API call?
- Marketo limit on processing SFDC sync requests - we had a problem a few months back when sales ops ran a conversion on 70K records. Marketo couldn't keep up. And Marketo Support told us that Marketo could only handle 10K records per sync cycle and recommended waiting an hour between batches of no more than 10K records. As I write this though, I'm thinking that the 10K limit must apply specifically to conversions because we commonly run campaigns in programs synced to SFDC that affect more than 10K people.
Can you shed any light on the above?
Best,
Denise
Hi Denise,1 hours ap
Indeed, Marketo can process about 10k records per hour. Can be set to 20k/hour by support on a temporary basis. Meaning about 800 per sync cycle. and yes, the sync processes multiples records at a time as the SFDC API allows it. But the sync keeps good track on the updated records and which ones have not been processed yet, to start each sync cycle where it stoped the previous one. I never had any issues with syncs on large DB's (up to 900k), although it took a few hours.
What you can do is split the database in multiple batches using first a random sample. and process the "force update" each batch 1 hour apart.
And also, vote here : , you are not the first one with this issue
-Greg
Greg (& Sandy),
Thanks again! And I will vote.
I also just realized there's a good reason to use the Webhook instead and an integer field for the combined score: that way the combined score field will be updated for people in Marketo who aren't synced to SFDC yet.
Denise
Yes, that's a plus of the webhook approach indeed
-Greg
Second though on this. At the end of the day, it also depends on how you manage leads. I prefer to push every lead in SFDC and isolate them to specific lead queues, in order to avoid uncontrolled sync's based on program sync's. If all your leads are in SFDC, the formula does a good job?
On the other end, if you only push MQLs to SFDC, the webhook approach has an advantage.
-Greg