Tracker

One script tag. Optional extras live in a second file, not in a second product.

Default tracker

The default file is tracker.js. It does not set analytics cookies and does not use localStorage or sessionStorage to count visits. Paths are stored without query strings. Referrers keep only their origin.

Single-page apps

Pulse listens for pushState, replaceState, popstate and hashchange, so client-side navigations can count as pageviews without a full reload.

Privacy signals

If the browser sends Do Not Track as 1, or Global Privacy Control is on, the script sends nothing and does not fetch tracking rules.

Ignore your own visits

Open the site with #pulse-ignore or ?pulse_ignore=1, or set the ignore flag in Tracking settings. That stores a local preference in this browser. It is not an identifier Pulse stores on the server.

Engagement and live

The script can send visible and active time when a route changes or the page hides, plus a heartbeat while the tab is visible. Heartbeats are not billed. They keep realtime presence fresh.

Full tracker

tracker.full.js adds click coordinates for aggregated heatmaps and Web Vitals (LCP, INP, CLS, FCP, TTFB). Heatmaps do not record typed values, screenshots or session replay. Enable extras in site settings before switching the filename.