_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.
How _atid gets into the URL
Section titled βHow _atid gets into the URLβ- Platform auto-append β on platforms that store URL parameters but have no hidden fields (Systeme.io and similar), AnyTrack appends
_atidautomatically. 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).
_atid and the two click-ID fill paths for forms
Section titled β_atid and the two click-ID fill paths for formsβ- Tag substitution β a hidden field with default value
--CLICK-ID--is filled by the Tracking Tag automatically, without any_atidin 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. - URL-param collection β a form the Tag cannot touch will never get
--CLICK-ID--substituted. Instead, get_atidinto 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.
What _atid is not
Section titled βWhat _atid is notβ_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