Browse documentation
Systems

Tracking Scanner

Audits a storefront's tracking stack (tags, pixels, consent mode, datalayer) and returns a graded, actionable report. The one System with a public entry point.

The Tracking Scanner reads a storefront the way a browser does and reports what is actually firing: which tags are present, which are misconfigured, and which are silently sending nothing.

It is the only System you can run before connecting a store.

What it inspects

GTM, GA4, Meta Pixel, Google Ads, Klaviyo, Addingwell, server-side tagging, Consent Mode v2, the datalayer schema, and network-level compliance. The report grades the setup A–F, names a root cause per finding, and orders the fixes.

Two ways to run it

Publicly, on any storefront. /scan/tracking accepts a URL you do not own. Signing in is required, because the scan costs real work, but connecting the store is not. The result is a real scan of a real storefront, not a preview.

On a connected store. The dashboard at /<org>/<store>/systems/tracking runs against the store you connected, and the setup wizard at /<org>/<store>/systems/tracking/setup walks through the fixes.

Retention of public scans

A public scan captures a third party's storefront, so it is not kept indefinitely. The scans-prune cron purges blob captures and the submitter's hashed IP at 30 days; the accounting shell stays to 62 days, because the public scanner's spend ceiling sums a calendar month and a month has to be fully countable after it ends.

What it is not

It is not an MCP server. A mcp.endpoint field once advertised /api/mcp/systems/tracking-scanner on the public marketplace page, in a monospace block meant to be pasted into Claude or Cursor. No such route exists, so everyone who pasted it got a 404. The field was removed rather than faked.

It is also not metered per run. The manifest once declared freeRunsPerMonth: 3 and creditsPerRun: 10; nothing in the codebase read either. No run counter exists, no billing path charges for a scan. The badge says free because it is free.

In the chat

@Atlas reaches the same engine through the runTrackingScan tool and the tracking-audit skill, so asking for a tracking audit in the chat and opening the dashboard cannot give you two different answers.

Built on these docs?

Drop into the forum if something's unclear or wrong. Docs improve faster when readers flag the gaps.

Open the forum