Item logo image for Event Inspector — DataLayer & GA4 Ecommerce Debugger

Event Inspector — DataLayer & GA4 Ecommerce Debugger

https://savko.dev/
ExtensionTools15 users
Item media 4 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger
Item media 1 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger
Item media 2 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger
Item media 3 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger
Item media 4 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger
Item media 1 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger
Item media 1 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger
Item media 2 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger
Item media 3 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger
Item media 4 (screenshot) for Event Inspector — DataLayer & GA4 Ecommerce Debugger

Overview

See every dataLayer and GA4 ecommerce event as it fires — purchase, add_to_cart, begin_checkout — with full payloads and warnings.

Event Inspector shows every GA4 dataLayer push and gtag() call your site makes — live, in a side panel, and it keeps them across page reloads. It is built for debugging GA4 ecommerce tracking, Google Ads dynamic remarketing and any Google Tag Manager instrumentation. The Network tab and the console are wiped on every navigation; Event Inspector is not. Fire an event, reload the page, navigate away — the log stays, keyed to the tab. WHY IT DOESN'T LOSE EVENTS Most inspectors patch dataLayer.push once and silently stop working the moment Google Tag Manager loads and replaces push with its own function. Event Inspector installs accessor properties at document_start, before any page script runs: • When GTM replaces dataLayer.push, the replacement is wrapped as well — capture continues. • When a page reassigns window.dataLayer to a new array, the new array is instrumented and its existing entries are reported. • gtag() calls are recorded once, not twice — the echo push into dataLayer is suppressed. • dataLayer.length = 0 resets do not break the hook. This behaviour is locked down by an automated regression suite, not by hope. IT TELLS YOU WHAT IS BROKEN Every event is checked against the GA4 ecommerce specification and problems are flagged right in the feed: • A transaction_id sent twice — the purchase is counted twice in your reports • purchase without transaction_id, value or currency • value that does not match the sum of item price × quantity • value sent without currency, which GA4 silently ignores • Empty items, or items using the legacy id / name keys instead of item_id / item_name • A currency that is not a three-letter ISO code • The same event fired twice within two seconds — a double GTM trigger • Event names and parameter values beyond GA4 length limits One click on the problems filter reduces the feed to the events that need attention. FEATURES • Live feed, newest first, grouped by page load • Ecommerce summary in every row: item count and order value • Expand an event and the payload is already laid out as readable key: value lines, items as compact boxes, raw JSON one click away with Copy • 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 at a glance • Search across event names and payload contents; split the feed by dataLayer or gtag • Pause capture while you inspect a busy page • Event counter badge on the toolbar icon, per tab • Copy a single payload, copy everything currently filtered, or export the whole log as JSON • Dark and light themes; interface in English, Ukrainian, Russian, Spanish, German, French, Portuguese and Japanese PRIVACY Everything happens locally in your browser. No account, no tracking, no analytics, no network requests of any kind. The extension asks only for the storage, sidePanel and tabs permissions — it has no host permissions. Events are kept in session storage per tab and are cleared when the tab or the browser closes. GOOD TO KNOW • Events fired inside iframes are not captured. • If a page declares gtag with a global function declaration, its calls are still captured, but labelled as dataLayer. • After updating or reloading the extension, reload open tabs to resume capture. Event Inspector is a companion to the Horizon GA4 Ecommerce plugin, which fires *_gtm events — those are validated and filtered exactly like standard GA4 events.

Details

  • Version
    2.1.1
  • Updated
    August 1, 2026
  • Size
    48.08KiB
  • Languages
    7 languages
  • Developer
    Website
    Email
    hi@devcoffee.com.ua
  • Non-trader
    This developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.

Privacy

Manage extensions and learn how they're being used in your organization
The developer has disclosed that it will not collect or use your data. To learn more, see the developer’s privacy policy.

This developer declares that your data is

  • Not being sold to third parties, outside of the approved use cases
  • Not being used or transferred for purposes that are unrelated to the item's core functionality
  • Not being used or transferred to determine creditworthiness or for lending purposes
Google apps