cross domain tracking

FAQ: How to implement cross domain tracking

We will cover mostly Google methods for linking domain properties but will also make mention other providers like Adobe solutions for dynamic cross domain tracking. Cross Domain Tracking is when you wish to track visitors throughout a set of web properties you own, an ecosystem that belongs to one brand or company. It is usually very beneficial to implement CDT when you want to gain better insight into the navigational path users take leading to conversion or to give a second chance to drop-off visits through a follow-up offer.

Cross Domain Tracking Google Tag Manager

Let's take the example of a user that visits a main site > goes to a showcase page on a related but new site > and the checkout occurs on a third site.

There are three sites involved but only one user. How do we know that the original visitor went from site X > Y > Z ? How do we know that there was a sale and it was indeed user A going from X to Y to Z ? This is why you have to begin with the ecosystem schematic. Start by writing out the path, the pages and the web properties involved.

We often speak of attribution, what ultimately leads a user to convert but more importantly what path was used to conversion. But how do you tie it all together?

Knowing the path X > Y > Z helps a brand or company to either make a special offer or have a second conversation with an online user. Ideally you keep track of the Client ID in a CRM for loyalty discounts and special privileges. That is what makes clients happy and helps you gain trust.

Cross Domain Tracking is the only way to achieve that goal.

Google offers two ways to do so.
1) Link
2) autoLink

Both advantages and disadvantages are explained below but I will save you some time by pointing out that if you are using Universal Analytics you MUST go with autoLink.

The good news is that if you are using Google Tag Manager as well as Universal Analytics you will find it much easier and will avoid having to manually set all your links through the link API.

Many things can go wrong unfortunately but the basic steps are as follows:
1) Add a track type on X for page views
2) Set the fields, Name, Value, Cookie Domain
3) Set the web property ecosystem list ensuring the trigger all pages is enabled
4) Set up an exclusion list
5) Test it all with Google Tag Assistant

Exclusion List Question
The most common question is do I need to exclude the cross domain visits from my Analytics with an exclusion list?
Yes if you get a lot of traffic. The short answer is that if your site is small and you can easily live without differentiating the influx of referral visits from site to site you own, then that is ok. Would I do it on my small sites? I am not sure it is necessary honestly if you get 100 visits per month.

Google Analytics Version

Ensure that the entire ecosystem is using Universal GA, UA.
Cross Domain is hard to implement when one of the web properties is on legacy tracking and the main site is on the latest version. Don't get me wrong it can work but usually only in one direction > Universal to Legacy but not the other way around.
A side note: The other problem you may run into is that you can end up double counting visits/clicks/users by not implementing a referral exclusion list. That is because you are tracking without a parameter throughout an ecosystem with the same end point but Google Analytics does not know that unless you tell it. So Visitor A going from site X, Y, Z will be 3 visitors. Bottom line you will significantly confuse your analytics and performance dashboard.
So what can you do? Ensure that all web properties are on the same version. The way to tell that you are using the latest Google Analytics is to view the source code of a site and run a search for analytics.js
The javascript version of the legacy code on the other hand is recognizable when you see ga.js or urchin.js (including Urchin Tracking Module, no longer supported by Google). Remember that Urchin was acquired by Google in 2005 and it did form a part of Google Analytics but the software is deprecated since 2012.

Finally, keep in mind that Google is phasing out support for the following: WAP/server-side snippets
Custom variables
User defined variables

Cookies Link and autoLink between sites

The reason why a user can not be traced when changing from sites X > Y > Z is that the cookie that helps identify the ID does not pass through different web properties unless you link the web sites and pass on that data.

Link or Form Decorator Tags

Do you have more than three domains to track? The most common mistake is not providing an additional comma for all web properties and to separate the domains URLs declared in your linker autoLink
Reminder: autoLink it is meant to work on Universal Analytics.

Link or Form Decorator Tags

Before going technical on you I will describe a simple problem that can occur when using more than one container Tag.
When you are using more than one tag there must be a good reason for you to do so. 1) More than one data layer. As Google says "using more than one data layer can cause some triggers to stop working"
2) Be careful with 'gtm.blacklist': ['', '', '', ...]

Remember that a blacklist will overrule the permissible list, you will therefore not be able to track even if you configured it inside the Google Tag Manager UI

XML Policy

XML has evolved to respond to hacking and prevent it. A security measure meant to protect a site is often the source why cross domain tracking is blocked. Check your cross-site scripting (XSS).
This is often resolved quickly by asking IT to investigate. Do so, especially if you are running Adobe Cross Domain (search for the term cross-domain-policy). Note: Adobe is a fantastic product, what I mean above is in no way a reason to avoid using that tracking system. I have used it before and loved it - very powerful!


This is seldom the reason for failure but you can create a mess if you use crossdomain.xml file to ensure you get http to communicate with https like and
If you want to do that, use a simple redirect 301 in the htaccess file or change your settings if using Microsoft IIS.

The best sources I could find, aside from Google itself, are Optimize Smart and Simo at
READ their articles and do follow them!