Raydar free tools · Link decoder

Decode a link with _ga in it

_ga looks like the ad click IDs on this site, but it is not one. Google Analytics's older linker puts it there, not an advertiser.

Example: https://checkout.example.com/cart?_ga=1.199239214.1624002396.1440697407

This is not an ad click id

Ad click IDs on this site, things like gclid or fbclid, get set by an ad platform the moment someone clicks. _ga is different. It is set by Google Analytics itself, through the older analytics.js linker feature, and only on outbound links between two domains you have deliberately configured together inside one Analytics property. No advertiser is involved. Your own analytics setup is what puts it there, solving a problem that only exists because you are running one property across two domains. Current GA4 properties running on gtag.js carry the same client ID across domains in a parameter called _gl instead.

What it actually carries

The value is a copy of your GA client ID, the same one that normally sits quietly in the _ga cookie on a visitor's browser, plus a timestamp. It follows a dot-delimited format, something like 1.199239214.1624002396.1440697407, with browser metadata encoded alongside the client ID and timestamp.

The stitching problem it solves

Cookies do not cross domains. If your marketing site sits on one domain and checkout lives on another, a visitor's browser cannot carry the same cookie between them by itself. GA's linker plugin works around that by copying the client ID into the URL as _ga, right before the visitor navigates across. It survives an ordinary redirect the same way any query parameter does. What removes it afterward is not a redirect at all, it is GA's own script, rewriting the address bar once the receiving domain has read the value and adopted it.

The cross-domain fallout

The visitor never notices either way. What changes is entirely on your side. If _ga gets dropped somewhere between the two domains, before GA can read it, the receiving domain has no client ID to adopt and mints a new one on landing. One visitor now looks like two separate users in your reports, and any funnel spanning both domains breaks at that seam. This is a cross-domain measurement failure, not an attribution one. Parameters like gad_source and utm_source handle attribution instead. See the full list at the link decoder hub.

Questions

What is _ga in a URL?

It is a copy of a Google Analytics client ID plus a timestamp, added by the older analytics.js linker to links between two domains tracked as one property. Current GA4 setups pass the same ID in a parameter called _gl instead.

Is the _ga parameter the same as the _ga cookie?

It carries the same client ID the _ga cookie holds. Cookies cannot cross domains, so the analytics.js linker copies the ID into the URL just before the visitor moves to the other domain, and the receiving domain adopts it instead of creating a new one.

What happens if _ga gets lost between domains?

The receiving domain has no client ID to adopt and creates a new one, so one visitor shows up as two users and any funnel spanning both domains breaks at that point. The visitor notices nothing.

Related parameters: utm_content · utm_term · mibextid · irclickid

Give your bio link a brain.

Build your page, watch who converts, free to start.

Get started free

No card required.