Google Analytics – tracking multiple sub-domains in one account

Installing Google Analytics on a site that uses multiple sub-domains requires some custom configuration to the tracking code.

For example, if you are installing GA on a site that has the following structure:

Main site: www.mydomain.com
Store: store.mydomain.com
Blog: blog.mydomain.com

If you install the default code that Google provides, you will not get accurate metrics. This is because, by default Google sets a first party cookie that is specifically for the domain that you're on. Metrics that can be affected include:

Visitors
Visits
Referrers -you'll get your own sub-domains being recorded as referrers.

The above site uses sub-domains for different areas of the site, so every time someone moves from www.mydomain.com to store.mydomain.com a new cookie will be set and the user will be counted as a new visitor.

Google has a way around this, you just need to tell it to set the cookie on the root domain. In this case: mydomain.com

For example, the default code that Google provides is something like the following.

If you are using urchin.js, the default code is as follows:

]]>

If you are using ga.js, the default code is as follows:

var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “https://www.”); document.write(unescape(“%3Cscript src='” + gaJsHost + “google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E”)); ]]>

To allow this code to track a single user across sub-domains in a single Google Analytics profile, you need to add an entry to specify the root domain.

For urchin.js, you'll update the code to something similar to below. See the addition of the _udn variable where the domain is being set.

]]>

For the ga.js code, your code would look like the following. See the addition of the pageTracker._setDomainName() function:

var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “https://www.”); document.write(unescape(“%3Cscript src='” + gaJsHost + “google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E”)); ]]>

In another post, we'll talk about how to track users between different domains.

Cardinal Path

Share
Published by
Cardinal Path

Recent Posts

GA4 and BigQuery: why might data not match?

One of the most common questions we get about GA4 isn’t really about GA4, itself.…

2 weeks ago

GA4 + Optimizely: Integration Overview

Using engagement data to improve website performance is a near-universal use-case for users of Google…

2 months ago

Google Delays Third-Party Cookie Deprecation to 2025

Google announced on April 23 that it will again delay third-party cookie deprecation (3PCD) in…

3 months ago

This website uses cookies.