Tackling Cross-Channel Attribution

After working with dozens of clients across virtually all sectors, two of the biggest pain points I hear are (1.) how to calculate the impact each online channel has on the other, and if they have extra budget, (2.) what channel should they invest in to give them the highest overall ROI. I’m sure you or your boss has asked either or both of these questions at one time or another. Getting high-level insight into how display ads, email, SEM, SEO, and media (among many other channels) combine to attract and motivate visitors to act is extremely valuable. This type of information can be used to calculate the real cost per order for each channel, actual channel ROI and real revenue impact. 
Imagine this scenario, a visitor sees your banner ad on a partner site but doesn’t click on it. Two days later the same visitor clicks a SEM banner and lands on your site and browses around, but doesn’t purchase or convert. The next day they come directly to your site and complete a purchase and/or make a conversion. How do you calculate the impact each marketing channel had on this purchase and what the real cost per channel is? If you’re using a pre-defined allocation method that comes out of the box from most web analytics tools (i.e. most recent value, initial value, expire after X days), it’s nearly impossible to truly calculate this for your business’ unique set of parameters. My example above only addresses three touch points, but we can see that as those touch points grow the challenge of allocating them correctly becomes more difficult. 
After hearing this countless times, I thought it was time that we come up with a solution that didn’t involve numerous integrations and a large investment from our clients. After a few brainstorming sessions and feedback from my very talented team of colleagues, we came up with a very easy way to bring this data into any of the web analytics tools out there. Please keep in mind the business objective is to get a high-level view of each channel, not necessarily to focus on specific campaigns in each channel. The following general steps will guide you through deciphering the values of customer touch points. 
Step 1: Configure Web Server 
The basic idea in this step is to configure a web server to set a cookie on your domain (.example.com) based on a query parameter in the URL. When the server receives the request with a specific parameter, it checks to see if the cookie exists. If it doesn’t, it creates a new cookie and sets the value to the contents of the query parameter. If the cookie exists, it appends the value in the parameter to the existing value of the cookie. 
Step 2: Define Channels 
The next step includes defining the channels you wish to track and assigning a single character value to each. For example, use “s” for SEO, “d” for direct and “e” for email. These values will be used to determine the channel and interaction method with visitors. The type of interaction is defined by a lower-case letter designation for impression and upper-case letter designation for click where applicable. Once these values are outlined, go back to your web server configuration and implement the logic needed for your server to handle impressions versus clicks. 
Step 3: Implement Business Processes 
Now that you have a way to collect the data, it’s time to implement this new business process into each online channel. I know this is easier said than done, but you have to find a way to do it. The basic implementation goes something like this: 
1. For each channel, add a static image call to a transparent image hosted on your web server. In the case of a HTML email, embed the following: 

2. For all links in the email pointing to your domain, make sure you include the “ch=E” parameter in the destination URL. (Notice the upper case “E” to denote a click.) Similar logic should be applied to your remaining channels as well.
Step 4: Capture the Data 
When the user lands on your domain, the value of the cookie can be captured in any web analytics tool with some simple JavaScript code. When assigning the cookie value to a parameter in your web analytics tool, make sure the parameter is configured as a visit and/or session parameter. 
Step 5: Build Reports 
Once the data loaded into your web analytics tool of choice, you can build custom reports with the cookie value as the main dimension along with all of your important KPI’s as metrics (i.e. orders, revenue, leads, conversions, etc). Your report could look something like this: 

Step 6: Apply Business Rules 
Depending on your objectives, this is the step where you decide how the data should be analyzed. Should you apply cost data, profit margin based on the product, or focus on customer journey? Additionally, what is the value of each impression in relation to clicks? While implementing this logic for an ecommerce client, we helped them define how to weigh impressions against clicks and revenue percentages based on their sales cycle along with other business rules. The beauty of this solution is you have the ability to adopt any allocation method you wish based on your organization’s unique business model. 
Step 7: Optimize 
Now that you have actionable data, do something with it! Whether that’s adjusting your marketing budget or targeting specific content based on channel patterns, use the information to improve at least one aspect of your business.
I hope this helps your organization take the first steps toward analyzing how your visitors interact with all of your online marketing channels. To get more detailed information around the technical requirements of this solution or if you have general comments and feedback about this post, please email us at info@stratigent.com


By Kevin Wysocki
About the Author:

Kevin Wysocki is the Tag Management Practice Lead at Stratigent.

Contact Us Now