So, you’ve set up your Google Analytics account and have a working implementation, but something doesn't feel quite right. Your spidey sense is tingling, the data you are getting is not complete. You need to figure out what, if anything, is broken. This post is all about that: debugging and troubleshooting.
Disable your ad blocker
Not seeing your data show up in real time reports? Make sure to turn off your ad blocking plugins. Google Analytics (GA) / Google Tag Manager (GTM) is a 3rd party script and most ad blockers will stop it from working by default.
3rd Party Scripts Blocked by uBlock
Use UTM links to segment incoming traffic
Is most of your traffic coming from “direct,” despite the fact that you send email newsletters and maintain an active social media presence? If so, you are not using UTM (Urchin Tracking Module) codes as part of your URLs. These small additions to the URL communicate the source of your traffic to Google Analytics.
Anatomy of a UTM
Click here to see a simple UTM generator provided by Google. There are countless other examples out there. Pick one, tailor it to your needs, and start being consistent. To achieve this consistency, document your approach and record your UTM links.
Hierarchy of UTM parameters, with examples.
Clean up redirects to get more accurate referrals
Redirects wipe out tracking information that Google Analytics uses to determine where traffic comes from. If you have any old 301/302 redirects switching people from HTTP→ HTTPS, that could be a reason you have so much traffic whose source is labelled “direct.” While you can’t recover lost data, you can prevent this from happening in the future. Redirection rules, including preserving query parameters, have to be configured at the web server level, in nginx.conf, or via mod_rewrite in Apache. If you are using Pantheon, this would happen in your wp-config.php or settings.php file.
Take Google Analytics site speed reports with a grain of salt
Site speed is extremely important, however it should be measured outside of Google Analytics. Even though the tracking script is loaded asynchronously, it doesn't mean all the data is accurate. What happens if a user has an ad blocker enabled? The script never loads in the first place. You are collecting data from a subset of users; add to that, the data you are seeing in Google Analytics is sampled. For a more complete picture, use a tool like Pingdom to monitor performance periodically. See more here.
Debug your site’s Google Analytics implementation with Chrome extensions
There are several ways to verify that your implementation is working correctly. Always start with using the Preview Mode in Google Tag Manager. That will show you which rules are not being satisfied to fire the desired tags. There are fringe cases where tracking may work in GTM Preview Mode, but not when its published, if this is happening, reach out to us for support.
If everything looks good in Preview Mode, publish your changes. Then check in Google Analytics Real Time Reports to see if your data is coming through as expected. The challenge with Real Time reports is that it’s limited to the kinds of data it shows. eCommerce data is not available, so you have no choice but to use a debugger. There are several great ones available out there. Our favorite is the dataslayer Chrome extension. As you interact with your site, it displays what data is available in the dataLayer and what data is making its way into Google Analytics. If you are dealing with eCommerce data, we recommend DataLayer Checker.
dataSlayer shows events like page scrolling, clicks on CTAs, and pageviews firing in real time.
And that’s it. Happy QA-ing. If you’re curious about Part 1 of this series, tips on GA configuration, check it out here. Coming soon: part 3 of this series: Analytics’ Biggest Myth. Hold on to your seats.