Syncing campaigns/programs with SFDC but not all of its members | Community
Skip to main content
January 7, 2016
Solved

Syncing campaigns/programs with SFDC but not all of its members

  • January 7, 2016
  • 3 replies
  • 6522 views

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.

Any thoughts?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Grégoire_Miche2

Hi Ben,

You do not have control over which members get synch'ed when you sync a program. All of them will get synch'ed provided they can be inserted in SFDC (for instance, if the company Name is missing, Salesforce will not allow the sync).

You can also vote here :

-Greg

3 replies

David_Gallaghe2
New Participant
August 23, 2016

You can sync based on member status, but it involves just a little work...

  1. Clone and create your program and end the name with " -- MKTO". Let's use the following as an example:
    -> Program Type = Event
    -> Channel = Live Event
  2. Create a second program with the same Type, Channel and Name. I suggest ending it with " -- SFDC"
  3. In the source Program (-- MKTO), create a triggered smart campaign
    -> Trigger = Program Status is Changed
    -> Flow = constrained "Change Program Status" based on program status change in the -- MKTO Program
  4. If program status = Attended, change...
    -> program status of " -- SFDC" program to Attended
    -> default = do nothing
    This will only push over those that attended. Simply add the other status you wish and you should be good
  5. Activate that smart campaign
  6. Go to the "-- SFDC" program and set up campaign sync.

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!!!

Cheers,

David

David_Gallaghe2
New Participant
August 31, 2016

Quick Update

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_Miche2
New Participant
March 2, 2017

Hi David,

Really nice one, even if it doubles the number of programs in Marketo and forces you to revisit all smart campaigns when you clone a program, with some risks of errors

I would still prefer that the idea be implemented.

-Greg

January 8, 2016

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.

Grégoire_Miche2
Grégoire_Miche2Accepted solution
New Participant
January 7, 2016

Hi Ben,

You do not have control over which members get synch'ed when you sync a program. All of them will get synch'ed provided they can be inserted in SFDC (for instance, if the company Name is missing, Salesforce will not allow the sync).

You can also vote here :

-Greg

January 7, 2016

Hi Ben,

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.

Grant

Josh_Hill13
New Participant
January 7, 2016

This is the preferred option and an Idea isn't really necessary to manage this one.