6 marketing multi-touch attribution frameworks (w/ pros and cons)

Marketing campaign attribution reporting has been all the rage for some time but many b2b companies are still struggling to get it right.  

The problem is that traditional marketing automation platforms (e.g. Marketo) and Salesforce are just not that good at it, mainly due to the program and campaign data structure adopted by these tools.    

One of the biggest challenges is what we call the “where/what problem with online engagements.”

As marketers, for all our online engagements we want to know:

  1. Where did this person come from (Paid ad, Social, Organic search etc)
  2. What did this person convert on (ebook, demo etc)

Then we want to see how the engagement generated and influenced pipeline and revenue. This should be easy, but it’s not.

The issue is that for each “what” there are many “wheres”, for example, your ebook that you promote on Linkedin, Adwords, email etc.

Your Marketo and Salesforce instance likely has program/campaigns for your online offers (ebook, demo, webinar etc), however, you may not have a program/campaign for the referring channel that directed the lead to the offer (adwords, email, organic social etc).

Even if you do, there are still issues with this that we will discuss in the pros and cons below.

If you don’t have referring channel programs (“wheres”), the online offer gets all the attribution and your CMO starts asking “why are we not seeing our online paid channels in our influence reporting? We spend a ton of $ on those”.

Check out the video to hear more of our thoughts on this topic or scroll below for the details:

(Easy) Lead Source reporting

How it works

Track the original source, source details and most recent for source and detail. This data will be on the lead and contact and mapped to opportunity. Audit all ways data can enter your MAP and make sure the source information is stamped (e.g. form fill, list import, API, etc).

Then make sure the data is mapped from Lead > Contact and Lead > Opportunity. Mapping Contact > Opp is a little more involved but it’s possible.

Pros

  • Typically already have a lot of this setup
  • Ability to report on first touch and last touch and at key milestones (lead creation, MQL, opp creation)

Cons

  • Not true multi-touch reporting. Some middle important touchpoints ignored which can lead to certain channels being rewarded more than others just because they are lead generating channels.  
  • Reps can create opportunities from the opportunity or account object, which means the Lead/Contact Lead Source is not mapped to the Opportunity, so Sales Generated will get the credit.
  • No attribution to reward campaigns and channels a portion of the opportunity value based on different models. 100% of the opportunity value goes to the source.    

Example report

This is showing opportunities by original Lead Source. Typically the Lead Source on the opportunity will be inherited from the Lead that is converted into the opportunity or if the opportunity is created from the Contact.

(Easy) Create one Marketo Program/SFDC Campaign for each online channel and a program/campaign for each online offer and offline program

How it works

In this option, we would create one global program and sfdc campaign for each online channel. As well as a program/campaign for all online offers and offline programs.

For example:

  • Global Organic Social Twitter Program/Campaign
  • Global Paid Search Google Program/Campaign
  • Global Paid Social Linkedin Program/Campaign
  • Really Cool Whitepaper Program/Campaign
  • Very Excellent Roadshow Program/Campaign
  • Demo Program/Campaign

For all offers and offline programs the lead will be added to the program when they engage. In addition, for online engagements the lead will be added to the online channel program as well.

For example, if a lead comes from Google Adwords and fills out a form for your whitepaper they will be added to both programs and related sfdc campaigns:

In Salesforce campaign influence reporting the opportunity would be related to both campaigns independently and the total value of the opportunity credited to each campaign.

In SFDC Primary Campaign Source (PCS) reporting the last campaign before opportunity was created will be set as the PCS, we can somewhat manipulate this by adding the lead/contact to the campaigns in a specific order.

For example, a person downloaded a whitepaper after clicking an adwords CPC link and then the lead is converted into an opportunity worth $200k, both campaigns would be given $200k as you see below. It is not split between them.

Pros

  • Relatively easy to set up
  • All channels are represented in multi-touch attribution reporting
  • Can report on total conversions and total opps influenced by channel easily
  • Relatively easy to apply costs to the campaigns as all channel costs get associated to one campaign

Cons

  • No connection between offer and channel so difficult to pull a report on all leads from a specific asset and channel e.g. all leads from Content X who came from PPC
  • A lead can only be added to a program once so multiple conversions in the channel are not tracked (however you can create a new channel program each month/quarter to be able to track more than one but still not all)
  • For online engagements there will always be two touchpoints (in the form of campaign members or program successes) tracked. Ideally for online touchpoints the offer and channel data should be in one record (e.g. campaign member)
  • The full $ value of the opp gets associated to each campaign, there is no % weighting

