Skip to content

_atid

_atid is a URL query parameter whose value is the resolved click ID. It exists for one reason: some surfaces can collect and store URL parameters but cannot be touched by the Tracking Tag β€” JavaScript form widgets, iframe embeds, forms injected after page load, and platforms without hidden form fields. Putting the click ID into the page URL lets those surfaces collect it themselves.

  • Platform auto-append β€” on platforms that store URL parameters but have no hidden fields (Systeme.io and similar), AnyTrack appends _atid automatically.
  • AnyTrack('atclidToUrl') β€” a Tag command that appends the already-resolved click ID value to the landing-page URL. It is not token substitution and not a single-page-application feature (it can apply to SPAs, but that is not its purpose).
  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 only in form DOM the Tag can modify, and only during its load-time scan β€” forms injected later are never rescanned.
  2. URL-param collection β€” a form the Tag cannot touch will never get --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.

An unfilled --CLICK-ID-- placeholder on a JavaScript widget form is expected behavior for path 1 β€” the fix is path 2, not reinstalling the Tag.

_atid is not a cross-domain parameter. Cross-domain tracking passes the click ID to a destination domain with atrefid, added to links at click time. And the Tag never substitutes --CLICK-ID-- in the loaded page’s own URL β€” a token placed in an ad’s final URL arrives literal, because no Tag ran before the landing page loaded.

Frequently asked questions

FAQ was last reviewed on 2026-08-01

I see _atid on my links and URLs β€” is something broken?
No. Seeing _atid is always expected. It is auto-appended on platforms that can collect URL parameters but have no hidden form fields (such as Systeme.io), and it has nothing 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 substitutes --CLICK-ID-- in form DOM it can modify, with no _atid needed. If the form is a JavaScript widget, iframe, or is injected after page load, the Tag cannot fill it β€” get _atid into the page URL (platform auto-append or AnyTrack('atclidToUrl')) and name the collecting field _atid so the form builder fills it 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.