Hi all!
Our database has too many prospect records and we are looking to delete any records that are in SFDC as outbound leads that do not need to be in Marketo.
We are thinking about creating a custom sync filter field on the records in Salesforce to prevent them from syncing back into Marketo.
My question is, if in the future, these records request a demo or interact with our website, are organically created in Marketo, will we be able to reset the sync? Or will the sync to the salesforce records still be blocked?
Is there a way around this? or will Marketo try to create a duplicate record in SF as Marketo cannot sync the records?
Thanks in advance!
Solved! Go to Solution.
We set up a custom sync using a boolean field called "Sync To Marketo". If the boolean field on the person record is FALSE, then data changes in either platform will no longer sync to the other platform.
We primarily focused on removing non-marketable contact records from Marketo but wanted to keep them in SFDC.
Here is our documentation on the behavior, which is dependent on whether records are Leads or Contacts.
Most of our testing focused on behavior of contact record management, but I ran a test today for Lead records specific to your use to help. I bolded that case in the spreadsheet below.
Please note: Despite breaking the sync for the record between the CRM and Marketo, make sure when you run a Delete Person action in Marketo that you still toggle "Delete From CRM" to false. Otherwise it can still find the record in SFDC and delete it there too. I tested this three times today to confirm.
Case | Behavior |
Contact record changed in Marketo to Sync to Marketo = FALSE or Contact record changed in SFDC to Sync to Marketo = FALSE |
Contact record no longer syncs but remains in both platforms |
Contact record in Marketo changed to Sync to Marketo = False Contact record deleted from Marketo, still exists in SFDC New lead record generated in Marketo with Sync to Marketo = True |
Creates new Lead record in SFDC in addition to Contact record, and Contact record does not change to Sync to Marketo = TRUE |
Lead Record in Marketo changed to Sync to Marketo = False Lead Record exists in SFDC Lead Record deleted from Marketo New Lead Record created in Marketo |
New lead record fails to sync to SFDC with exceptionMessage = {DUPLICATES_DETECTED: Use one of these records?}
Previous lead record in SFDC does not automatically re-sync to Marketo.
If CRM record is set Sync To Marketo = TRUE, it will sync back to Marketo as a duplicate lead record in Marketo. A de-duplication in Marketo can combine them and the surviving record will be what remains in the SFDC. |
Contact record exists in SFDC and not Marketo Contact record changed to Sync to Marketo = TRUE |
Contact syncs over as new person in Marketo |
Contact record exists in both platforms and Sync to Marketo = False Sync to Marketo is set to TRUE in SFDC |
Repairs sync directly with previous Marketo record, no duplicate record created |
Contact record exists in both platforms and Sync to Marketo = False Sync to Marketo is set to TRUE in Marketo |
Does not repair sync - fixing Sync to Marketo = TRUE must be done in SFDC |
We set up a custom sync using a boolean field called "Sync To Marketo". If the boolean field on the person record is FALSE, then data changes in either platform will no longer sync to the other platform.
We primarily focused on removing non-marketable contact records from Marketo but wanted to keep them in SFDC.
Here is our documentation on the behavior, which is dependent on whether records are Leads or Contacts.
Most of our testing focused on behavior of contact record management, but I ran a test today for Lead records specific to your use to help. I bolded that case in the spreadsheet below.
Please note: Despite breaking the sync for the record between the CRM and Marketo, make sure when you run a Delete Person action in Marketo that you still toggle "Delete From CRM" to false. Otherwise it can still find the record in SFDC and delete it there too. I tested this three times today to confirm.
Case | Behavior |
Contact record changed in Marketo to Sync to Marketo = FALSE or Contact record changed in SFDC to Sync to Marketo = FALSE |
Contact record no longer syncs but remains in both platforms |
Contact record in Marketo changed to Sync to Marketo = False Contact record deleted from Marketo, still exists in SFDC New lead record generated in Marketo with Sync to Marketo = True |
Creates new Lead record in SFDC in addition to Contact record, and Contact record does not change to Sync to Marketo = TRUE |
Lead Record in Marketo changed to Sync to Marketo = False Lead Record exists in SFDC Lead Record deleted from Marketo New Lead Record created in Marketo |
New lead record fails to sync to SFDC with exceptionMessage = {DUPLICATES_DETECTED: Use one of these records?}
Previous lead record in SFDC does not automatically re-sync to Marketo.
If CRM record is set Sync To Marketo = TRUE, it will sync back to Marketo as a duplicate lead record in Marketo. A de-duplication in Marketo can combine them and the surviving record will be what remains in the SFDC. |
Contact record exists in SFDC and not Marketo Contact record changed to Sync to Marketo = TRUE |
Contact syncs over as new person in Marketo |
Contact record exists in both platforms and Sync to Marketo = False Sync to Marketo is set to TRUE in SFDC |
Repairs sync directly with previous Marketo record, no duplicate record created |
Contact record exists in both platforms and Sync to Marketo = False Sync to Marketo is set to TRUE in Marketo |
Does not repair sync - fixing Sync to Marketo = TRUE must be done in SFDC |
To add some color, the error, "Failed: DUPLICATES_DETECTED: Use one of these records?" is a message Salesforce is sending back to Marketo, rejecting the attempt to sync the record. This means there's a setting in SFDC preventing duplicates from being created, possibly due to a custom deduplication rule on the SFDC side. You won't see this message if you don't have any rules preventing duplicate record creation in Salesforce.
Also, you'd probably know this but adding this for the sake of completeness: Marketo-only records do not sync to Salesforce until you sync them explicitly using the Sync Person to Salesforce flow steps or it gets synced via any of the implied sync actions like, Add to Salesforce Campaign, Change Owner, etc. flow steps.
My question is, if in the future, these records request a demo or interact with our website, are organically created in Marketo, will we be able to reset the sync? Or will the sync to the salesforce records still be blocked?
Is there a way around this? or will Marketo try to create a duplicate record in SF as Marketo cannot sync the records?
Thanks in advance!
You'd have to update the Sync to Marketo field in Salesforce for the people who get created in Marketo as net new records but were earlier updated in Salesforce to pause syncing to Marketo and then deleted from Marketo as well. Upon enabling the sync the existing Salesforce record would get synced to Marketo, and you'd then have to merge this record in Marketo, of course, the latter record would be the one to win, as on merging a Marketo-only and Lead records, the lead record is always considered as the winning record.
Alternatively, if you sync this new record in Marketo over to Salesforce (via implicit or explicit sync actions mentioned above), then given that your Salesforce allows creating duplicate records (unlike @loganlloydBT's Salesforce org), you'd see duplicate records in Salesforce. You'd still have to merge the duplicate record manually, so you have only one record in both platforms. I hope this thorough explanation gives you some idea! Let us know if you have questions. 🙂
Also, if you haven't already read them, I'd recommend reading the below articles on custom sync filter:
Appreciate the extra fill-ins here, Darshil!
Thank you both so much for the responses! I really appreciate the cases and behaviour returned displayed in the table.
We also have duplicate rules in SF that block any duplicate creation so I would expect to see that error message also. Looks like if we were to implement the sync filter, we would just need to keep an eye out on any sync errors due to duplication and then adjust the custom field in SF to allow the sync.
Its more manual than we would like but I cannot think of an alternative at the moment!