Pixel Auditor/Help/Reading the live event stream

Reading the live event stream

Anatomy of an event row, badges, severity indicators, and how to interpret the stream.

The Live Events tab streams every captured fire in real time. Each row is interactive — click to inspect, hover for context.

Anatomy of a row

From left to right:

  1. Severity left-bar — colored stripe (green / yellow / red / violet) summarising the row's worst finding
  2. Time — clock time + a latency badge (green/yellow/red pill). → Tag latency
  3. Platform pill — gtag, fbq, liQ, uetq, clarity, ttq, etc.
  4. Event name — bold; flex-siblings with flex-shrink:0 so badges never clip
  5. Inline badges — NEW (post-snapshot), watched eye, PII, SST, pre-consent, duplicate, dormant
  6. Method — fetch / XHR / Image / sendBeacon / hook
  7. Account IDG-XXXXXXX, pixel ID, etc.

Severity left-bars

ColorMeaning
greenHealthy fire — fast, post-consent, valid params
yellowWarning — slow, missing optional params, or duplicate
redViolation — pre-consent, missing required param, or PII leak
violetWatched event matched — desktop notification fired

Inline badges

  • NEW — the row appeared after your most recent snapshot
  • 👁 (violet) — this event matched a watch you set; one-shot pulse animation
  • PII — this fire leaked personal data
  • SST — server-side or first-party-proxied fire
  • DENIED / MODELED / VIOLATION — Consent Mode classification
  • DUP — duplicate of a recent fire (within 10 seconds)
  • DORMANT — fired but no GA4 property received it

Action bar

Sits below the tab row. Hosts:

Click a row

Opens the drawer with the full payload table, parameter validation, and the routing summary. → Inspecting event payloads

The dataLayer state machine

For events captured at the dataLayer.push layer, Pixel Auditor tracks the network confirmation. A push starts as pending; if a network hit lands within 2.5 s it flips to confirmed; otherwise it's marked silent. Silent events usually mean a misconfigured GTM trigger or a tag that's not actually firing despite the dataLayer push.

why This state machine is the fastest way to spot tags that look configured (the dataLayer push is there) but aren't actually delivering data to the vendor.