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 specified 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 fields appear. (Marketo Admin => Field Management)
SFDC Field Example = sync_to_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.
Step 2 – Create a workflow rule in SFDC to automatically change the field from false to true for any new lead that is create in SFDC with an email address. Create an additional 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_to_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 to sync_to_marketo based on your criteria.
Step 3 - Contact Marketo support and request a custom sync rule be created. 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
- 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 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. You cannot use a custom sync filter for the Opportunity or Campaign 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_to_marketo" field in SFDC on the lead and contact
- 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 (eg Email Address contains is not empty)
- 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 = false
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
If the integration has already been completed, and a custom sync rule is necessary to reduce the number of synced records as well as the overall number of records in the Marketo database, follow these steps:
Create "sync_with_marketo" field in SFDC on the lead and contact
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, I.e. Email Address contains is not empty
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 = false