Over the past 4 years, the Analytics team at Position² has consulted hundreds of companies on Google Analytics. The projects include fixing tracking code issues, setting up goals, e-commerce tracking and a variety of custom implementations. Over time, we noticed that most of our clients faced a common set of issues or had a common set of errors in set-up. To give back to the online marketing community, Position² offered a free Google Analytics implementation audit in December 2010. The audit covered:
- Code check
- Multi-domain/Sub-domain tracking
- Tracking non-conventional goals
- Custom implementations
Over 100 sites signed up for the audit and free reports were sent to the first 25 sign-ups. The exercise gave us insights on the state of Google Analytics implementation and the level of expertise users had achieved. For instance, we were surprised to see that only 66% of the users had migrated to Asynchronous version of the code since its launch almost two years ago in Dec 2009. We used the sign-ups received for the free audit for a survey to understand the level of user expertise and identify the common errors in Google Analytics implementation. Totally, 134 sites were selected for this study. As we did not have access to the Google Analytics accounts of these websites, the study was restricted to only code related issues. By using the common errors from this study as a check list, web analysts can check the implementation on their sites. We hope you find this study informative.
Tracking Code Type
There was a lot of buzz and excitement in the web analytics industry around the asynchronous snippet launch in Dec 2009. The new code was touted to improve webpage load times and fine-tune the accuracy of data. In fact, test results published by Position² showed that the asynchronous version of the Google Analytics code was faster than traditional/ synchronous code by 17.03%. After almost two years of its existence, it's quite disappointing to see that only 66% of websites have migrated from the traditional code to the asynchronous code.
We looked at different aspects of the code to check if analysts were working with accurate data. Data accuracy depends on the right implementation of the correct code. Code Syntax Errors - 91% of the sites were successful in implementing the right syntax. Some common errors included:
- Calling Trackpageview before making the call to SetAccount
- Use of the period '.' in sub-domain tracking , pageTracker._setDomainName(".domainname.com"); The period before domainname.com should be used in cases where there are lower level sub-domains involved, for example dogs.petstore.example.com.
Multiple Account IDs - Some websites were tracking the data into two different GA accounts and hence had placed two versions of the tracking code with different account IDs. This is not supported by GA and can lead to one tracker overwriting the cookies of the other one. While it is possible to track data using two different account IDs, it requires a modification to the tracking code. In most situations, different profiles can be set-up to manage reports better.
Code Placement and Coverage
Altogether, about 21% of the sites had pages that were missing tracking codes. Not implementing the tracking code across 100% of the pages is a major cause for data inaccuracy. Common misses were non-conventional pages such as pop-ups, tools/calculators on sub- domains.
- Asynchronous - The main advantage of the asynchronous code was the ability to place the code higher on the page (hence capturing data more accurately) without delaying subsequent content from rendering. Surprisingly, only 50% of the sites using the async code had placed it in the <head>...</head> section, thereby not making use of its primary advantage.
- Synchronous - Another error in implementation that we noticed was that 15% of the sites using the traditional code had placed the code, not in the recommended body section, but in the <head>...</head> section. This could lead to sub-optimal user experience due to delay in page loading.
We studied the websites to see if they had implemented virtual page views or event tracking to track activities such as file downloads or clicks to external links.
- Downloads - While most of the sites were offering a download of some kind, only 6% of them were tracking the download action.
- Chat - Requires a simple modification of the link anchor of the 'Chat Now' button to include an onClick event handler to call a virtual page view or event. One can track the number of visitors using the chat option and also segment the data. For example, one can analyze the location from which conversations are initiated, the keywords resulting in chat (Organic, Paid), and most importantly, the contribution of chat to conversions. Here's a case study on improving chat funnel conversion rate:
In our survey, only 2% of the sites were tracking chat using Google Analytics.
Another area where there were implementation issues was sub-domain tracking. Almost 48% of the site had not implemented tracking across its sub-domains. Even among the sites which had sub-domain tracking implemented, most of them had errors. Apart from syntax related issues (example in section 2, under Code Syntax), the most common error was that the sub-domain line was added to the sub-domain pages and not the main domain pages. A few sites did the opposite. The objective of adding the 'setdomainname' line is to pass the cookie values when the visitor moves from the sub-domain to the main domain and vice-versa. This requires that the line be added to all the pages of the main domain and all the sub-domains.
Analysts tend to spend a lot of time sifting through data without first making sure that they are working with the right data set. It is also important to ensure that tracking is optimized to measure 'all that can be measured'. This means measuring across sites, across sub-domains and measuring non-conventional goals or visitor actions such as downloads, video plays and other interactive content. Tracking that is complete, accurate and one which measures all visitor behavior is the starting point for all great analytics. Contributed by Divya Krishnan, Assistant Manager - Analytics, Position²