When it comes to resolving self-referral issues, Google touted simplified subdomain tracking as one of the biggest improvements made by Universal Analytics (the latest version of Google Analytics). It even states at the top of Google’s documentation on the causes of self-referrals in web traffic:

If you’re using Universal Analytics, including Mobile App Analytics, it’s unlikely you’ll see many self-referrals in your reports.

But that’s not true. We’ve noticed persisting self-referral issues with Universal Analytics, and just searching around shows that many others are still having issues, too.

So, I spent some time diving into rabbit holes, researching analytics tracking solutions, and I found a few contradictions in the Universal Analytics documentation that might shed some light on these persisting self-referral issues. I’ll walk you through what I found:

Exhibit A: Cross Domain Tracking Documentation

First, take a look at Google’s cross domain tracking documentation here. You’ll find this toward the very top:

google Tracking Documentation

So, it’s clear: “Tracking users across subdomains does not require any additional configuration.”

The rest of the documentation echoes this, explaining that no further configuration is necessary to implement subdomain tracking beyond adding the analytics.js snippet to all pages.

Let’s continue…

Exhibit B: Troubleshooting Self Referrals

Let’s take another look at Google’s documentation on the causes for self-referrals in web traffic. One caveat: you’ll notice at the top it says that this information applies to the Classic Analytics, not Universal Analytics.

Classic Analytics

Ignore that. It’s another contradiction, because in fact analytics.js and the referral exclusion list – which they reference lower in the page – are only available with Universal Analytics. You can verify this here and here.

Moving on. On the self-referrals documentation page here (again), you’ll see the snippet below:

google snippet

Takeaway: You need to make sure you add all of your domains to the Referral Exclusion List, including subdomains…

So here’s our contradiction. Evidently there is further configuration necessary in order to avoid self-referrals from your own subdomains. Subdomains aren’t included by default.

Okay, that’s weird, but it’s no problem – we’ll just add all of our subdomains to the referral exclusion list and everything will be good, right?

Not so fast. Let’s take a look at this section on automatic cookie domain configuration.

google Setting Cookie Domains

Takeaway: Since a cookie was successfully written on a higher level domain (example.co.uk), www.example.co.uk will be skipped.

What this basically states is that Universal Analytics really does solve the subdomain self-referral issue… at least as long as the “auto” statement is declared. With “auto” enabled, the cookie is set at the highest level domain possible, so that all sub-domains should be exempt from passing referrals by default.

So to be on the safe side, we recommend using the “auto” cookie domain setting and adding subdomains to the referral exclusion list. Why? Because Google apparently recommends both in different parts of its documentation.

One last fun wrinkle – “auto” doesn’t seem to be a default part of your Universal Analytics tracking code if you are implementing via tag manager. This needs to be explicitly set by the implementer:

google cookie configuration

So there you go! I hope this helps with your tracking issues. Thanks for joining me on this adventure.

If you need help sorting out analytics for yourself or your business, get in touch with us. We’d love to help.

Note: The opinions expressed in this article are the views of the author, and not necessarily the views of Caphyon, its staff, or its partners.

  1. I’ve seen a few cases with clients where subdomains appear to still require explicit mentions in the tracking code, even though the documentation implies it should all just work.

    And – wow. Good Tag Manager tip there – thanks!

  2. “Does not require additional configuration” is very deceptive. Had worked out the cookieDomain thing for GTM (eventually). Was sure it used to do this, because I never had to do it any other time (although was probably wrong then too). I still don’t understand why when getting the script from GA it has “auto” in it, but the GTM UA tag makes you explicitly add it?

    But having to add to the referral exclusion list is just irritating for something that requires “no additional configuration”. Have just added to the list, will see if it manages to sort itself out.

    Thanks for the article.

  3. Scenario I have is:- 3 subdomains, all using Universal with the same GTM tag, one of the domains is a single page application sending virtual pageviews.

    Still seeing some very odd data. Referrals are down, but now direct traffic is way up (not by an equivalent amount though). I am also still seeing referrals from the primary subdomain (www).

    The 3 domains are using GTM to put the GA tag on the page and they are all using the same cookie now. I have put the 3 subdomains into the referral exclusion list and the self-referrals have dropped a lot but there are still a significant number left (more than session timeout would account for).

    From what I can gather, everything looks to be setup correctly, but there is a major hole in the tracking and I think I have just masked it with the referral exclusion list.

    For direct and referrals, the sessions are 2-4 times bigger than they were before Universal and GTM was installed.

    Do you have any insights into a similar situation you might have seen?


Leave a Reply

Your email address will not be published. Required fields are marked *

Stay updated

Get email updates on exclusive tips, strategies, and original research that help you boost organic rankings for clients.

You May Also Like