Experimentation Agency Message Testing CXL Live 2022 Search Start 7-day trial for $1 Training Playbooks Hire talent Get hired Blog Resources Pricing

Google Analytics Audit Checklist: A DIY Health Check

Google Analytics Health Check

Peter Drucker famously said, “What gets measured gets managed.” But what if your data is wrong? What if you’re not measuring correctly or completely? What if there’s a whole pile of things you think you’re measuring when really…you’re not?

A lot of the people relying on Google Analytics are relying on bad data. No, not because Google Analytics is awful. Because their configurations are broken. That’s why you need to conduct a Google Analytics audit.

This is a simple but comprehensive guide to running that audit, checklist included. It’s a health check you should perform regularly.

What’s a Google Analytics audit (i.e. health check)?

In the past, we’ve covered setting up and using Google Analytics fairly extensively. If you haven’t already, you can read our Google Analytics 101 and Google Analytics 102 guides.

More recently, we covered segmentation and how to do it right. Still, things go wrong. A Google Analytics health check is a series of checks that help you answer the following three questions:

  1. Am I collecting all of the data I need?
  2. Can I trust the data I’m collecting?
  3. Is anything broken or tracking/reporting incorrectly? Why?

Our checklist will guide you, but this is an exploratory mission—especially if you’re an agency or freelancer. You might not have had control over the initial Google Analytics setup, so you might not know what to expect.

You may find new, unexpected quirks. As time goes on, add these types of issues to your checklist.

Step 1: Property settings

property settings in google analytics.

Within the Property column of the Admin section, ask:

  • Is the default URL set up correctly?
  • Are your referral exclusion settings configured correctly (e.g., if you use PayPal to process payments)?
  • Is “enhanced link attribution” turned on?
  • Have you enabled demographics and interest reports?
  • Is Google Search Console linked properly?
  • Google Ads integration:
    • Is it configured correctly?
    • Is PPC data showing up in Google Analytics?
    • Are the resulting clicks and sessions being recorded properly?

Step 2: View settings

view settings in google analytics.

Within the View column, ask:

  • Are your Views set up correctly?
  • Is ecommerce tracking turned on?
  • Is site search tracking turned on?
  • Do you have your “Virgin View” and “Working Views” configured properly?
  • Are you doing country filtering?
  • Is your default page and time zone configured properly?
  • Filter Creation:
    • Is the office IP address filtered out?
    • Are the IP addresses of your affiliates filtered out (e.g., agencies, freelancers, etc.)?
    • Is your home IP address filtered out?
    • Are the IP addresses of remote employees filtered out?
  • Are your Goals set and tracking properly?
  • Have you configured your custom and default channel groupings?

Step 3: Common issues

1. Google Ads account not connected

  • What it is: You can sync your Ads account to your Google Analytics account to monitor impressions, clicks, and cost.
  • Solution: Admin > Property > Product Linking > Google Ads Linking.

2. Google Ads auto-tagging not used

  • What it is: Auto-tagging adds a unique ID to the end of the destination URL. Using this, you can calculate your advertising ROI by combining that data (campaign, keyword, cost per click) with Google Analytics Goals.
  • Solution: Admin > Property > Product Linking > Google Ads Linking.

3. Time zones not matched

  • What it isYour Google Analytics and Google Ads accounts should be in the time zone your campaign targets.
  • Solution: Admin > View > View Settings > Time zone country or territory.

4. PPC Keyword IDs visible on landing pages

  • What it is: When PPC keyword IDs are visible on landing pages, they’re harder to analyze because Google Analytics thinks they’re two different pages.
  • Solution: Admin > View > View Settings > Exclude URL Query Parameters (e.g., OVKEY or OVRAW).

5. Manual UTM tags not used

  • What it is: Adding UTM tags ensures your channels are being properly credited. Offline marketing, newsletters, social media, affiliate links, etc., all need these tags.
  • Solution: Use the Google Analytics URL Builder.

6. Site search and category search not enabled

  • What it is: Site search and category search show user intent and provide additional keyword lists for PPC and search campaigns.
  • Solution: View Settings > Set Site Search Tracking to ON > Enter the parameter(s) that indicate(s) a site search > Enable categories > Enter the parameter(s) that indicate(s) a category search > Apply.

7. Not tracking “mailto”

  • What it is: You can easily track when (and which) email links are selected on your site.
  • Solution: Use an Event push in your email links.

8. Homepage filter not used

  • What it is: If you don’t filter your homepage correctly, you could end up tracking multiple homepages (e.g. / and /en/ and /fr/).
  • Solution: Admin > All Filters > + New Filter.

9. Log spam not filtered out

  • What it is: Add a filter to remove staging traffic or traffic from developers.
  • Solution: Admin > All Filters > + New Filter > Filter this traffic out by hostname.

10. Error pages not tracked

  • What it is: Broken pages are low-hanging fruit, if they can be identified easily.
  • Solution: Add your Google Analytics code to 404 and 500 pages.

