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.