Close

Request a personalized 1-on-1 demo tailored
specifically for you business.

Request a demo
All

Google Analytics Best Practices Checklist

Google Analytics is by far the most popular Analytics platform available today. 


It's used by all kinds of websites from simple WordPress blogs to Shopify eCommerce sites, to complex single-page applications. 


It is powerful, flexible, and perhaps most importantly free. 


Furthermore getting started with Google Analytics is as simple as installing a small JavaScript snippet on your website.


However, simply installing the JavaScript snippet will not by default provide you the clean and accurate data you need to derive real insights from your analytics. To do so requires several extra steps that we’ll go over in this checklist.


After completing this checklist you'll have a basic Google Analytics set up that provides accurate and clean data so you can determine where your traffic is coming from and what content people are viewing on your site. 


While you’ll still need to create the goals and actions specific to your site, you can do so with confidence that you’re building on a strong foundation.


IMPORTANT TO NOTE:


  • One of the flaws in Google Analytics is that you can't overwrite historical data. In other words, any changes you make will only apply to your data going forward. That means it is best to run through this checklist as soon as possible, ideally before you launch your website.
  • While this checklist serves as a foundation for all Google Analytics implementations it doesn't cover more advanced topics like e-commerce websites, single-page apps, or cross-domain tracking. 
  • Google Analytics collects data about visits to your site, but it does not aggregate data about ad spend, campaign performance or revenue. However, you can use a tool like Improvado to pull that data together for you and send it into your visualization tool 
  • If you’re new to Google Analytics we’d also recommend reading through an intro to Google Analytics before going through this checklist

Google Analytics Best Practices Checklist 

Google Analytics best practices involve two phases: 


Phase 1: Tracking Visits Correctly. This includes tracking pageviews correctly, excluding your internal traffic and spam, and tracking page information accurately. These steps are absolutely necessary for ensuring that your analytics data is clean.

Phase 2: Tracking Attribution Information. Attribution is arguably the most important part of Google Analytics. It tells you WHERE your traffic is coming from - Google Organic Search, Google Paid Search, Facebook Paid ads, etc. Most attribution issues are fixed with two steps, which we will discuss in this article. 

Tracking Visits Correctly


The steps below are absolutely necessary for ensuring that your analytics data is clean - that it tracks pageviews correctly, that it excludes your internal traffic and spam, and that it tracks page information accurately.

Create Multiple Views

By default, a Google Analytics property contains only one View, called “All Website Data”. Different Views can have different filters, goals, etc but they track the same property. Before doing anything else we recommend creating a least the three following views:


  1. Master View - this will serve as the default view for almost everyone in your organization. To set it up, change the name of your “All Website Data” view to “Master” and check the Bot Filtering checkbox.

  1.  Test View - If you need to change something, either a filter or a goal, in the future you may want to test it out before making changes to the Master View. Use this view to do so. To create it, just copy the Master View we just created:

  1. Unfiltered View -  Filters (more below) are destructive in Google Analytics. As such, it’s always good to keep a backup view without any filters in case one of them is destroying data you’ll actually need. To create it just click Create View:


***When you do create Goals, it’s best to apply them to all your views. Do so by selecting Share Assets in the admin section of the View you created the Goal in.

Test that you are tracking Pageviews accurately 

Pageviews are really the fundamental metric in Google Analytics, so we want to make sure we get them right. Fortunately, doing so is easy with a quick check of the Real-Time report in Google Analytics.


  1. Add a UTM source and medium parameter called “test” to your website’s URL using Google’s Campaign URL Builder and copy it

  1. Paste the URL into your browser and go to the Traffic Source section of the Real-Time report and click Pageviews (Last 30 min)

  1. You should only see one Pageview for the Medium and Source test. If you see more then one, repeat the steps with Medium=test2. If you still see more than one Pageview, you are likely double-counting Pageviews somewhere. That will require some debugging, but you could start by checking if you have both Google Tag Manager and hardcoded analytics firing pageviews to your property.


***Note how we used the Real-Time report to debug our set up. While there are issues with it, it’s often the fastest and best tool for debugging.

Filter out your internal traffic

No matter the size of your organization, internal traffic, ie traffic from you, your employees, your contractors, your developers, etc, can skew your data.


There two ways to filter out internal traffic. The first, and most classic way, is to create an IP filter for each of your office’s IP addresses, like so:


Note, you should only apply this filter to the Master View.


The IP filter works great if you only have a handful of offices that look at your website. However, if you have a lot of people working remotely, it becomes impractical. In that case, you should have everyone install the Block Yourself from Analytics and select Block Analytics for this website on your site.


Exclude Query parameters

Query parameters are extra information appended to a URL after a question mark like so:


https://improvado.io/?queryparamdemo=true&queryparamdemo2=yes/


Sometimes these parameters are necessary for distinguishing one page from another. For instance, your site might use query params for blog posts like so


