Set Global Delay on Program Member/Campaign Sync

Set Global Delay on Program Member/Campaign Sync

Idea: My proposed idea is to implement a global setting in the Salesforce section within Admin that allows you to delay the sync of campaign member for a designated number of minutes. 


Why: I've often found myself at odds with the practicality of leaving on the Salesforce Campaign Sync feature in Marketo. 

It's super helpful in that it ensure proper alignment between our Marketo Programs & Salesforce Campaign. We can also easily sync period costs to total cost, saving time, effort, and improving data accuracy across systems.


My main issue with leaving the program sync on, is that the sync operates too quickly and sends leads to Salesforce before they're considered "ready" from the operations perspective.


I'm sure every business has their own standard of "ready" but in our case, we stamp the Lead Source, populate Lifecycle Stage, fill in some datastamp, and run some data append processes via webhook in market. Ideally we want all of these values populated before the lead ever hits salesforce to ensure accurate lead routing to sales, and leaving the salesforce sync on causes leads to be sent over to salesforce before marketo has had a chance to do its thing.

We've gotten around this by implementing wait steps before "change SFDC campaign status" flow steps in every marketo program we run. This works for us in theory, but doesn't work 100% at scale. Sync campaign flow steps can fail at times for various reason (either marketo or salesforce related), and we cannot create reports or receive alerts about those failures within Marketo. Also, the flow step failures never attempt to resync automatically, leaving us in the dark to research for errors in the activities log for all of our marketo programs manually, or pulling logs from the batch API.

This solution also doesn't scale particularly well if we ever want to adjust that wait step. Since wait step values can't be populated by global token, we need to go into every single active program to change the wait time. Not fun. 

Curious what the community's thoughts are on this matter.

If you leave the campaign sync on, how do you get around imcomplete records from entering salesforce before they're "ready"

Do other people leave the sync off like we do? Have you seen problems flow steps failing? How do you scale managing your wait steps?

1 Comment
Level 2

hey @Matt_Reilly1 


I'm also facing the same issue, was curious if you and the team were able to find a different way of handling this?


We're currently using the program<>campaign sync and I have wait steps before assigning acquisition program or program status to ensure that they don't get sync'd over before our global operational/processing campaigns do their thing?

I haven't been able to find a way to get have campaign membership and program membership the same in both systems (using either the program<>campaign sync OR with manual flow steps) without having some sort of wait steps in my programs. 


I've contemplated just adding "Sync to SFDC" at the end of our global operational/processing campaigns, but then I would miss out on having leads sync'd with SFDC campaigns as I would still have to have a wait step locally in the program?


Also, +1,000 on having to manually change the duration of wait steps in every program...its horrible