My scenario is as follows:
We have SFDC-only leads. When that lead fills out a form and is created as Marketo record, it syncs to SFDC but as a duplicate lead. Is there a way to prevent the duplicate lead from being created?
I would say create a unique email field in SFDC which does a before insert validation, but you actually have a 2nd issue. If you prevent the sync of the duplicate, you disconnect the activity history of the new lead with the lead in Salesforce.
You might want to consider looking at writing Apex classes and triggers to merge leads... be careful with writing the trigger logic
Do you know if you have any custom dedupe rules in Marketo? basically if the record that is created from SFDC in Marketo has an email address, and the record that fills out the Marketo form uses the same email address. Then the data should be updated to the record created by SFDC.
Otherwise it seems that there may be another dedupe rule which is forcing Marketo to create a new record and sync that new record into SFDC.
basically if the record that is created from SFDC in Marketo has an email address, and the record that fills out the Marketo form uses the same email address. Then the data should be updated to the record created by SFDC.
But remember these are unsynced leads to begin with.
Which is why Jay's pointing out that the merge would need to be driven on the Salesforce side in order to merge the unsynced lead to the new lead, or flip the sync flag and mock the insert. Can be pretty hairy stuff, your SFDC dev needs to be on top o' the consequences.
Ah - I totally read this "We have SFDC-only leads. When that lead fills out a form and is created as Marketo record" as SFDC creating a lead in Marketo and a form creating a lead in Marketo - My bad.
Just to answer your literal question - you can create rules in SFDC to block duplicate creation. This will cause the Marketo attempt to sync the lead to SFDC to fail. Let me know if you'd like details on this. However, as has been pointed out above, this doesn't entirely solve your problem because you'd then have the same person in both databases - unconnected - and you wouldn't know about it. A very manual solution would be to create the rules for blocking duplicate creation and then keep an eye out for sync failures (subscribe to CRM Sync Error Notifications). When they occur due to SFDC blocking dupes, allow the SFDC only lead to sync to Marketo and then merge the two.
Hi Danielle Chan. I've seen this before. It's best to avoid this issue altogether by syncing all Contact and Lead records between the two systems and allow Marketo to deduplicate on email address as usual. Syncing only some records is often problematic. Some helpful articles in thinking about which records should sync between Marketo and SFDC:
Just spit balling an idea here:
When you say SFDC Leads Only - do you mean that the lead should never make it's way to Marketo (basically, an unmarketable lead)?
I ask b/c if you have a set group of emails that you know shouldn't sync, then you could create a smart campaign that listens for a new person to be created AND has the email address of a person you don't want to sync (this would require you to set up a smart list of the emails you don't want in the system), and then have the flow step delete that person (I believe this will beat the sync time to SFDC, but you'd need to test it for sure) BUT it does mean you would be deleting that person from Marketo as well.
You could also use a similar method of performing a what/if flow criteria on any new person created, same idea - if the new person created has an email address that "does not" match anyone on your "no list", then sync using __whatever rule you have__ (could be auto assignment, depends on your business); additionally, remove the default choice so it says "do nothing" when a person does match to your "no list". That should make it so that only people not on your "no list" should be syncing to SFDC.
Again, just spit balling, I haven't tested these methods but I often have to create workarounds for similar issues, so I hope these ideas prove helpful to you.
Thanks everyone for the input!! Very helpful things to think about.