A constant refrain I hear is how do I enforce Contact Roles in Salesforce so I can properly attribute revenue to my marketing programs?
Salespeople are focused on the money. They aren’t often keen to spend the extra five minutes to properly link up their key Contacts to the Opportunity. Thus, in Sales Operations and Marketing Operations we’ve created a cat and mouse game of trying to automate this process or chase down salespeople. In case you are new to this part of Attribution, I’ll go over a few of the top tips.
Why do you care about Contact Role?
In general, it is always good to associate specific Contacts to an Opportunity using Contact Roles. This ensures that the history of the Account is as accurate as possible, without relying on the memory of fleeting salespeople. If Sales assigns at least one Role to the Opp, then we at least know the key person. If Sales can assign more than one Role, then we can see the influencers and decision makers.
Contact Role also helps sales managers understand whom to call if a Salesperson becomes sick or leaves the organization before the deal closes. It’s good record keeping for you and the company. Good record keeping is also helpful if we do analysis on who the real buyer personas are. If our guess is Corporate Strategy VPs, but the two people who end up buying 80% of the time are in Supply Chain Management, we should change our approach to the market.
Attribution and SFDC Campaigns
In Salesforce, Campaign Influence relies on the Contact Role to automatically associate a Campaign to the Opportunity. If you leave out a direct Contact or Contacts to an Opp, the Influence isn’t attributed and distributed properly across the specific Responses in Campaigns.
Attribution and Marketo Programs
Since Marketo is a Lead based system, it also relies on Contact Role in a similar way. When a Lead becomes a Contact in SFDC, Marketo does not view it differently. When a Contact is assigned a Contact Role, however, Marketo can then directly associate the Opportunity to the Programs that influenced it.
When an Opp is created with no Contact Role, however, Marketo cannot connect the Opp back to a specific lead, or even a specific set of touches. In Marketo, then, we need to set the Programs, Channel Types, and the RCE attribution to “Implicit” which looks at all Contacts, essentially granting attribution credit to everyone in the Account and every Program Success within the Opportunity Open to Close timeframe.
While the reporting is far better than without this attribution, it is broadbased. We’d much rather be able to narrowly attribute Program Success to the 2 or 3 people who were really involved with the Opp. Of course, the Buying Team may be much larger than 2 or 3 people, so it’s certainly a decision to make up front. You can see more of this impact here.
Contact Role Enforcement
To enable better attribution then, we need to operationalize the enforcement of Contact Role. There are several methods that I know of. I believe MOPS experts have become better at this, so I’d love to hear of more methods in the comments.
Easy Methods you can do yourself
- Remove New Opp button from the Account Page
- Permit New Opp from the Contact page only, or during Conversion to Contact.
- Manually review a Report of Opp by Contact Role and discuss with the lead.
Scalable, Complex methods that require coding
- Apex Trigger – on Opportunity Created, check if Contact Role is present, then request Contact Role in a dialog. [example]
- Apex Trigger – check Contact Roles each night and do exception reporting.
- Apex Trigger – do not permit Closed Won until Contact Role is present.
None of these methods will be perfect, however, they can reduce manual exception fixes. And this will allow Sales and Marketing to better understand the original source of Accounts, Leads, and Opps for improved resource allocation.