Back to tools
Event Inspector icon
Chrome Extension · Free

Event Inspector

Every GA4 dataLayer push and gtag() call, live in a side panel — kept across page reloads, and checked against the GA4 ecommerce spec so you see which events are broken.

13 validation rules 0 data collected Manifest V3
Event Inspector — live event feed
🎯
Doesn't lose events

Hooks dataLayer and gtag with accessors at document_start. When GTM replaces push with its own function, capture keeps working — where naive inspectors go silent.

🧪
Finds broken markup

13 checks against the GA4 ecommerce spec: a transaction_id sent twice, missing value or currency, totals that don't add up, legacy item keys, double-fired triggers.

🧾
Readable payload

Open an event and the data is already laid out as key: value lines, items as compact boxes. Raw JSON stays one click away, with a Copy button.

🔀
Filters that matter

Quick pills for every funnel step with live counts — a zero shows a gap at a glance. Plus payload search, a dataLayer / gtag split and a one-click problems filter.

💾
Survives reloads

Events are kept per tab, so you can fire one, reload the page and still review exactly what was sent. Dividers mark each page load.

🔒
Private by design

No account, no tracking, no network requests. Three permissions, no host access. Dark and light themes, interface in 8 languages.

Changelog

Every version, newest first.

v2.0.0Jul 27, 2026Latest
  • Capture that survives Google Tag Manager. The hook now installs accessor properties at document_start: when GTM replaces dataLayer.push with its own function, the replacement is wrapped too, so events keep arriving instead of stopping silently. Reassigning window.dataLayer, resetting it with length = 0 and nested pushes from Custom HTML tags are all handled, and gtag() calls are recorded once instead of twice.
  • It tells you what's broken. Every event is checked against the GA4 ecommerce spec — a transaction_id sent twice (revenue counted twice), purchase without transaction_id, value or currency, a value that doesn't match the items total, value without currency, empty items, legacy id/name keys, malformed currency codes, double-fired events and GA4 length limits. Problems are flagged in the feed and one click filters down to them.
  • The payload reads like a request body. Expanding an event now shows flat key: value lines with items as compact boxes — no digging through JSON. Raw JSON is a collapsed extra, with Copy.
  • Newest first. The feed is reversed: the current page and its latest event are always on top. Scrolled down to read something? Incoming events no longer move it.
  • Quick filters for purchase, add_to_cart, begin_checkout, view_item, view_item_list and remove_from_cart with live counts — a zero count shows a gap in the funnel. Plus a Capture switch to pause the stream and an event counter badge on the toolbar icon.
  • Rebuilt interface — dark and light themes, and 8 languages: English, Українська, Русский, Español, Deutsch, Français, Português and 日本語.
  • Fewer permissions, no leftovers. Dropped scripting and host permissions; events now live in per-tab session storage and are cleared with the tab or the browser. Writes are serialized, so bursts on page load no longer drop events.
v1.0.0May 1, 2026Initial release
  • Live dataLayer and gtag capture in a Chrome side panel, persisted per tab across page reloads.
  • Event list with full JSON payload, source and name filters, page-load dividers and JSON export.

Try Event Inspector

Free, private, and no account needed. Add it to Chrome and see exactly what your GA4 tags are sending.

Add to Chrome →