11. Duplicate ecommerce data not filtered

  • What it is: Duplicate data occurs when a visitor (a) refreshes the page, (b) uses the “Back” button, restores tabs from a closed browser, etc.
  • Solution: Use a transaction ID and time stamp when tracking ecommerce transactions. If you’re especially tech-savvy, you can handle this server-side.

12. Bounce rate of less than 10%

  • What it is: Look at pages where entrances are greater than 100 and sort them by bounce rate. If your bounce rate is less than 10%, something has gone wrong.
  • Solution: Ensure you haven’t added two scripts to the page. If not, visit the page and see if something else may be creating a second interaction for almost every visitor.

Every good conversion optimizer has a Google Analytics health checklist of some sort. Here’s a look at part of Peep’s checklist:

  • Missing tracking code on some pages, resulting in self-referrals or visits not recorded.
  • Missing tracking code on 404 pages and server 500 pages.
  • setDomainName missing on subdomain, resulting in lost source data and two sessions.
  • set commands, such as Custom Dimensions.
  • iFrame banner tracking resulting in double cookie.
  • Event or double pageviews for same account being called onload, resulting in 0% bounce rate.
  • CustomVar called after pageview.
  • Missing ecommerce category.
  • sessionIDs in URLs.
  • Thank you or sale complete pages not using separate URLs.
  • Site search using static URL or mod-rewritten URL, thus q=keyword not extractable.
  • Quotation marks not escaped or ANSI characters not encoded in ecommerce category or item names.
  • Server redirect is stripping off gclid.
  • Meta refresh redirect causing gclid to be lost.
  • Missing manual tags in emails and newsletters & RSS, social, Google products, Google News.
  • Inconsistent tracking used; mixing Google Tag Manager and/or legacy Google Analytics code.
  • Full URL entered in Goals or Goal matching too broad due to “header setting.”
  • Blending of goal values and transaction values.

Annie Cushing of Annielytics checks Google Analytics health with her own audit:

Annielytics Audit

You can get access to the full audit spreadsheet here. For more advanced help, she also has a self-guided site audit template you can purchase.

For now, here’s a look at some of the items on her free checklist…

  • Has the site had any significant drops in organic traffic?
  • If the site has experienced drops, are they seasonal?
  • If the site has experienced drops, do they correlate with any major algorithm changes?
  • What tools are they using for tracking?
  • Are they tracking conversions?
  • Are they using ecommerce tracking? (See more checks at the bottom of the list.)
  • Is their analytics tracking code missing from any pages?
  • Do other sites have their GA code on them?
  • Do they have subdomains?
  • If the site has subdomains, does GATC include _setDomainName() method?
  • If the site has subdomains, are they including hostname in content reports?
  • If so, is GATC set up properly?
  • Do they have PPC campaigns showing up in organic results
  • If the site offers site search, are they tracking it in their analytics?
  • If so, does their site search appear to be effective?
  • Are they using asynch?
  • Is site is using asynch, are pages on the site still using traditional?
  • Are they using annotations?
  • Have they set their homepage in GA?
  • If running Google Ads campaigns, is the Ads account linked w/ GA?
  • If running Google AdSense campaigns, is your AdSense account linked w/ GA?
  • Do content reports contain UTM parameters?
  • Does the site use a third-party cart? If so, do they have cross-domain tracking in place?
  • Does the profile use filters correctly?
  • Should the domain use URL rewriting?
  • Does the site have excessive sampling? If so, is it b/c they have more than one website in a property?
  • Does site use campaign parameters on internal links?
  • Do any pages use meta refresh? (This will artificially lower bounce rate.)
  • If the site runs email campaigns, are they tagging URLs that point back to their site with campaign parameters?
  • Does the profile use event tracking? If so, are they naming category, action, and label as they’re intended?
  • If they’re using event tracking, are they using events as goals?
  • Does the site use custom variables? If so, are the being scoped properly?
  • Do custom variables share the same slot?
  • If site uses ecommerce tracking, is the tracking code on all conversion pages?
  • If site uses ecommerce tracking, are there JavaScript or server-side programming errors before the _trackTrans() method keeping it from firing?
  • If site uses ecommerce tracking, does the code have currency symbols or or thousands separators in code?
  • If site uses ecommerce tracking, do their products or store ID use apostrophes?
  • If site uses ecommerce tracking, is it international / use multiple currencies?
  • Does the site have a YouTube channel? If so, does it track it in GA?

4 common tracking issues

1. The basics

Starting with the basics, here’s a list of common tracking issues that Google has published:

  • Using incorrect snippet and/or viewing the wrong account or view. If you track multiple websites and/or have access to multiple Analytics accounts, you might be using the snippet from another account and/or view. Make sure you are viewing the correct account and view.
  • Extra whitespace or characters. Copy the snippet and paste it directly onto your website using either a text editor or an editor that preserves code formatting. Don’t use a word processor to copy the snippet from your account. Doing so can add an extra space or change the quotation marks in the tracking snippet, which requires precise formatting to work.
  • Customization errors. If you’re making customizations to the tracking code, make note of the following:
    • Function names are case sensitive and should have correct casing.
    • Boolean values (e.g., true or false) should not be enclosed in quotes.
  • Incorrect filter settings. Incorrect filter settings can affect the data you see and can inadvertently filter all data from your reports. In most cases, this occurs when users apply multiple “Include” filters.
  • Other scripts on your page. If you’re running other scripts on your page, make sure you’re not using any variables that Google Analytics uses.