(Medium difficulty) Update fields on the campaign member

How it works

Continue to use the offer campaigns (e.g. webinar, content asset) but update fields on the campaign member based on where the lead came from (data pulled from the UTMs). E.g. utm_medium, source, campaign etc.

These fields would be on the campaign member object and therefore can be used in reporting.

Pros

  • There is just one touchpoint with both dimensions (referring channel and offer)
  • In reporting you will be able to see where people came from and what they converted on relatively easily

Cons

  • The offer program will still be the campaign getting the attribution in campaign influence reports and primary campaign source reports. So the type would still be the offer type, but you can pull in another field to see the referring channel
  • Order of operations needs to be considered so the utms on the lead/contact are updated before the campaign member is created so the correct utms are stamped on the campaign member.

Example report

  • In this report you can see the data is summarized by the Referring Channel which would be the custom field on the campaign member record and multiple campaigns can have the same referring channel value, similar to how the SFDC Campaign type field works but this field will be updated from the utms on the lead/contact when the campaign member is created.

(Medium-hard difficulty) Custom object

How it works

Create a custom object and SFDC processes to pull data from the lead/contact everytime the person engages and store the relevant data in a new record in the custom object. The data would include the program they engaged with, the referring channel (e.g. ppc, paid social) the referring source (e.g. google, facebook). This object will be related to leads, contacts and opportunities.

Pros

  • This will truly show every single touchpoint
  • The online touchpoints referring channel and offer will be in one record for easy reporting
  • Flexibility to create a custom opportunity attribution model

Cons

  • Creating the new object is relatively straight forward when trying to track the touchpoints themselves however when relating to opportunities and building the custom attribution model it can get very complex
  • Requires development work in SFDC and likely some degree of ongoing support
  • Essentially we are trying to create what other 3rd Party tools like Bizible are doing but you would expect them to be innovating and improving their product without more dev work for you in SFDC
  • Order of operations needs to be considered so the utms on the lead/contact are updated before the campaign member is created so the correct utms are stamped on the campaign member.

Example report


  • In this report you can see the custom object will contain the channel (as well as the program and all the utms) so you can summarize and display all the levels of the data. You then have the flexibility to show the total value of all opportunities related to the touchpoints and build your own custom attribution model.

(Medium difficulty) Bizible

How it works

Bizible creates new objects in SFDC (Bizible Touchpoint and Bizible Attribution Touchpoint) and stores all the relevant data in the touchpoint and then divides the associated opportunity value across the touchpoints.

Bizible also tracks all online activities automatically using their Javascript on your website without needing to create additional Marketo programs or any operational setup at all.

Pros

  • Relatively easy and quick to implement
  • Purpose built to solve this problem and more
  • Automatically tracks online touchpoints in a seamless way (much better than creating online referrer programs/campaigns)
  • Would hope the roadmap is good and new features will continue to be added
  • Can use multiple attribution models to answer different questions
  • Reporting is in SFDC where most of the team is working everyday  

Cons

  • Not cheap
  • Recurring cost
  • Only really worth it if you are very serious on using attribution reporting and expect a clear ROI
  • In this report you can see you can summarize by channel (you can also sum by campaign, form URL, web page and other variables). Then display the attributed amount awarded to each channel across multiple different attribution models.

(Medium-Hard) Create a new program for all offer + channel combinations

How it works

Need to create a new offer+channel program and campaign for each online offer. For example, if you have 20 offers on your website and you promote them across 5 channels (e.g. Paid Social Linkedin, Organic Social Twitter, PPC etc) you would need to create 100 programs and campaigns for all offers+channels.

This can be made much easier if you try to reduce the amount of offer+channel programs. For example, only having one for organic and adding a program for each channels where you are promoting the content with considerable budget.

Pros

  • You can easily report on the channel + offer combination
  • You will not miss any touchpoints  
  • Great for companies with a relatively small amount of content and no expectations of creating a lot more (or a large team able to create all the programs and campaigns)
  • Can templatize and relatively quickly create new programs and campaigns  

Cons

  • Need to find costs for all individual channels + offer e.g. spend on promoting Content X on PPC
  • Labor intensive to create programs if you have a lot of online offers
  • Lot's of trigger campaigns in Marketo can slow down the system
  • Easily outgrown if you start to scale your content efforts and not able to keep up with the creation of the programs and campaigns  

Conclusion

If anyone tells you there is a best way to report on the success of campaigns they are not telling the truth. There are many different options and all have their pros and cons.

The role of marketing ops is to review all the options and choose the best one to achieve the desired result.

We hope this helps you.