https://mysite.com/blog/?postid=1


In which case, you would not want to exclude these parameters from Google Analytics. However, many parameters don’t indicate a different post and do in fact need to be excluded. 


For instance, Facebook will append a fbclid parameter to your URL when someone clicks a link on Facebook to your site. That should definitely be excluded.


To do so go to the Master View settings and add any query parameters to exclude.

***Note, you don’t need to exclude Google UTM parameters, those are excluded by default.

Make all page URLs Lowercase

By default, Google Analytics is case sensitive, meaning it will treat pageviews to “improvado.com/awesome-post” and “improvado.com/Awesome-Post” as different pages.


You’ll want to fix that for page URIs, hostnames, search terms, and campaign names. Here’s how to do it for page URIs:


Create the same filter for hostnames, search terms, and campaign names (source, medium, campaign, etc)

Track subdomains

By default, Google Analytics’ Page dimension will only show you the page path. For instance, if your site is improvado.io/ Google Analytics will show “/” as the Page.


That works in most cases. However, if you have a site with multiple subdomains (ie improvado.io and app.improvado.com) this will cause Google Analytics to show hits to the page “/” for BOTH subdomains as the same Page


To fix this, you need to create an advanced filter that tells Google Analytics to use the full URL as the Page. Here’s what that looks like:


Tracking Attribution Information

Everything above ensures that your Google Analytics records are clean. In this section, we’ll go over the steps you need to complete to ensure that attribution information is accurate.


Attribution is arguably the most important part of Google Analytics. It tells you WHERE your traffic is coming from - Google Organic Search, Google Paid Search, Facebook Paid ads, etc.


While there can be advanced technical issues that cause attribution errors (for instance, single-page apps will need to correct for the rogue referral problem), most attribution issues are fixed with two steps.

Create a Referral Exclusion

By default, Google Analytics will count all hits where the previous page (the referrer) was not part of your site (ie one that doesn’t share the same domain name as your site) as a referral.


For instance, if someone clicks a link on Improvado’s Facebook page to our site, Google Analytics will count that hit’s referral as facebook.com.


Normally, that’s correct. However, sometimes when a user is redirected away from our site and then returns our site we DON’T want to count the returning hit as a referral.


For instance, if our site lets the user login with Google Authentication, the user will be briefly redirected to accounts.google.com to login and, after logging in, will be redirected back to our site.


Or, on a Shopify site, the user checks out at pay.shopify.com and then returns to the site’s thank you page.


In both of these cases, the user is not actually referred by either Google or Shopify, but without a referral exclusion setup, Google Analytics will attribute the user to Google or Shopify, respectively.


To fix it, we need to add a referral exclusion for every interaction like Google Authentication or Shopify Checkout.


To create the referral exclusion for Google Authentication, go to Admin > Property > Referral Exclusion List and add a referral exclusion for “accounts.google.com” like so:


***Note, only you can determine which domains should have referral exclusions. It may take a bit of time to discover this, but it’s well worth it.


Also note, referral exclusions are important for Cross-Domain tracking, which a big hairy subject in and of itself which we’ll cover in a later blog post.

Add UTM Parameters

By default, Google Analytics will attribute:


  • Google Paid Search to Google Paid Search
  • Google Organic Search to Google Organic Search
  • And all Facebook traffic to Facebook


But what if we want to distinguish Facebook Paid traffic from Facebook Organic traffic?


To do so, we need to use UTM Parameters.


We used UTM Parameters to test our pageviews but normally, they’re used to properly attribute non-Google traffic to the correct medium and campaign such as distinguishing Facebook Paid from Facebook Organic traffic.


To do so, we would add a UTM Parameters using the Campaign URL Builder that looks like this to all Facebook paid traffic:


“cpc” stands for “cost per click” and Google Analytics is smart enough to know that a cpc medium is paid traffic.


Covering the entirety of UTM parameters deserves its own blog post, but suffice to say that creating a new URL with the Campaign URL Builder ever time we want to post somewhere gets unwieldy quickly. 


So we created this Google Analytics URL Builder spreadsheet to help you keep track of UTM codes and enforce best practices.


Using UTM Parameters properly, even with the spreadsheet, takes discipline. But doing so provides some of the most valuable information available in Google Analytics. It also ensures your data is clean for later when you might want to join and transform your data into reports and dashboards with a tool like Improvado.


Conclusion

Completing the above checklist will ensure you have clean and accurate data coming into your Google Analytics account. Using that information you can answer many of the most important questions about where your traffic is coming from and what content users view on your site.


Doing so will serve a strong foundation as you build out the rest of your Analytics. If your numbers ever start to look off, we recommend doing a full Google Analytics audit to catch any errors.

Load your marketing data from any source into your warehouse or visualization platform

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Free Guide

How to become a marketing analytics master

A tactical guide for marketing & analytics leaders

Download now
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.