2. Missing pages

To identify pages that are missing your Google Analytics code, you can look for irregularities in your data. Or, you can use a tool like Google Analytics Checker.

Once you’re sure that every page of your site has the code, you need to ensure it’s the latest (asynchronous) code.

This means that instead of Google Analytics loading synchronously, it loads asynchronously to avoid blocking resources that load later on the page. Essentially, it enhances the speed at which the tracking code is loaded.

Click here for more information on asynch.

3. Different data in your shopping cart tool

If you’re in ecommerce, you’re likely using some sort of shopping cart tool. So, what happens when data in your shopping cart tool differs from Google Analytics?

There are four possible issues:

  • Your Google Analytics ecommerce tracking isn’t properly installed. Read this thorough guide to ensure you’ve done it correctly.
  • Time zone. If your shopping cart tool and Google Analytics are configured to report in different time zones, you may have mismatched data.
  • Time of day. If you set up your ecommerce tracking in the middle of the day, transactions that occurred before will not appear in Google Analytics, but will, of course, appear in your shopping cart tool.
  • Cancelled transactions. Transactions with no value (i.e. $0) and cancelled transactions do not appear in Google Analytics.

4. Cross-domain tracking

You’ve seen cross-domain tracking mentioned a few times now. What is it exactly? Chris Mercer from MeasurementMarketing explains:

It’s called “cross-domain tracking,” and it could come into play if your client’s site has multiple domains as part of their funnel or buyer’s journey. In these cases, you’ll absolutely want to setup cross-domain Tracking.

If you’re using the traditional Google Analytics (boring) try doing this. If you’re using Google Tag Manager (you should be) it’s faster to do this.”

For example, your checkout process might be on a different domain. Unfortunately, Google Analytics uses first-party cookies, which can be read only by the domain that issued them.

So, in order to do cross-domain tracking, you need to share cookie information with the different domains involved.

An alternative to the Google Analytics resource Chris provides above is Optimize Smart’s Google Analytics cross-domain tracking guide.

3 common Google Tag Manager issues

Now, there’s a good chance that you’re using Google Tag Manager. Of course, there are common tracking issues associated with it as well. Here are the top three:

  1. Tag isn’t firing. There are a number of reasons your tag might not be firing. You have unpublished changes, your triggers are too specific, your triggers are configured incorrectly, etc. Find a full list and begin troubleshooting.
  2. Wrong filter settings. When you apply multiple Include filters, you can accidentally end up filtering all data from your reports. Read up on how to use Include filters properly (i.e. the hit is discarded if the pattern doesn’t match the data) and Exclude filters (i.e. the hit is discarded if the pattern does match the data).
  3. Unpublished container. Before adding the tag, be sure you’ve published the container. Changes you make to a container aren’t saved until you’ve published the container. For more information on publishing containers, click here.


Without a Google Analytics health check, you’re analyzing data with your eyes closed.

Don’t be one of the many people making important business decisions based on bad data from a broken Google Analytics configuration.

Here’s what you can do to get your Google Analytics back in shape:

  1. Create a Google Analytics health checklist to evaluate your setup.
  2. Go through your Account, Property, and View settings and ask yourself the questions above.
  3. Review the most common Google Analytics issues and ensure you’re not making them.
  4. Review the most common tracking issues and ensure you’re not making them.
  5. Review the most common Google Tag Manager issues and ensure you’re not making them.
  6. Run through your checklist annually. As time goes on, new issues can arise.

Related Posts

Join the conversation Add your comment

  1. With the title, I expected this to be another basic Google Analytics article. The tips from Annie and Mercer alone are going to save me thousands of dollars. Thanks for linking to that spreadsheet Shanelle!

    1. Avatar photo

      Happy to help, Luiz! Glad you found it helpful and it wasn’t another basic Google Analytics article.

  2. The need to filter out spam refferals canot be overstated. This rticles touches upon it but Google it for indepth solutions.

    Spam referrals can play havoc especially with low traffic sites. Bounce rates can go way up for example. I’ve seen bounce rates increase by 50% due to spam referrals. Thanks for the tips.

    1. Avatar photo

      Thanks for reading and for sharing the additional tips, Jacob! Glad you liked the article.

  3. I’m going to certainly bookmark this page, and going to pass the link to freinds and business owners.

    Such a good check-list without burning the money upfront.

    One more thing is that, we need to modify the conversion tracking. So that we can track the total amount of the cart with shipping etc.

    You should include that as well :)

    Thanks for the list.

    1. Avatar photo

      Thanks Suresh! Glad you found the article helpful overall.

      The lists from Annie and Peep are awesome.

Comments are closed.

Current article:

Google Analytics Audit Checklist: A DIY Health Check


Execute with playbooks

Audit your GA setup