One common question is : how do I restrain some records from flowing from SFDC to Marketo when that cannot be handled with simple Salesforce sharing rules. For instance, making sure that inactive contacts or even contacts without emails do not pack into the Marketo DB and count against the licence. The answer is often to add a "Sync with Marketo" field and use it to filter out some records.
But the devil is in the details, so we ran a comprehensive test on how the "Sync with Marketo" really works and came back with a few interesting findings.
Finding #1: the only value of the field that matters is the one from SFDC.
I had read it already from Support, but, as St Thomas, we did some testing to verify it: if the field have a value on SFDC and another one in Marketo, on a same lead / contact, the value that determines whether or not the sync will happen is the one from SFDC. So if the field is set to "True" in SFDC, it will sync, otherwise it will not, whatever the value of the field in Marketo. No escape.
Finding #2: The sync stops immediately when the "sync with Marketo" is set to False in SFDC.
When the sync is disabled, it stops immediately. Really. There is not such thing as a "last sync". This means that the last "transaction" in SFDC is completely ignored from Marketo,with all the value changes in this transaction. Even the "Sync with Marketo = False" info will not visible to Marketo.
Example: Imagine that you have an SFDC workflow that disables the sync when the contact is set to "inactive". The workflow will fire IN THE SAME TRANSACTION as the "inactive contact" setting. Then the sync will be imediately disabled, thus preventing the next sync to happen. This means that Marketo will never know that the contact is not "Inactive" (or whatever field value change you may have done editing the contact). If you had expected to use this information in Marketo, for instance to remove the lead from the Marketo DB, you will not be able to . In another post, we will detail a workaround on how to handle that, but it will take some advanced SFDC skills.
Finding #3: you can cut sync from Marketo but you can only enable it from SFDC
This is a consequence from the previous findings and from the way the sync works.
Starting from a sync'ed lead or contact, if you uncheck the "Sync with Marketo" field in Marketo, you will be in a temporary situation where the field is still "true" in SFDC and the sync continues to work (See Finding #1). On next sync, which will work, the "False" value will be pushed to SFDC, and from there, the sync will be immediately disabled. So, you can easily disable the sync from Marketo.
But you cannot re-enable it from Marketo since, as the sync is now disabled, any change in Marketo will no longer be pushed to SFDC (See Finding #1). In SFDC, the field will remain to "False", unless you edit and change it there. And as stated in Finding #1, the only value that matters is the one from SFDC.
Consequence: if you need to reestablish a sync, it can only be done in SFDC.
Similarly, if you are creating new leads from Marketo, you should rather make sure they will be marked as "sync'ed" on creation in SFDC.
Finding #4: once the sync is disabled, the account info continues to sync
That one was not anticipated, although, after a second thought, since the account is a separate object in Marketo and SFDC, it makes sense. Let's say you have a contact and an account in SFDC that sync with Marketo. Then you deactivate the sync on the contact. The sync will stop for the contact. But not for the account. So if after this, you change some account values in SFDC, they will be visible on the lead in SFDC, even on the one that does not sync. It is a little surprising to see the industry or the billing address changing on a Marketo lead that is not supposed to sync...
The good news is that it is possible to also ask for accounts to have a sync filter.
Finding #5: if you stop a sync and reactivate it later, it will resync the right lead / contact
This is another apparently obvious one, but worth saying: if you unsync a lead contact, then change your mind before it has been deleted from Marketo, no problem, just reactivate the sync FROM SFDC, and it will automatically resync all field changes that have occurred in between.