Troubleshooting - Campaign Influence

Our Campaign Influence Accelerator comes with a Troubleshooting dashboard, designed to help you quickly identify where the missing gaps may be in your data.

This dashboard specifically looks at helping you with the 3 Account Engagement Models, which require:

  • Campaigns
  • CampaignMember
  • Contacts
  • OpportunityContactRoles
  • Opportunities

If any of the 5 above are missing, CampaignInfluence can't connect all the dots and is unable to use it when calculating Influence.

Troubleshooting CampaignMember

The first section of the dashboard focuses in on the CampaignMember part of the equation.

In our example below, we can see that nearly half of the Campaigns have some sort of issue.

  • Campaigns with Members - A count of your Campaigns that have Contacts as Campaign Members. Contacts are key, as CampaignInfluence can't work with Leads or Accounts.
  • Cs with Influence - A count of your Campaigns that has some CampaignInfluence associated to it. For the most part having this number match the total Campaign count would be great! Spotty association (such as a test CampaignMember record or two).
  • Cs without Influence - A count of your Campaigns that doesn't have any Campaign Influence associated. The Contacts on these Campaigns aren't finding their way to Opportunities. It could be an OpportunityContactRole issue, or these Campaigns may not be attracting the right people.
  • Campaigns without Members - You'll need to have Contacts added to these Campaigns.

Getting CampaignMember records created at the right time can be tricky. Account Engagement has a few different features that can help with filling a good majority of the gap, if you remain disciplined when building out your assets and Campaigns.

For extra help, we've linked to a couple of tools that can go the extra mile and ensure that all the right Campaigns get their attribution.

  • Every time a visitor hits your site with UTM parameters, this should be captured as a Touchpoint and eventually become a CampaignMember. Cyfuno Labs has an app that can make this a super simple effort for you.
  • If you have other related data in Salesforce that you think can make the connection between Contact and Campaign, there's a great tool by Lightblaze (Campaign Audience Builder) that can automatically create the missing links for you.

If you have a Marketing Ops person/team, they definitely will have ideas on how to improve data collection here.

Troubleshooting OpportunityContactRole

The next section of the dashboard focuses in on the OpportunityContactRole part of the equation.

In our example below, we can see there is a serious gap with the vast majority of Opportunities not having Contact Roles.

  • Opps with Contact Roles - A count of your Opportunities have have Contacts associated to them. Again, Contacts are key, as they link your Opportunities to Campaigns.
  • Opps w Influence - A count of your Opportunities that have CampaignInfluence being calculated. The closer you can get this number to the total number of Opportunities, the better!
  • Opps w/o Influence - These Opportunities do have ContactRoles, but those Contacts likely don't have any Campaigns associated to them. While not necessarily a bad thing, bad data like duplicates (especially between personal & business Contacts) can bite you here.
  • Opps without Contact Roles - These Opportunities have no Contact Roles associated at all. Quite common for teams just getting started with CampaignInfluence!

Getting OpportunityContactRoles can be challenging. We've linked you to a few resources that we hope can help!

If you have a Sales Ops person/team, they may have additional ideas on how this can be addressed with as little operational pain as possible.

Troubleshooting Campaign Hierarchies

Having Contacts in both Parent & Child Campaigns can cause rollups to double count the Contact, and from an Influence perspective it causes the influence to be spread across both Parent and child.

Unfortunately, we haven't been able to figure out a way to build this intelligence into a Salesforce Report.

The best we've been able to come up with is a SOQL query that can run for 1 Campaign at a time.  With enough demand, we could build this into a Lightning Component that can be added to the Campaign Record page and flag which Contacts are an issue. If this would be of value to you, reach out to us!

As for now, here's a sample of the SOQL statement that you can run. Be sure to update both CampaignIds with the Parent Campaign that you might be working with.

SELECT Id, Name, Email, Account.Name
FROM Contact
WHERE Id IN (
    SELECT ContactId
    FROM CampaignMember
    WHERE Campaign.ParentId = '701bn000019STUfAAO'
)
AND Id IN (
    SELECT ContactId
    FROM CampaignMember
    WHERE CampaignId = '701bn000019STUfAAO'
)