GA4 Cross-Domain Tracking Not Working: How to Find the Cause

Last checked against Google's documentation. By Muhammed Abdul Kalam. Data loss

Quick fix

GA4 cross-domain tracking not working usually means the linker parameter isn't reaching the other domain. Check every page uses the same G- tag ID, the domains are listed under Configure your domains, and the destination URL contains _gl after a click. If _gl is missing, look for redirects that drop query parameters, JavaScript navigation and scripts that stop click events.

  • Check the same tag ID is on every domain.
  • Check the domains are listed under Configure your domains.
  • Click a link and check the destination URL contains _gl.
  • Look for redirects or scripts that remove it.

Can't fix it yourself? Send me the details

What this error means

Cross-domain measurement keeps one visitor as one user when they move between your domains, by passing IDs in the _gl URL parameter. If it fails, each domain sees a new user and your own sites show up as referrals.

Why it happens

1Domains not configured or tag IDs differ

Every domain needs the same tag ID and a listed domain condition.

How to tell if this is you: Admin has no domains, or the G- IDs differ.

2Redirects remove the parameter

Redirects and pages rejecting parameters can strip _gl.

How to tell if this is you: _gl appears on the first page but not the destination.

3JavaScript navigation

The linker works from real click events.

How to tell if this is you: Links are opened by script.

4Scripts that stop click events

Competing scripts stopping event propagation break it.

How to tell if this is you: Only some links get _gl.

How to fix it

Fix the configuration

For: Domains not configured or tag IDs differ

  1. Use the same Google tag ID on all domains.
  2. Add the domains under Configure your domains, or accept the recommendations.

Preserve the parameter

For: Redirects remove the parameter

  1. Configure the site to preserve _gl in redirects.

Verify

For: JavaScript navigation, Scripts that stop click events

  1. Click a link and confirm the destination URL contains _gl.
  2. Check navigation is a direct response to a click, and no script stops propagation.

How long it takes

Google doesn't publish a timeline for this.

How to stop it happening again

  • Test cross-domain links after every checkout or booking change.
  • Keep one tag ID across all domains.
  • Review redirects whenever domains change.

From my desk

On booking and checkout domains the culprit is almost always a redirect that drops the _gl parameter. I click through the real journey, check the URL on the destination domain, and watch for redirects in the network tab. If the parameter is there, I move on to the domain list and to scripts that interfere with link clicks.

Muhammed Abdul Kalam

When to get help

  • You've worked through the checks and the status still isn't changing.
  • The account has many campaigns and ad groups and you cannot tell which change caused the problem.
  • Results are suffering during a launch or sale and every day costs real money.

Stuck on this? Send me the details.Tell me what the platform shows and what you've tried so far.

Send me the details

FAQs

What does cross-domain measurement do?

It attributes activity to a single user as they cross domains.

How are IDs passed?

In the _gl URL parameter when the user clicks a link or submits a form.

How do I check it works?

Verify the destination URL contains the _gl linker parameter.

Why does _gl disappear?

Redirects or pages that do not support query parameters can remove it.

What are self-referrals?

They can appear without it and may mean traffic is attributed incorrectly.

Sources