That is a great question. Our approach is to sync both databases for the reasons you mentioned. We partition off leads using statuses, so they don't become MQL until ready, but you can also use record types and even other objects.
At my last company, we had exactly this issue so we fixed it by syncing all leads to stop the bleeding. Then, we went back and had an intern use Marketo & SFDC's dupe merging functionalities to merge records one by one. We only had a couple thousands records that needed to be deduped so it wasn't too bad, but for larger projects, I know there are tools out there that will do this for you.
What scenarios are you encountering where syncing the entire database is not ideal?
Thanks for the comment.
There are lots of scenarios where a company might not want ALL records in both Salesforce.com and Marketo.
Here are a few that I see the most:
- They already have an established process for new leads in Salesforce.com, and modifying it increases the scope of project for the Marketo add-on.
- Going along with the above, a company may already have multiple customizations and rules that trigger when a new lead is created - requiring a lot of re-work - again increasing the scope of the project.
- From a system architecture point of view, it makes sense not to want to pollute salesforce.com with unqualified leads - and instead use Marketo as a staging ground for MQLs.
All of this of course only makes sense if there is a way to not create dupes in Salesforce.com as a result.
And there is a way to not create dupes - create a de-dupe app in Salesforce.com that queries Marketo to check if the leads, and if so, merge the two leads and not create a duplicate (and preserve all of the history, etc).
I just don't know if there would be enough interest in an app like that for Salesforce - that's why I was asking if the alternatives are easy or not.
If you would find a Marketo/SFDC de-dupe app for this situation useful - let me know!!