Skip to content

_atid is a URL query parameter. On the current page URL, it carries the 30-character Page Click ID. The Tracking Tag writes it there on some platforms, or when you run AnyTrack('atclidToUrl'). Any system that reads URL parameters can then collect and store the value: form providers, carts, checkout providers, and platforms such as Systeme.io, Shopify, and GoHighLevel. That matters most for surfaces the Tag cannot reach: forms inside an iframe from another domain, form widgets, and platforms without hidden form fields.

  • Automatic on some platforms. The Tracking Tag writes _atid into the page URL on GoHighLevel pages (and on pages with an embedded GoHighLevel form), on Shopify product, collection and home pages, on Systeme.io, and on Funnelish. Platforms that store URL parameters then keep the value with their own data.
  • AnyTrack('atclidToUrl'). A Tag command that writes the Page Click ID into the current page URL, under _atid or under the name you pass. It replaces an earlier value of the same parameter. It is not token substitution.
  • Links to GoHighLevel. AutoTag adds _atid to links that point to a GoHighLevel address on leadconnectorhq.com. AutoTag does not add _atid to a link that points to a GoHighLevel page on a custom domain. On these links, _atid carries the 34-character Click ID, not the Page Click ID. On a page with an embedded GoHighLevel form, these links also get atclid.
  1. Tag substitution. A hidden field with default value --CLICK-ID-- is filled by the Tracking Tag automatically, without any _atid in the URL. This works for form fields that the Tag can reach in the page. The Tag scans the page again when the page content changes, so forms that appear after the page loads get filled too. The field receives the 34-character Click ID.
  2. URL-parameter collection. A form that the Tag cannot reach, such as a widget inside an iframe from another domain, never gets --CLICK-ID-- substituted. Instead, get _atid into the page URL and name the collecting field _atid. The form builder itself fills the field from the URL parameter. The field receives the 30-character Page Click ID.

An unfilled --CLICK-ID-- placeholder in a form that the Tag cannot reach is expected for path 1. The fix is path 2, not reinstalling the Tag.

_atid is not a cross-domain parameter. Cross-domain tracking passes the 34-character Click ID to a destination domain with atrefid, or with atclid when Sync Conversions is off. The Tag adds these parameters to the links in the browser, after the page loads.

The Tag also never substitutes --CLICK-ID-- in the loaded page’s own URL. A token placed in an ad’s final URL arrives as literal text, because no Tag ran before the landing page loaded.

Frequently asked questions

FAQ was last reviewed on 2026-11-08

I see _atid on my links and URLs. Is something broken?
No. The Tracking Tag writes _atid into the page URL on GoHighLevel pages, on Shopify product, collection and home pages, on Systeme.io and on Funnelish. It also writes _atid when you run AnyTrack('atclidToUrl'). AutoTag adds _atid to links that point to a GoHighLevel address on leadconnectorhq.com. None of this has to do with cross-domain tracking.
My hidden form field with --CLICK-ID-- is not filling. Do I need _atid in the URL?
Those are two independent fill paths. The Tag replaces --CLICK-ID-- in form fields that it can reach in the page, with no _atid needed. The Tag scans the page again when the page content changes, so forms that appear after the page loads get filled too. If the form sits in an iframe from another domain, or in a widget that the Tag cannot reach, get _atid into the page URL (automatic on some platforms, or AnyTrack('atclidToUrl')) and name the collecting field _atid. The form builder then fills the field from the URL.
My form builder rejects field names starting with an underscore.
The parameter name is customizable: AnyTrack('atclidToUrl', 'click_id') appends the value under the name you choose, and the form field maps to that name instead.