Introduction To Salesforce Opportunity Contact Roles
By Lucy Mazalon
October 18, 2022
Contact roles define the level of influence that a contact has within an opportunity account, case, or contract. Opportunity contact roles provide a direct link between contacts and opportunities that doesn’t exist in the Salesforce data model.
Contact roles on opportunities are visible in the “Contact Roles” component, which can be placed anywhere on the page (the examples in this guide show it on the right-hand sidebar). Opportunity roles include “Decision Maker”, “Evaluator”, and many others that come with Salesforce, out-of-the-box.
This guide focuses on opportunity contact roles – why they’re crucial for marketing teams, and how to start enforcing them being added.
How Do Opportunity Contact Roles Work?
Opportunity contact roles define the level of influence that a contact has within an opportunity. In Salesforce, contact records do not have a direct relationship with opportunities.
Opportunities have a relationship with an Account record, and the Account has a relationship with Contacts – yet, the relationship between opportunities and contacts in Salesforce is not direct.
As any marketer will know, working at the Lead/Contact level enables you to build a personalized marketing experience per individual. Especially when using Pardot/Account Engagement, prospects are closely connected with their associated Lead/Contact record.
However, if we’re marketing to individuals, how can we associate their engagement with the revenue outcomes, stored at the opportunity level?
To bridge the gap, Salesforce developed an object called ‘Contact Roles’.
Opportunity Contact Roles Re-explained: The Bird’s Nest
To explain this in an alternative way, I’ll introduce the “Account Tree” and “Bird’s Nest”.
Much of the Salesforce data model revolves around the account object. Like a tree trunk, Accounts can have multiple related records, Contacts, Opportunities, Cases, Assets, like branches coming off it.
However, you see the branches are not connected. There needs to be a link if you want to relate two branches together. The bird has made a nest, the “Opportunity Contact Role”, which brings the two branches together:
This is the golden bridge which will enable you to enhance your reporting, and more.
Opportunity Contact Role Fields
Each Contact Role record comes with four fields, out-of-the-box. These can be changed, or removed – and you can add your own custom fields:
The Contact’s Name
Job Title
Their role within the opportunity. Default roles include Decision Maker, Evaluator, etc., with the ability to add values to this picklist.
Primary: a checkbox field to single out one particular contact above the rest.
Opportunity Contact Role Reporting
We mentioned Campaign Influence reports earlier, which rely on opportunity contact role records in order to be accurate.
You can also report on opportunity contact roles. This is useful to assess the extent of your opportunity contact role gaps. You can find out which opportunities have Contact Roles by pulling a report:
Conversely, use cross-filters to weed out opportunities without contact roles (if you have Salesforce Enterprise edition, or above).
5 Ways to Enforce Opportunity Contact Roles
When admins and marketers go to report on contacts and opportunities (namely Campaign Influence) they find little data pulling through on reports – or worse, wildly inaccurate information. Enforcing opportunity contact roles is important to fuel these reports, but it’s easier said than done.
To enforce Contact Roles going forward, there are a few options – some more desirable than others.
1. Lots of Training
“In a perfect world, sales would take the time to add Contact Roles to all of their opportunities. They’re the ones that know the contacts at their accounts the best, and they’re in the strongest position to get this data entered accurately in the system.
You can try to reinforce this with training, help text, and coaching in Sales Path. You can send out automated reports looking for Opportunities with no Contact Roles. You can get sales leadership to help beat this drum for you.
I’ve gone down this road, and let me tell you – it’s exhausting. Most admins who try this option first find themselves looking for a Plan B really quickly.” -Andrea Tarrell
2. Use a Validation Rule to Require a Contact
Create a lookup field to the Contact for the Opportunity.
Create a validation rule that enforces that a Contact be picked at the appropriate time. Users won’t be able to create/save the opportunity if the opportunity-to-contact lookup field is blank.
3. Create Opportunities from Leads and Contacts
To create an opportunity and contact role simultaneously, the opportunity can only be created from Lead or Contact – not from Account records, and not from the easy “New” button on the opportunities tab. That way, Salesforce knows which Contact should be linked.
“I’ve seen some organizations take the approach of hiding the ‘New Opportunity’ button from the Account page layout and list views to enforce this behavior.
A key benefit of this is that you’ll almost always get one Contact Role populated. But in B2B sales, there are usually multiple parties involved in a deal – so this is far from complete information.”
-Andrea Tarrell
4. Use Apex
You will require a developer to implement this, plus there’s testing and monitoring required to spot and resolve bugs. Enforce contact roles using Apex and a validation rule, thanks to Ebsta.
5. Automatically Create Opportunity Contact Role Records
Faced with the challenge to enforce opportunity contact roles, and with no winning solution available, Sercante Labs developed the Automated Opportunity Contact Roles app.
The app lets you define the business logic for how many Contact Roles you want added, what criteria it should use to pick them, and what role picklist value should be assigned.
You can also set the logic for WHEN this takes place – upon hitting a certain stage, on record create/update, or for certain record types, for example.
Then once your criteria is set, the app auto-magically creates the Opportunity Contact Role records for all Opportunities across your Salesforce org. Every time. With no sales involvement.
Why Should Marketers Care?
Now we’re up to speed with Contact Roles on opportunities, you may be tempted to ignore them when they’re tricky to work with. There are two reasons why marketers should pay close attention:
Reason 1: Campaign Influence Reporting
Campaign Influence is how Salesforce Opportunities are associated with the Campaigns that helped generate them. It’s all about joining the dots between sales revenue (stored in opportunities) and marketing data (stored in campaigns) – and therefore, is the fundamental connection in measuring Marketing ROI (return on investment).
Campaign Influence works by linking Contacts to Campaigns (via Campaign Member records) and Contacts to Opportunities (via Contact Roles).
Fail to add contact roles to opportunities, and you’re missing a huge chunk of marketing influence, and skewing the relative influence of other campaigns that have been related.
Contact roles define the level of influence that a contact has within an opportunity, providing a direct link between contacts and opportunities that doesn’t exist in the Salesforce data model – just like the bird’s nest connecting the tree’s branches.
Your next action is this: investigate how opportunity Contact Roles are being used within your Salesforce org, assess the extent of data gaps using Salesforce reports and cross-filters, and consider the options outlined to avoid data inconsistencies.
The Author
Lucy Mazalon
Lucy is the Operations Director at Salesforce Ben. She is a 10x certified Marketing Champion and founder of The DRIP.
Ben - would be interested to know if you have ever tackled the Account Contact Relationship object and how marketers can leverage that object and more specifically the Role(s) that a Contact would have with one or many Accounts.
Hi Carrie, the Account Contact Relationship replaced account teams, which are useful in terms of segmentation and other reporting - BUT specifically for revenue related reporting (Campaign Influence reporting) and segmenting using opportunities in Pardot - you must be using Opportunity Contact Roles. Hope that helps, Lucy
"Option 1: Encourage sales users to create new Opportunities via the Contact object. That contact will be added to the opportunity as the Primary Contact."
Is this native functionality? I'm not seeing this.
Hi Tim - ah yes! Thanks, you are hot on your acronyms!
So opportunity contact roles are what is being discussed in this article. Salesforce used to have Account Contact Roles, which were retired when Lightning was launched. Not so long ago, Account Contact Relationships were launched (that replace Account Contact Roles, but in a smarter way - I am writing a post on this as we speak).
Hope that helps clears things up!
Was there an update here - if I convert from a Lead - and create an Account, Contact, Opportunity - the Contact Role is populated automatically on the Opportunity (Lightning)
We work with larger B2B businesses so just because a contact is related to an account with a closed won opp doesn't mean they themselves are customers and in fact could be prime targets for cross-selling.
I'm suggesting that the team uses Contact Roles to show which Contacts at Accounts are the existing customers. This seems logical to me but would mean people adding new contacts and contact roles to already Closed Won Opps.
Would this be an appropriate use of Contact Roles to mark which Contacts at an Account are Customers?
I can see the value of Contact Roles on Cases and Opportunities and the setup is pretty straightforward. Where I am lost with this Many to Many object is how we see from the individual contact record what other records (both Cases and Opportunities) they are involved in.
Hi Angelica! Good question - this article might help, it's not about opportunity contact roles, but about what are essentially the equivalent on accounts. The part about custom object integration could work? https://www.salesforceben.com/the-drip/salesforce-account-contact-relationship-fields-relate-a-contact-to-multiple-accounts/
OCRs drive me crazy. They are essential for Pardot to see contacts related to opportunities, yet Pardot cannot see the details of the OCR record like the role field, making it impossible to create dynamic lists by OCR role.
Hey,
I am researching Opportunity Contact Role and would like to understand its structure better.
In SF setup, you can find Opportunity Contact Role in the Object manager as an object, but also if you type in Opportunity Contact Role into Quick search, then it comes up as a "Contact Roles on Opportunities" - there it is described as "master list of picklist values for the Opportunity Contact Role field" - but what is it actually? Is it a separate object? Is it a Global Value Set? Standard Value Set?
I can't find any information about this "master list of picklist values for the Opportunity Contact Role field" in SF documentation, could you please advise?
Hello,
Do you have any blogs on automating OCR's with Flow? I made the Contact Role field required for Contacts and created a flow that automatically adds them to Opportunities when very specific Opportunity Stages hit. While that functionality works fine, I am running into a problem when Sales Leaders are adding new Contacts during those specific sales Stages; the flow does not work properly. It will not continue adding the new Contact Roles. I have a decision element that looks at the Account Contact ID to see if it already exists on the Opportunity, but it does not work. Do I have to add a custom OCR Field for Contact Id and have it = Account Contact ID; and use that for my decision element? I hope this is all making sense. Any ideas would be welcomed. Thanks!
Hello,
I'm trying to do option 2. using a validation rule. however, I have made the lookup relationship between Oppty-Contact and created the validation rule exactly as described, but when testing, even if I add Contact Roles to the opportunity, the validation rule gets triggered anyway. Anyone can explain how to enforce sales users to mandatorily add at least one contact role via a validation rule?? many thanks
Lucy, I appreciate your sharing of this informative post. Opportunity Contact Roles in Salesforce can be challenging to comprehend, and your article offers a straightforward and succinct explanation of their operation, along with various approaches to enforce them. The recommendations and best practices you shared for configuring Opportunity Contact Roles were extremely beneficial.
Comments: