Tracking Internal Campaigns with Google Analytics

Posted by & filed under Web Analytics, Web Analytics Implementation.

Ever wonder how you can track the performance of your onsite campaigns and promotions with Google Analytics?

The first instinct is to use Google’s campaign functionality to track their effectiveness. The problem with the approach though is that you’ll be overriding your external campaigns. Consider this scenario: the visitor comes from an email campaign that’s being tracked through Google Analytics and once on site, he/she clicks on the internal campaign, overriding the email campaign. When the conversion occurs, the campaign that takes credit is the internal one, falsely leading you to think that your email campaign is not performing.

So what to do in this case? The solution is to use another Google Analytics feature for internal campaign tracking to make sure your internal campaigns do not override your acquisition programs. Additionally, consider the scenario where you may have several internal campaigns or promotions that are displayed on the page at random. For example, in one impression the visitor may get exposed to promotions A and B, and upon refreshing the page the same visitor may get exposed to promotions B and C. An example of this can be seen at the bottom of the Wells Fargo home page shown below (note: not a client). In this case, it’s not only critical to track the clicks, but also impressions because the combined data points will give you the campaign click-through rates.

In this solution, we’ve developed a script that lets you track the effectiveness of your internal campaigns using Google Analytics’ new Event Tracking feature. The reason we selected Event Tracking is because we wanted an easy way to track both impressions (for rotating banners and offers) and clicks.

So how does this work? First, download the toolkit, which consists of the script and the instructions. This solution will let you tag the links for which you want to track impressions and clicks with a query parameter. By adding the query parameter onto the destination URLs, the script will track both impressions and clicks automatically.

Here’s an example: consider you have a total of 5 promotions on your home page that rotate randomly (like the Wells Fargo home page). The destination URLs for these five promotions are:

http://www.site.com/promotion1.html

http://www.site.com/promotion2.html

http://www.site.com/promotion3.html

http://www.site.com/promotion4.html

http://www.site.com/promotion5.html

By adding the parameter “promo_id” to each one of these destination URLs, the script will automatically track impressions for each of the links and also the clicks on the click through event. The only thing that you’ll have to do is to add the provided script to the page and add user-friendly parameters to the destination URLs. The following is a sample of what the resulting destination URLs would look like:

http://www.site.com/promotion1.html?promo_id=promo1_home

http://www.site.com/promotion2.html?promo_id=promo2_home

http://www.site.com/promotion3.html?promo_id=promo3_home

http://www.site.com/promotion4.html?promo_id=promo4_home

http://www.site.com/promotion5.html?promo_id=promo5_home

Sounds simple enough? Well it is. Now on to the reports. Upon the page load, the links tagged with a “promo_id” parameter will send an event tracking request to Google Analytics with the category: “promotions”, action: “impressions”, and label being whatever you’ve entered in the “promo_id” parameter. On the click event, the script will send another Event Tracking request with the category: “promotions”, action: “clicks” and label being the value passed in the “promo_id” parameter. The result is that you get true link impression and click tracking inside Google Analytics. The reports can then be viewed in the Event Tracking section of the interface, with categories showing “promotions”, Actions reporting on the number of impressions and clicks and Labels showing you the actual links being tracked.

Of course this comes with its limitations. First, Event Tracking is still in beta and not everyone has access to this feature yet. Next, you do not want to get carried away and use this for every link on your site. Google Analytics limits you to 10 events per page and no more than 500 total events for the entire session. So we recommend that you only use this for a handful of critical onsite promotions, mainly rotating promotions. The default script has a limit of 5 links to be tracked per page, which can be configured. Finally, it is imprtant to note that if you use this on your landing pages, it will impact your bounce rates. The extra event created via the impression tracking will eliminate any potential for a bounce, reducing your bounce rate. There is a mechanism to delay the impression tracking that is detailed in the distribution. This will allow you to only track promotion impressions for users spending X number of seconds on the page in an attempt to maintain the integrity of the bounce rate metric.

About Mike Anderson

Mike Anderson co-founded Tealium in 2008. Prior to Tealium, he joined WebSideStory (now Adobe Systems) as a senior engineer, and was quickly named to the HBX core architecture team. In his engineering capacities, he authored the HBX implementation component, co-authored the HBX Stream web services platform and wrote the clustering software to process the HBX Active Segmentation engine. With a desire to work more closely with customers, Mike transitioned to the professional services team and built the technology consulting practice. In this position, he handled all complex HBX and Visual Sciences Platform 5 (now Discover OnPremise) customer implementations including: Disney, Best Buy, Target, Cisco, Yellow Pages Canada, Citi, Comcast, FedEx, Allstate, Kayak, Hasbro, AIG, Schwab, New York Life, Pfizer, Verizon and YouTube. He also provided all HBXStream, Datafeed, and technology training/certification consulting for HBX.

by Mike Anderson
Co-Founder, Chief Technical Officer
8 comments