I was reviewing all the great articles about implementing a custom sync rule and thought it would be nice to finally have them all in one location. Enjoy!
First, what is a custom sync rule? A custom sync rule can be used to keep specific records from syncing with Marketo. For example, if you have a lot of records without an email address it is recommended not to have them sync to Marketo.
Restricting Leads from Syncing to SFDC With Sync Filters by Mike Reynolds
Mike's article provides instructions for setting up the rules if you have SFDC. It includes a step by step guide with screenshots.
"Sync with Marketo" mysteries part 1 by Grégoire Michel
"Sync with Marketo" mysteries part 2 by Grégoire Michel
Greg's articles go in-depth about how the custom sync rule works.
Marketo Custom Sync Filter for Microsoft Dynamics CRM by Kristen Carmean
Kristen's article shows how a similar rule can be implemented in Dynamics without configuring anything in Marketo.
Finally, here are my instructions for creating a custom sync rule including step by step instructions.
Step 1 - Create the field for the Sync Rule in SFDC (Lead and Contact Object). Make sure you map the two fields together. Make the fields visible to Marketo. Check in Marketo to see if the field appears. The field in Marketo should be mapped to both the SFDC Lead and Contact Object fields. (Marketo Admin => Field Management)
SFDC Field Example = Sync with Marketo (sync_with_marketo) (Type Boolean (aka True/False))
Note: Do not use a formula field since the sync will automatically stop whenever the field changes to false which will cause you headaches since Marketo won’t recognize the value change. Marketo won't see when you delete the record in SFDC. Also, the custom sync field will work much better and be less confusing if the logic is if the value of the field is True the record should sync.
Step 2 – Create a workflow rule in SFDC to automatically change the field from False to True for any new lead that is created in SFDC with an email address. Create a second rule which changes the field from False to True if the email address field changes from empty to not empty.
Do not create a rule to change the field back from True to False is the email address is changed to NULL. The workflow rule should only run if the sync_with_marketo field is set to False. It should run every time a lead is created or the email address field changes from null.
In SFDC, update all records for the sync_with_marketo field based on your criteria.
Step 3 - Contact Marketo support and request a custom sync rule be implemented. Best practice is implement the rule prior to the record sync.
Account String for the instance (Information can be found in Admin => Landing Page) Example: acmecompany
I need a sync filter rule created. If the SFDC field below is checked (True) the record should sync between SFDC and Marketo. If the field is not checked the record should not sync. The rule should apply to both leads and contacts.
The field is
Sync_with_marketo or Sync with Marketo
- When you start your integration with SFDC, you cannot setup a custom sync filter until the field mapping schema has been configured. The ideal time to request a custom sync filter is after the schema has been configured in Marketo and before you start the record sync.
- You can use custom sync filters on the Lead and Contact object plus the Account and User object. Check with Marketo support about other objects.
- If the integration has already been completed, and a custom sync rule is necessary to reduce the number of synced records in the Marketo database, follow these steps:
- Create "sync_with_marketo" field in SFDC on the lead and contact objects
- Map the lead field to the contact field
- Expose the field to Marketo sync user in SFDC
- Create workflow rule that defines which records to sync
- Update records accordingly via data loader or similar tool
- Run reports to get record counts, for both lead and contact
- Compare record counts in Marketo and SFDC
- Schedule the go-live time with Marketo support
- Marketo support to implement sync rule
- Identify the SFDC records in Marketo you want to delete
- SFDC is Created is not empty
- sync_with_marketo = True
- Run a batch campaign to set sync_with_marketo to False
- Use the sync flow step to push the updates to SFDC
- Use a wait step of an hour to make sure updates have synced
- Use the delete record flow step to delete the record in Marketo only
Here are some additional resources for learning about the Marketo integration with SFDC.
Here is a checklist if you are preparing for your initial SFDC sync