Analytics choice

Optional measurement needs an explicit yes.

Essential website operation does not depend on analytics. Optional events contain no user, session or device identifier, no free text and no academic, contact, payment or wellbeing record.

Optional measurement

Essential operation is the default.

No optional choice receipt is stored.
Attribution sourcenone

Minimal envelope

What an optional event can contain.

The server rejects unknown fields, query-bearing paths, identifiers, stale timestamps and unsupported experiment data before any sink call.

{
  "schema_version": "1.0",
  "event_name": "page_view",
  "occurred_at": "ISO-8601 timestamp",
  "path": "/public-route",
  "surface": "public_website",
  "action": "route_view",
  "consent_version": "2026-07-24"
}

Attribution boundary

Three session-only labels.

No click identifier, referral code, raw referrer, full URL, cross-domain token or private-route attribution is permitted.

Optional

utm_source

Read only after attribution consent and held only for the active browser session.

Optional

utm_medium

Read only after attribution consent and held only for the active browser session.

Optional

utm_campaign

Read only after attribution consent and held only for the active browser session.