A Step-By-Step Guide to The Google Analytics Audit Checklist
Google Tag Manager revolutionises the way many websites manage tags. But like any software solution it requires time and careful planning to optimise implementation. The Google Tag Manager audit checklist helps you identify areas for improvement, but also opportunities to enhance data quality and analysis.
As a web analytics consultant I regularly use the Google Tag Manager Audit checklist to ensure an implementation fully meets the needs of the client. It also facilitates discussions with the client to align the business goals with customer needs. It ensures we create a measurement plan which reflects what delivers value to the business.
You can also check the Google Analytics audit checklist to help you set up GA.
1. Start with the customer, not the data:
It’s important to understand the business model and what attracts customers to the website before beginning the process of auditing GTM implementation. This involves creating a measurement plan based upon a suitable performance framework to align customer goals with leading indicators and areas requiring optimisation. I cover this in more detail in how to create a development and testing process for GTM.
Begin your Google Tag Manager audit checklist by creating an issue log which allows you to record problems or concerns as you discover them. This should document the date you saw an issue, what it relates to (e.g. GTM container), a short description of why it is a concern, what action you have or intend to take, and a status (e.g. what response you may have received).
It’s also beneficial to document all the GTM container IDs and the Google Analytics property IDs they send data to. If there are tag plans this should speed up the process. It’s worth validating that they cover all the GTM containers and GA properties.
Going through this process will often help uncover issues that you need to be aware of before you begin implementing any measurement plan. It will also enable you to verify if you have sufficient access and permission levels required for all the relevant GTM containers and GA properties. This will help prevent delays at a later stage when you may need to be more agile.
2. Preparing the website:
The first thing to check is the GTM code and if it has been properly implemented correctly on every page of the website. There are a number of tools you can use to help with this process. Including Screaming Frog and GAChecker.com.
Also, has the GTM code been added to different environments? Such as DEV and UAT to enable testing in pre-production? You may want to deploy GTM to multiple subdomains using a Lookup or RegEx Table to facilitate testing of new experiences before they go into the live environment.
For a website to be GTM ready, it’s good practice to get a developer to add element IDs to assets which users interact with or that inform us the user is on a particular journey. You can sometimes use CSS selectors, but often element IDs are a more reliable method.
Are forms configured for tracking? Form submission tags are vital for understanding conversion rates. You can then set up form submissions as goals in Google Analytics and use them to create funnel visualisations in Data Studio.
Does the website have single page applications (SPAs)? This may require using URL fragments or element visibility triggers to track user progress in a SPA.
3. Data Layer Basics:
The data layer is a major advantage of using Google Tag Manager, and there would be no variables or triggers in GTM without it. But don’t assume IT and developers know what it is or how to use it. Find out if anyone has explained the data layer to your developers. Begin a conversation about how they can help you by getting useful information into the data layer.
Find out what information is already available to GTM via the data layer. If you need to capture more data about user interactions with content or elements, get a developer to add it to the data layer with a datalyer.push. You can then create data layer variables to capture this data for use in tags to send to Google Analytics.
Despite what Google says, you should not add a separate GTM data layer to your website. Adding an empty data layer can break GTM, especially if it is below your GTM script. Always ask your developer to use datalayer.push to send other data to the data layer.
4. Content Security Policy:
‘Refused to load the image’ error message
‘Refused to load the script’ error message
5. Basic Tag Set-up
You might expect most basic tags, like the Settings Variable, would have already been set up. But what I find is that tags are not always configured for multiples environments to enable testing in non-live environments or they have not even been tested to check they work.
For example, the GA Tracking ID variable which uses a Lookup Table or RegEx Table to deploy GTM across multiple subdomains has often not been set up. In some cases, separate containers have been made for each subdomain. This is a workable solution, but it is much easier and less work to use a single container for different environments of the same site.
Check that you have other useful variables and tags for more advanced analysis. I have listed a number in the Google Tag Manager audit checklist, and you can download them via my container template. It is accessible in the post how to migrate to Google Tag Manager for Google Analytics.
Are You Using Lookup or RegEx Tables to Minimise the Number of Tags You Deploy in GTM?
Simo shows you how to create a Lookup Table generator in Google Sheets. It can be a very long and tedious task of adding rows to Lookup Tables.
Many organisations use PPC campaigns and Facebook to generate leads and ultimately sales. Check that your Google Ads conversion tracking and remarketing tags are correct and are providing accurate data to evaluate the performance of campaigns. Similarly, is the Facebook pixel tag set up and have automated reports been made to measure the effectiveness of campaigns?
Have conversion rate optimisation tools been integrated into GTM? Do not use GTM for Google Optimize or other A/B testing tools as they can slow the site down. It is normally better to add the code directly to the site. You may want to consider GTM as an option if you have difficulty getting code added to your website. In addition, customer experience tools like Hotjar can also be integrated via GTM.
Many websites have the basic setup, but when you dig underneath the surface you often find they haven’t implemented the more advanced aspects of GTM, such as cross-domain tracking, iframes, payment gateways and embedded applications. They may be more difficult to implement, but they can often generate the most return on investment. That’s because no one has been able to track what happens to visitors during these stages of the journey.
For example, embedded applications can be tracked by implementing GTM and creating virtual page views to record dynamic content changes. This means you can measure important journeys and identify pain points where users drop out of important journeys.
What about payment gateways? If your organisation uses a payment gateway which is managed by your internal IT department there may be no reason why you can’t track that as well. Check the post how to track a shared payment gateway with Google Tag Manager for more details.
7. Custom Dimensions:
Custom dimensions allow you to improve the granularity and quality of the data you collect in GTM. That’s why I always look to configure some of the 13 useful custom dimensions in Simo’s post. For example, the Hit Timestamp dimension outputs local time. The Session ID allows you to aggregate all related hits directly into your data reports.
Other custom dimensions you should consider include:
- Anonymous cookie identifier that Google Analytics allocates to every browser hit of any single visitor.
- An ID which is linked to the user.
- The type of hit (e.g. event, pageview, timing etc) allows you to build segments or to add granularity to path analysis.
- The value of document-referrer will allow you to identify the previous page for any hit.
- This records the payload length to every tag in your GTM container so that you can measure if you are approaching the 8192 limit that Google sets for Google Analytics.
GTM Container ID
- Capturing the container ID assists with identifying valid hits from spam. It is useful when you have multiple containers on the same site. It’s also handy when you have both GA and GTM script running in parallel.
- Number of times the initial document request is redirected when the user loaded the page.
- How the user navigated to the current page (e.g. navigate where directly entered URL or clicked a link, reload, and back/forward buttons).
- Did the page load in a newly opened tab or by using an existing tab.
- Number of tabs currently open in the browser.
- The ID of the current tab to allow you to group together hits by the tab in which they occurred.
I have included these custom dimensions in the GTM container template. You can download them in my post how to migrate to Google Tag Manager for Google Analytics.
8. Custom Metrics:
These are important because they enable you to create unique metrics that are for your site’s individual reporting needs (e.g. form submission or add to basket). Custom metrics are also required if you wish to create metrics that measure conversion rates for items. Such as account creation, form completion, and also transactions. To learn how to create custom metrics in GTM read my post. You will also need to check they have been configured in Google Analytics.
Creating a Custom Metric in GTM
9. Preloading Data Layer with User Data:
There is much more you can do with data layer. For example, you may want to identify logged in users, types of user (freemium or paid), identify them with a user ID for cross browser and device tracking or capture user preferences. Review your ecommerce performance framework. Identify what additional information you need to capture in the data layer to deliver the metrics your organisation needs to identify areas for improvement.
10. Ecommerce Data:
I tend to focus my time on Enhanced Ecommerce tracking because it’s superior to standard ecommerce tracking in Google Analytics. That’s why I am much more interested in evaluating how to implement enhanced ecommerce tracking in GTM than looking at standard ecommerce tracking.
This can provide a wealth of data during the checkout journey and so it is appropriate to spend a substantial amount of time evaluating the benefits of collecting enhanced ecommerce data. It does require planning and thought in implementation and it is better not to rush the process and get it right first time.
I would go back to your measurement plan to confirm the focus of enhanced ecommerce tracking and not collect data just because you can. Go through the checkout process to identify the metrics you need to collect to deliver the leading indicators identified by your ecommerce performance framework. This should guide your implementation.
You will then be in a better position to define your code for implementing ecommerce tracking and be less likely to over-complicate it by trying to collect everything. This is when having GTM in pre-production environments will benefit you as it gives you the opportunity to test everything before it goes into a live environment.
While the code is being implemented into a pre-production environment. You can create and configure your data layer variables, triggers and tags ready for testing in the same environment. It’s easy to make mistakes with enhanced ecommerce tracking and so this is your opportunity to test, correct and test until you are confident everything is working as expected.
To download your free Google Tag Manager audit checklist click on this link.
Undertaking a systematic Google Tag Manager audit checklist will give you greater confidence in the data you collect and guide your measurement plan to enrich the data you collect via GTM. However, this is an ongoing process and it is worth revisiting every year or so to see what you may have missed or what you could improve.
As Google continue to develop and add new functionality to Google Tag Manager it will be necessary to update the checklist accordingly.