
Fri, February 27, 2026
When a business has multiple websites — for example, a main website or brand blog and a separate e-commerce store on different domains — analysts face a challenge. How can you understand that a user who came from an ad to the blog and then made a purchase in the store is the same person?
Without special configuration, Google Analytics 4 will see them as two different users, break the session, and “lose” the original traffic source. This is exactly the problem that cross-domain tracking solves — a setup that combines user actions across different domains (for example, site.com and shop.com) into a single profile.
On the other hand, in my practice I have encountered many situations where cross-domain tracking was not necessary, yet it was still configured. One of the classic mistakes is setting up cross-domain tracking for subdomains.
In other words, I can confidently say that when it comes to cross-domain tracking, it’s important not only to know how to configure it, but first and foremost to understand when it is actually needed. Today’s article is meant to finally clarify this once and for all.
So here’s the plan:
Technically, browsers are designed so that cookies belonging to one domain are generally not accessible to other domains for security reasons. The same applies to the cookies that GA4 uses to identify a browser (for example, Client ID). Without cross-domain configuration, the system will treat one visitor across two different domains as two separate users, creating two areas of uncertainty for the business:
As a result, the data becomes inaccurate, making it difficult to properly evaluate marketing performance and channel ROI. However, despite the obvious advantages, combining domains is not necessary in every situation. Let’s look at real examples.
Although the ability to combine data from different resources seems attractive, this setup is not a universal solution. Its relevance depends on the business logic you want to reflect in your reports.
Configuring a single GA4 Property with cross-domain tracking is the “gold standard” for brands whose websites represent a unified user journey (for example: official blog → store → purchase, or global website → local store → purchase). If your marketing strategy and sales funnel are shared across both resources, combining data allows you to see the full customer journey rather than fragmented pieces.
To understand the value of this approach, consider a real scenario. Imagine a visitor clicks on your Google ad, lands on your official brand website, reads a detailed product review, then navigates to your e-commerce store and makes a purchase.
This approach turns separate data streams into a unified customer journey, giving you three key advantages:
Sometimes trying to combine everything into a single GA4 property creates more problems than analytical value. The main cases when you should avoid combining domains include:
To summarize, when making a final decision, align it with your marketing structure:
One brand, one strategy, one sales funnel = one GA4 property + properly configured cross-domain tracking.
Different businesses or independent teams = two separate GA4 properties without cross-domain tracking.
GA4 identifies a user’s device using cookies (Client ID) that are stored in the browser. However, as we discussed above, browsers prevent one domain (for example, proanalytics.academy) from reading the cookies of another domain (analytics-tips.com).
To bypass this limitation and avoid “losing” the user during the transition, GA4 uses a special URL parameter — _gl.
In practice, it works like this: when a user clicks a link that leads to your second website, GA4 automatically generates a unique identifier (linker) and appends it to the page URL, for example:
https://proanalytics.academy/?_gl=1*abc123*...
The Google Analytics code reads this parameter and understands that this visitor is the same person who was just on your main resource. As a result, GA4 connects the new visit with the previous session, preserving data continuity.
Of course, the code doesn’t actually “understand” anything. But instead of generating a new user or session identifier in GA4, it uses the one passed in the URL, and in this way the visitor’s session continues.
Let’s look at the difference in reports more clearly.
Scenario 1: without cross-domain tracking
GA4 sees two completely different users with different Client IDs. The customer journey is fragmented: the session in the store starts “from scratch,” and the traffic source is recorded as a standard referral from your first website.
Scenario 2: with properly configured cross-domain tracking
The Client ID is successfully passed via the _gl parameter. The system recognizes the same visitor, merges their actions into one continuous session, and preserves the original acquisition channel information.
Now that we’ve covered the technical logic, let’s walk through the setup process. This is actually the easiest part.
Go to GA4 -> Admin -> Data Streams -> select the required web data stream.

Click Configure Tag Settings at the bottom.

In the Settings section, find Configure your domains.

Enter all domains that need to be included in cross-domain tracking and click Save.

After configuring cross-domain tracking, it’s important to check whether it works properly. You need to make sure of two things:
Let’s go through this step by step.
First of all, you need to check for the presence of the _gl URL parameter in the address bar after the transition. To do this, go to your main (first) website and click on a link that leads to the second domain. If the configuration in the GA4 interface is correct, in the address bar of the second website you will see, in addition to the usual page URL, a GET parameter _gl=.... This value is an encrypted set of tags, each responsible for a specific tracking aspect:
_ga — the main Google Analytics client identifier._ga_XXXXXXXXX — a special marker of the current GA4 session._gcl_aw — Google Ads click data (if you are using ads)._fplc — a technical marker used to transfer data required for cross-domain tracking when GA4 is configured via a server-side GTM container.
If this part works, move on to the next step — compare the identifiers in cookies. There are many ways to do this, but I’ll share my two favorite ones.

To display the cid (Client ID) next to each event record, open the extension -> go to Control Output -> check the Show Client ID checkbox -> click Save Settings & Reload.

_ga cookie (this is your Client ID) and the _ga_XXXXXXXXXX cookie (session identifier), where XXXXXXXXXX is your GA4 data stream ID. Write down or copy both values.
Then click the link that leads to the second website (Domain B). Perform the same steps in the console and check whether the values match those you saw on the first website.
_gl. If this identifier is removed before the tag loads on the destination page, the system will not be able to merge visits into a single session._gl) are preserved when users move between domains.Now I hope you’ll make the right decision about whether cross-domain tracking is truly necessary in your case — and that you’ll take all the nuances into account when configuring it.

Web Analyst, Marketer
Have thoughts or feedback?
Share with others and join the discussion.Loading comments…