Introduction To Contact Roles & Why They Are Essential For Pardot Marketers

Share this article...


Contact Roles are a standard Salesforce object that define the role or level of influence that a contact has in relation to a sales opportunity.

Personally, I love to hate Contact Roles – but they are a necessary object that we Pardot Admins would be lost without.
This post focuses on Opportunity Contact Roles – what they are, their limitations, why they’re crucial for Pardot, and how to start enforcing them. Aside from Opportunity Contact Roles, Contact Roles can also be used on accounts*, cases*, and contracts, but these will not be covered in this post.

*Contact roles for accounts and cases are only available in Classic at the time of writing.

What are Opportunity Contact Roles? How do they work?

As any Pardot Marketer will know, Pardot Prospects are closely connected with their associated Contact record. Working at the Prospect/Lead/Contact level enables you to build a personalised marketing experience per individual.

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, no direct relationship.

To get around this, Salesforce developed an object called ‘Contact Roles’, which creates a link between Contacts and the role they play in an Opportunity.


  • Each Contact Role record has 4 standard fields:
    The Contact’s Name
  • Their Job Title
  • Their Role – default roles include Decision Maker, Evaluator Business User, with the ability to add values to this picklist.
  • Primary – a checkbox field to single out one particular contact above the rest.


Contact Roles Limitations

  • As I confessed earlier, I love to hate Contact Roles. To sum up Contact Roles limitations: what you see is what you get. This is an object that is functional, not flexible.
  • The biggest limitation that stumps admins and developers, is custom fields cannot be added. This is frustrating in scenarios where you want the contact object to update the opportunity, or do reporting on the contact and opportunity in tandem. Also, you cannot run validation rules or triggers from these records.
  • Contact Role information data is neither viewable or usable from within Pardot. Despite this, they are a necessary object that we Pardot Admins would be lost without.

Why Should Pardot Marketers Care?

Now I’ve covered the characteristics and limitations of Contact Roles, you may be thinking: So, what?
You may be tempted to ignore Contact Roles and their limited capabilities. If you do this as a Pardot marketer, you will run into problems.

If you have run an Automation Rule or segmentation in Pardot based on Salesforce Opportunities, you will have used the criteria:
‘Prospect Opportunity | Related with properties’



An Opportunity will only sync with Pardot if it has at least 1 Contact Role, which must be a Contact record syncing with a Prospect record. 

How to Enforce Contact Roles

Could inconsistencies or an absence of Opportunity Contact Roles be messing with your Pardot automation and segmentation?

To avoid missing Prospects, it’s time to clean up your act.

Asses the extent of the problem. You can find out which opportunities have Contact Roles by pulling a report. If you are hot on Salesforce Administration (and are on Enterprise Edition or above*), you can use cross-filters to weed out opportunities without contact roles.

*In the absence of cross-filters, I have a workaround to report on opportunities without contact roles.

To enforce Contact Roles going forward, there are a few options.

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.

Of course, it would be naive to think this the golden solution, seeing as the account is the logical place to launch an opportunity.

Option 2: There is a way to automatically create an Opportunity Contact Role record based on a lookup field on the Opportunity. Judi Sohn’s solution will guide you in building a visual flow, then invoking it with Process Builder. By placing a validation rule on this opportunity-to-contact lookup field, users won’t be able to create/save the opportunity if it’s blank.

Option 3: Use Apex, which you will require a Developer for, and is over my head.

You can see one solution using Apex and a validation rule from Ebsta here.


I foresee Opportunity Contact Roles becoming increasingly important as Pardot becomes increasingly sophisticated with each release that goes by. I’m certain Pardot and Salesforce objects will become necessarily tighter in order to build the data relationships advanced new features will rely on.

Investigate how Contact Roles are being used within your Salesforce org, and consider one of the three options outlined to avoid empty opportunities or inconsistencies.

14 thoughts on “Introduction To Contact Roles & Why They Are Essential For Pardot Marketers

  1. 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.

    1. 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

  2. “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.

    1. Yes, that’s native functionality. Are you using the standard ‘New Opportunity’ action on the contact level (not account?)

    2. The Option 1 does not work me either. I am using a standard Opportunity in a SFDC sandbox (classic). Am I missing anything (setting etc?)

        1. 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!

  3. 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)

  4. 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?

  5. 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.

Add Comment