Wednesday, November 22, 2023
HomeWeb AnalysisWhat is advanced, cross-domain tracking using hash format?

What is advanced, cross-domain tracking using hash format?

Most of the articles written about cross-domain tracking only mention simple cases, and it’s rare to see articles written about cross-domain tracking in complicated cases. Regarding such cross-domain tracking, in this article I will explain how to do cross-domain using hashing, which you will not see on other blogs, and how to use it.

About cross-domain tracking

Cross-domain tracking basics

Google Analytics uses a string called a client ID to uniquely identify a user. This client ID is stored in a cookie associated with the domain. Since it is stored in the browser using cookies, it is usually not possible to share the client ID across domains.

Therefore, in cross-domain tracking, when transitioning between different domains, the client ID is added to the link destination URL in the form of a query string. By doing so, the process of synchronizing the cookie of the linking domain and the cookie of the linking domain is called cross-domain tracking in Google Analytics.

What is hashed cross-domain tracking?

By default, this is achieved by adding a query string like ” ” to the link destination URL when clicking on a cross-domain link. increase. If you change the part of the code related to this cross-domain tracking , it will append the information with hash string like ” ” instead of query string. I can.

Setting up hashed cross-domain tracking

When to use Google Tag Manager

If you set ” Use hash as delimiter ” to “True” from “Other settings > Cross-domain tracking” in the Google Analytics tag settings , the cross-domain tracking parameters will be in hash format.

Case of installing directly on the site

If you want to install directly on the site, change the autoLink command of the linker plugin as follows.

// 変更前
ga('linker:autoLink', ['']);

// 変更後
ga('linker:autoLink', [''], true);

When to use the hash format

Difference between query format and hash format

The difference in appearance is easy to understand, but here we will explain the difference from a technical point of view, not a difference in appearance. I think the biggest difference here is that “the query string is sent to the web server, but the hash string is not sent to the web server” (the web server here is the Google Analytics server instead of the website server).

When You Must Use the Hash Form

The fact that the hash string is not sent to the website server means that the website server will not rewrite (delete) the hash string.

For sites with dynamic systems, there are cases where the server side redirects several times before the page is displayed. In this redirect, there are cases where the cross-domain tracking parameter that was given with much effort is deleted.

In such a case, even if a redirect occurs on the server side, the power of hash-type cross-domain tracking that remains on the browser is demonstrated.


I think it is difficult to explain in words, so I will give an example. I couldn’t find a site that was easy to explain, so I’ll try to explain on the order history page of the site. Of course, this page is a page that cannot be viewed unless you are logged in to Amazon.

Normal access first

If you open (order history) without logging in to amazon , I think it redirects to ap/signin/************** (login screen). This is the normal access result.

Access with query format parameters

This time, access with a query parameter like (order history, query format). Then you will be redirected to a URL like************** (login screen) again. The above is masking, but if you actually try it, you can see that the “_ga=abc” parameter is redirected to the URL without it.

Therefore, cross-domain tracking will fail in this situation.

Access with parameters in hash format

Next, access with a hash format parameter like (order history, hash format). Then you will be redirected to**************#_ga=abc . Unlike before, the “#_ga=abc” part is maintained and redirected.

If so, cross-domain tracking should succeed.


Regular cross-domain tracking has become easier to set up with the advent of Google Tag Manager. However, depending on the structure of the site, including patterns that include redirects like this one, it can be very troublesome.

In fact, I don’t think anyone understands what is written here and sets up cross-domain tracking (I just recently realized that myself). In fact, what is written here can support not only cross-domain tracking but also custom parameters like utm source/utm medium.

Why don’t you try implementing access analysis that is one step ahead by using query format and hash format parameters properly?


Leave a reply

Please enter your comment!
Please enter your name here

Recent Posts

Popular Posts

Most Popular

Recent Comments