I have a question about syncing campaigns with SFDC. This applies to activities such as Seminars and Webinars.
So, when I create a new program for an event such as a seminar, everyone who registers for the seminar is added as a member with the status 'Registered'. Once the seminar has taken place, I'd usually run an update so people who attended are changed to 'Attended'.
What are the options now if I want to sync this campaign with Salesforce, but only sync members who actually attended? If I simply turn on the sync, everyone gets sent to Salesforce. I know I can set up a smart list or smart campaign to choose who to sync, but then the event won't appear in Salesforce Campaigns. The other option, of course, is to remove people who registered for the event but didn't attend, then turn on the Campaign sync. But I'd rather not do this as I want everyone to remain as members of the program, regardless of whether or not they attended.
Solved! Go to Solution.
You wouldn't be able to use the program-campaign sync for this. You'd need to use a smart campaign with the Add to SFDC Campaign flow step instead.
This is the preferred option and an Idea isn't really necessary to manage this one.
I do not agree with you on that. Users tend to be confused with explicit campaign sync, specifically if they have to do it for specific statuses and not for others. I just had to migrate a Marketo into another in a company that was using this technique and not synchronizing programs.It was a total mess. No consistency on practices, no way to reconcile Marketo and SFDC on metrics as simple as program successes - vs campaign responses, etc...
Thanks for the responses. I agree with Greg that it would be a nice feature to have, but for now I'll use a smart campaign instead.
You can sync based on member status, but it involves just a little work...
Optional: in setup of your "-- SFDC" program, set the reporting to operational/non-inclusive. this will exclude the details from reporting since this is technically a standalone and operational program.
Now you have selective status program/campaign sync. Also here are a few comments related to the aforementioned process.
Helpful Note: Smart Campaign Setup in a Program Template...
Set up the smart campaign as part of your template using the source program as the constraining program and add the necessary statuses as if it were the campaign sync program. Then delete the program name from the constraints and the statuses should remain allowing you to simply paste the "-- SFDC" program name without needing to update the statuses again.
Helpful Note: Awesome advantage for Event and Email Program Types
In your template, you can add a child mail program... but when the window pops up you can select the appropriate Mail Channel or – wait for it – change the program type to Event. By doing this -- at a minimum for emails or events events -- you can have all of this logic pre-made and part of the original template and as you clone and go. The smart campaigns and sub program will all be ready to rock. Only thing left, enable campaign sync.
A note of Warning about Manual Sync Flows
Using flow steps to manually sync with salesforce, add to campaign or update campaign status each will use one API call per lead processed. While these calls are included with marketo's SFDC Sync integration. Most SFDC instances are limited to 1000 calls per purchased license... ie: if you have 100 SFDC seats you have 100,000 calls available.
Let's say you decide to sync a large program to SFDC using a flow step rather than campaign sync. This will result in a minimum of 110,000 calls to sfdc and will shut down any future calls until midnight the next day. This happens because the calls exceeded SFDCs max amount. By leveraging campaign sync, it will batch process up to 200 leads per api call to SFDC. Net result is 550 calls vs 110000. While there is a delay 5-15 minutes depending on your instances configuration, it is best to use campaign sync and reserve sync with sfdc or other campaign related requests to just those instances where it is absolutely necessary.
I'd also recommend asking your SFDC admin for a daily report of All SFDC API calls by source. This will give you an important view into your crm and give you a better idea of what to expect on a daily basis. This is a rolling 7 day report and sfdc does not store any info beyond that so subscribing and updating your own living doc is definitely a wise move.
I hope this helps!!!
I have gone through 30+ of our evergreen (ongoing) programs that are linked to our primary nurture programs... I cut the total calls from a Tuesday (Nurture Day) Peak of ~59,000 calls to a much more reasonable ~10,000. For those of you that like charts, enjoy...
Source: SFDC API Report and a little Google Sheet Magic.
UPDATE: I have also found it good to have a marketo campaign/report showing all leads that "synced yesterday" and have that sent to my inbox every morning. This may seem redundant, but it helps to catch any sync issues that may not be reported by marketo... ie: you expect to see 400-800 leads per day sync... why did only 95 sync yesterday. This could give you a heads up that something something may be funky with either your sync, marketo, sfdc instance or friendly Gremlims binging on fried chicken.
Grégoire Michel wrote:
I would still prefer that the idea Selective Program Member synchronization (by member status) be implemented.
I could not agree with your more!!!!
But until that day comes there are a few odd-ball and effective workarounds to minimize risk and error...
Where I use duplicate programs for selective sync
Note that there are only certain circumstances where duplicate programs are necessary... namely with
Cool thing about Events/Emails -- use a sub program in your program template
For other programs, It would be AWESOME if we could have a custom token to refer to a Marketo Program just like we can do with the recent SFDC Campaign token (which is awesome btw ).
Trigger & Flow -- Add to Main Program ("- MKTO")