Skip to Content

Outcome measurement

Schema answers whether machines understand you. Outcome measurement answers what that understanding earns you. A small snippet on your site classifies your traffic by where it came from, so you can see AI-referred visits, agent activity, and the conversions that follow.

The snippet is analytics-grade and lightweight, about 3 KB. It is privacy-conscious by design.

What it measures

  • AI-referred visits, by surface. A human who arrived from an AI surface (ChatGPT, Perplexity, Gemini, Claude, Copilot) is identified by the page’s referrer and grouped by which surface sent them.
  • Agent visits. An agent browsing live on someone’s behalf (for example ChatGPT-User, Claude-User) is detected from the request and counted separately from human visits.
  • Crawler hits. Indexing and training crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and others) are tracked on their own.
  • Goal conversions. Clicks, form submits, booked calls, and purchases you define as goals, with conversion rate broken out for AI-referred traffic versus everything else.

Inquiries captured by your agent app record as goal completions here too, so an agent-driven lead shows up alongside the rest.

What it does not do

This is deliberate. The snippet:

  • does not fingerprint visitors: no cross-site identity, no device fingerprint;
  • reads the referrer at origin level only: the sending site, not the full URL or query, so it never captures what someone searched;
  • stores no personal data in the measurement path;
  • stays small: about 3 KB, with no consent banner required for the measurement itself.

The classification of a visit happens on SchemaX’s servers, not in the browser. Raw signals are retained so history can be re-classified: when a new AI surface appears, past traffic from it can be relabelled, as in “you’ve had visits from this source since back then.”

The AI-source classes

Every event is sorted into one of four classes:

ClassMeaningExample signals
AI assistant referralA human arrived from an AI surfaceReferrer: chatgpt.com, perplexity.ai, gemini.google.com, claude.ai, copilot.microsoft.com
AI agent visitAn agent browsing live for a userUser agent: ChatGPT-User, Claude-User, Perplexity-User
AI crawlerAn indexing or training crawlerUser agent: GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended
Other / unknownEverything elseDefault

The classifier reads from a rule table that is kept current as the AI landscape changes month to month, so you do not maintain the list.

Install paths

Pick whichever fits how your site is built. All deliver the same snippet.

PathBest for
Script tagA codebase or any host where you can add one <script> to the page.
WordPress pluginWordPress sites; the plugin adds the snippet behind a toggle and keeps it in sync.
Google Tag ManagerTeams already managing tags through GTM.

For a script-tag install, add the measurement snippet from your project to your site’s pages (typically near the end of the body) and deploy. It loads asynchronously and posts events with sendBeacon, so it never blocks your page.

Without the snippet

If you have not installed the snippet yet, Outcomes still shows something real: agent reads of your public endpoints (your schema manifest, your UCP manifest, your agent app) and crawler hits, both of which SchemaX sees server-side with zero install. Visit attribution and goal conversions are what the snippet adds on top.

So the install is optional to get started and additive when you do it. There is no all-or-nothing gate.

Last updated on