The Ultimate Google Analytics Audit Checklist
This is the start of our project to document, explain and teach others how to audit and improve Google Analytics for community benefit. Leveraging our experience of auditing over 500 setups, you can do the same work and use the same set of checklists for giving someone the gift of better data quality. That’s a win in our book and makes it more valuable than kept to ourselves.
Charles Meaden and I have been optimising GA setups since the product was called Urchin (a long time ago). So we’ve had no choice but to audit, fix, clean-up, sort out, bridge around, nail together, streamline or enhance over 500 unique businesses, where nearly all of them had critical data quality issues because Google Analytics wasn’t set up correctly.
Our pain is your gain.
This list is going to migrate to some cards or a reference guide — where we can enlist the help of the community to tweak and grow the 181 problem areas listed below. It’s our belief that freely sharing everything we’ve found will be invaluable for others treading the same path.
Google sheet with all the current issues:
And here’s a text list of the issues:
CONFIGURATION
No Customer State Handling or Incorrectly Configured
No Internal, Dev or QA filtering
Hit Limit Exceeded
No RAW, TEST, LIVE views configured
Filters misconfigured or broken
Filter is redundant
Missing traffic (filters remove useful traffic)
Default page view erroneously switched on
3rd party office filtering — Staff, Agency etc. not filtered
Bot protection not turned on
Advertising and Demographics not turned on
Site search tracking switched off
Has the time zone been set correctly?
Has the currency been set correctly?
Timezone & Currency span more than one website
Hostname in URL
Redundant filters
Audit who has access to the accounts / properties and views
No annotations
Network level or device redirection skews data
Too many views being used
Default Page view setup
Web and app data mixed (various issues)
Google Search Console not linked
Organic search sources not setup
View contains bot traffic
No view available to test filters with
Industry Category not set
Users metric setting disabled
Adwords not linked
Exclude URL query parameters missing/not correct
Checkout Funnel steps not labelled (if appropriate)
No Custom alerts or Scheduled emails
Products not linked
Property and view structure makes no sense for analysis
Automated traffic detected (various)
Referral spam detected
No basic custom dimensions (simo 4)
Setup has too many hits/websites within a property
Are custom dims scoped correctly?
Data spikes, dropouts, ecom outliers or other artefacts
CAMPAIGNS
Campaign tracking issues (various)
Campaign tracking used on internal links
Email Campaigns not tracked
Campaigns not tracked with utm codes
Campaign tracking (UTM) used on internal links
Campaign tracking inconsistent
Lower casing for campaign tracking
Campaign tracking uses hard to analyse naming convention
CHANNELS & GROUPS
No Content Grouping Set Up
Content Grouping incorrectly configured
Channel Groupings not configured (or replaced with custom)
Channel grouping of ‘Other’ is too high
Server level redirects changing values for gclid codes and utm codes
Google Adwords traffic not being tracked correctly and showing as organic
(not set) issues in a variety of dimensions
No customer state handling (prospect, customer, logged in/out)
BOUNCE RATE
Bounce Rate skewed by interaction flagged as non interactive
Bounce rate Skewed (other issue)
Landing page dimensions missing
No interactions on landing pages to ‘adjust’ the bounce rate
Bounce rates too low (show)
Bounce rates too high (show)
0% bounce rate detected
Data is mixed — e.g. Content across (sub)domains
Meta refresh or other redirection hits tracking
CROSS DOMAIN
Hostname in URL issue / Splitting sites
Cross Domain Tracking not set up
Subdomains and other joined domains tracked in separate properties
Traffic from a customer owned or operated domain is being counted as a ‘Referral’ rather than internal traffic
Referral Exclusion not setup
DATA LAYER
Useful data in data layer not sent to GA
Custom dimensions used (good uses)
Custom dimensions (not used but collected)
Custom Dimensions Not used
Data Layer incorrectly formatted
ECOMMERCE
Standard Ecom doesn’t record correctly (various issues)
Does the ecommerce data correspond to the back office system?
Does the ecommerce value have commas in it when sent to Google Analytics?
Does Product revenue and total revenue match?
Does the view contain mixed (currency, tz) data
Price, Shipping, Tax combination set incorrectly
ENHANCED ECOMMERCE
Is it turned on?
Product impressions
Category / List page tracking
Add to basket
Promotions / Cross / Up-sells
Checkout steps
Remove or adjust quantity in basket
Cart handling
Shopping behaviour report not instrumented
Checkout behaviour report not instrumented or useful
Checkout has multiple flows
Do ecom categories make sense?
Is enhanced ecom variable data (pa=, cos= etc.) formed correctly
Some checkout steps are missing
EVENT HANDLING
No Form Interaction tracking
No Forms, form validation, errors or submission tracking
Overlays / Upsells not tracked
Navigation, Footer, Other interactions not tracked
Filters tracked as pages, not events
Errors on website interactions (forms, fields) not tracked
Contact or Newsletter signup not tracked
Are downloads tracked?
Are outgoing links to other websites tracked?
Are clicks on email links being tracked?
Are video plays tracked?
Are social shares tracked?
Are rollovers and help items being tracked?
Are navigation links tracked?
Is the site collecting form error and validation messages?
Does the site collect JavaScript error messages?
Are on page interactions such as facets, tabs, accordions, filter and buttons that change the user states tracked?
Are phone calls tracked?
Are carousels tracked?
Is live chat tracked?
Is scroll depth tracked?
Form thank you pages not being tracked
Are internal promotions tracked?
Event tracking not configured correctly
Event names that don’t make any sense
Event data hard to analyse for insight
Downloads/Uploads not tracked
Event issues with goals (various)
GOALS
Goal setup sub-optimal
Goals inactive
Goals not relevant or useful
Specific goal not firing (walkthrough / check)
Funnel visualisation broken (side flows, oxbow, no drop)
Running out of goal slots
Goal uses wrong method (equal to vs. regex and more)
Goal grouping sub-optimal
ONPAGE CODE
Code fired twice
Two types of tracking code Mixed
GA and GTM firing on same page
Two different types of code used on more than one site
Tracking code used on more than one site
Running classic Google Analytics.js
Google Analytics code not in the right place
Google Tag Manager code not in the right place
On page load data snippet placed under Google Tag Manager
ONPAGE CODE
Page Fragmentation (parameters)
Page duplication (trailing slash)
Page duplication (homepage)
Enhanced Ecommerce Tag on Product Pages doesn’t always fire
Event tracking is verbose
Google Analytics tracking code not present on all pages
404 Pages Not tracked correctly
Session IDs appearing in the URL
Information contained in query strings that could be in custom dimensions
Other marketing tools campaign ID’s causing duplicate pages
GA doesn’t capture links with anchors (#)
SEARCH & FILTER
Site search not turned on
Site search not correctly tracked
Search category/modifier not tracked
Search lookahead/ auto suggestions not tracked
Search data and lower case issue
Filters, Facets or inpage controls not tracked
Internal search traffic not setup
Zero search results not captured
Lower case search terms
MISC
PII Present in GA (various)
Data Import Not Used
Downstream conversion (phone, offline, refunds, returns) not tracked
No backup filter
Default view not set