My company just went live with a new system to score opportunities in Salesforce using Marketo, and it's been working pretty well so far. I figured I'd share what we did in case anyone else would like to do something similar.
First, we created a new number field on the SFDC contact object, called Deal Score. Once this synced to Marketo, I set it as a score field, like the normal activity and demographics score most of you will be using.
Once this was done, I set up a few smart campaigns in Marketing Activities:
First, one I called "initial opportunity score set." The smart list is just a trigger for any time a contact is added to an opportunity as the primary contact:
My sales team wanted this to work so that opportunities start with a certain score, then rise or fall based on various criteria. So, in the flow, I first set the score to the value they specified, 70, then modify the score based on criteria available on the contact's associated account object, like this:
Next comes the tricky part: how do you score based on values in the opportunity object? To do this, I set up one smart campaign per score possibility. For instance, Sales wants higher scores for opportunities that came from partner efforts, and lower scores for those that came from demand gen (ouch, right?) Anyway, the opportunity source is not available on the account object, so it can't be targeted the way CRM Systems is in the screenshot above. To overcome this limitation, I set up two smart campaigns - "Opportunity source - Marketing," and "Opportunity Source - Partner." The smart list on these look like so:
In the flow, I just set the score as defined by Sales:
You have to do this for each option. For me, I also have a campaign for opportunities sourced from partners that applies a different score. Both are active. Then, in the "Initial Opportunity Score Set" campaign, I request both the campaigns above:
Both will try to run, but if the source is marketing, then the contact will not run through the partner one, and vice-versa. You can do this for all opportunity-level values you want to score on, like amount, products, owner, or whatever else is interesting. Once this is all done, you can go ahead and turn on all your trigger campaigns (make sure to set them to run every time!)
The last thing you need to worry about is if your account or opportunity change, which would thus affect the score. There's two ways to do this, but they both require another smart campaign, which will be triggered when any of the values you're scoring on change. Use "Data Value Changes" triggers for account fields, and "Opportunity is Updated" triggers for opportunity fields, like this:
The flow for this third campaign will either be identical to your "initial opportunity score set" campaign, or you can just have that campaign trigger when requested, and have this update campaign request the original set campaign.
And there you have it! Now in salesforce, just build an opportunities with contact roles report, filter it for only primary contacts, and you'll see all your opportunities with scores attached, no plug-ins required! The only limits are that you need to have a primary contact in each opportunity, and it'll take 15-30 minutes for the scores to sync into Salesforce.
Hope y'all find this helpful!