Build your own account-based, multitouch attribution tool for your B2B company

We’ve given up on attribution. We know 50% of what we do doesn’t work, and there is no way of knowing which. But there is nothing we can do about it.

Does that sound familiar? Then you are not alone. A lot of people in sales and marketing have given up. And that is at a time when we were hoping that digital platforms were going to fix those attribution problems once and for all.

And yes. B2C attribution can be complicated - how do you assign value to channels, touches, conversions and you have to choose between first touch, last touch, linear, custom or AI based models.

However, B2B attribution is way more complicated. Now you are looking at multiple people and you need to join the activity from all those people representing your búyer into a single journey for analysis.  Also you have a more much longer and more complex funnel with conferences, trade shows, paid ads, content marketing, retargeting, email flows, webinars, BDR calls, demo calls, onsite visits, sales calls and so on. And finally you need to connect the journey with a deal and revenue which is often closed offline or via digital signature on a pdf.

You need raw tracking data in a data warehouse

The first part of the solution would be to implement a tracking service that can provide event level data about what is going on on all your websites, apps, and digital products and offers the ability to identify users when they provide an email address. We mostly work with segment.com but there are other options out there. What you want is basically all the data in a data warehouse like Google BigQuery where you can do your own analysis.

then_CRM_2_warehouse (2).png

Then you need to bring your CRM data in there as well

Then you want to bring in your CRM data that holds information about the relation between users and companies. In some cases you can also pull your deal and revenue information from the CRM. If not you need to bring that in from a payment solution provider or maybe from your ERP system. Your CRM system could also hold information about email campaigns and offline activities like onsite visits and conferences. If you want the full picture you should also try to get call data out of your CRM system.

the_ad_data_2_warehouse.png

And your raw ad-performance data

Finally, you need to get your data out of Google and Facebook Ads and any other provider you use. You need the raw data because you want to be able to connect the data with the rest of your customer journey graph.

We use Segment to move data when possible, but in some cases there is no Segment integration or the integration is missing some of the data we would like for our graph.

Then you connect all the data to a meaningful customer journey graph

Now you need to connect everything in a customer graph that describes the customer’s journey from ad clickthroughs all the way through to buying. You need to join all the users that represent a company into one graph. You do this based on enrichment data, emails and the CRM data. Next divide the data up into touchpoints which is what you want to attribute to in the end.

Now you are ready to start doing attribution

Now you have assembled your customer journey graph. Represented visually it looks a bit like this for a customer:

illustrations for blogpost - build your own.png

It is made up of a number of people that represent a company. The people engage with your company in a number of touchpoints. And finally they purchase. For advanced analysis you also want to know about what went on inside the touchpoint so for instance what content did they see or what was the subject of a specific call.

Now you need to select or design your attribution model and apply it

Once the data is in place you need to select an attribution model and apply it to the data. You can start with a simple model where all value is assigned to the first touch for your company. In the example above it would be the first touch of user 1.

illustrations for blogpost - build your own (1).png

This model would help you understand which lead channels are the most powerful ones when it comes to establishing contact with new customer leads.

Create a multitouch model for ROI

You should also create a multitouch model to help better understand ROI. The simplest one would be a linear model that evenly splits revenue across touches. This is often too simplistic.

illustrations for blogpost - build your own (2).png


So you could go for a weighted model that assigns value based on type of touch and when the touch happens. You should decide what to weigh the most in your funnel. It could give special weight to:

  • the first touch - this rewards activities that establish contacts to new leads.

  • the first conversion - a reward for the first time you are able to contact the lead.

  • all conversions - this awards generally those activities that creates contacts that you can email or call.

  • touches that happen after more than 30 days of being out of touch - this should reward efforts to bring back a lead.

  • Distribute some value across all touches.

illustrations for blogpost - build your own (3).png


If you are very advanced you could also weigh the credit you give based on the persona of the user.

This type of model should give you an approximation of the actual value of your lead channels and touchpoints.

Calculate ROI for channels where you can attribute cost

For those activities where you can attribute cost you can now create real ROI views letting you inspect the ratio between cost and revenue. The obvious places to look is at CPC spend and potentially at BDR calls. Here you can connect cost very precisely to revenue via behavioral data in your customer journey graph.

It is hard but it is worth it

It is a big, complicated job to create a working attribution model for a B2B business. That is why many people end up not doing it and accept sub-optimisation inside siloed areas. But for those that build a model there is no going back. The efficiency gains are tangible. It is not untrue that 50% of your marketing is wasted as is often said. Having attribution can help you find that money and reinvest it where it actually counts.