B2B Revenue Attribution for SEM with Tableau, Python and Machine Learning.

A common challenge for B2B marketers is how to attribute revenue to a search program. Unlike typical direct marketing tactics, the path to B2B revenue often involves many channels, programs, stakeholders and decision makers.

There’s usually not a direct path from a specific digital touch to a sale, which can make long-term SEM programs difficult to justify with revenue contribution. This leaves search marketers with but clicks, search rankings and impressions, which rarely tell a compelling story about marketing’s contribution to revenue.

A client approached us with an interesting proposal: he wanted to demonstrate SEO’s contribution to pipeline and sales. With no direct connection between search impressions, clicks, and ultimate a sale, we had to come up with a solution that relied on statistical inference.

Our solution was to blend a few data sources:

  • Web traffic and conversion data from Adobe Analytics which contained a unique customer identifier on each page as well as each URL touched by that unique customer. This identifier was also passed to salesforce anytime a web conversion occurred, i.e. a form submission.
  • A CSV file of managed SEO terms and preferred landing page URLs from a vendor tool.
  • CRM data from Salesforce.com, which included a unique customer identifier along with all revenue activity. This allowed us to get a file which had a URL and the last-click revenue associated with that URL.
  • Google Search Console data, which allowed us to view search entrances per URL.

The basic application logic worked like this:

  • Map all the data sources together using the unique customer key and load into a temp working source.
  • Grab the top keywords, click and impression data for the URL via the Google Search Console REST API into another working source
  • Classify the keywords into brand, non-brand, product, and service categories using machine learning algorithms. We used TextBlob and FuzzyWuzzy python libraries for this.
  • Visualize and analyze the data using an analytics platorm (Tableau).

We now could drill down into each search query and see the revenue opportunities associated with it.  This made it easy to identify revenue opportunities in an interactive, visual way.