Skip to content

Installing the snippet

The snippet is a single script tag. Your dashboard's Setup instructions dialog shows it pre-filled with your tracking subdomain and client ID:

html
<script async src="https://track.yourdomain.com/prism.js?id=cl_yourclient" data-cfasync="false"></script>

Place it before the closing </head> tag on every page you want tracked. It loads asynchronously (~3 KB) and does not block rendering.

Keep data-cfasync="false"

If the site is behind Cloudflare with Rocket Loader enabled, this attribute stops Rocket Loader from deferring the script and breaking early click-ID capture. It's harmless everywhere else — leave it in.

What it does on load

  1. Captures ad click IDs from the URL (fbclid, gclid, ttclid, and others) into 90-day first-party cookies.
  2. Fetches a server-issued identity (adsidian_id, an HTTP-only cookie that lasts 1 year).
  3. Fires an automatic PageView event.
  4. Captures UTM parameters on every event.

Platform guides

WordPress

  • With a theme that supports header scripts (Astra, GeneratePress, …): Appearance → Customize → Header scripts (naming varies), paste the tag.
  • Any theme: install a header/footer script plugin (e.g. WPCode), add the tag to the header section, site-wide.
  • WordPress.com (Business/Commerce): Tools → Marketing → Traffic or a header-script plugin as above.

Shopify

Online Store → Themes → Edit code → theme.liquid, paste the tag just before </head>. For checkout events on Plus, also add it under Settings → Checkout → Additional scripts.

Webflow

Site settings → Custom code → Head code, paste, publish.

Google Tag Manager

Prefer a direct install when possible (GTM adds a loading layer that ad blockers target). If GTM is the only option: create a Custom HTML tag with the snippet, trigger on All Pages — Page View, and enable Support document.write off (not needed).

Plain HTML / other CMS

Paste into the shared header template so it renders on every page.

Single-page applications

The snippet fires PageView once per full page load. For client-side route changes in a SPA, fire a manual page view on navigation:

js
window.prism('track', 'PageView');

Next

Adsidian Prism — first-party server-side tracking.