All AddonSpot tools are 100% free, 24/7 — no signup, no limits. Suggest a tool →

Analytics Debugger – Debug GA4, Universal Analytics & Marketing Pixels in Real Time

Debug Google Analytics 4, Universal Analytics, and marketing pixels in real time.

This extension monitors outgoing network requests, decodes hit payloads, and surfaces implementation errors instantly as you browse. Instead of digging through the Network tab and hand-decoding query strings, you get every event, parameter, and consent state laid out in a focused popup — with the broken ones flagged for you.

What It Does

As you navigate pages, the extension captures requests sent to analytics and tracking endpoints. It parses event names, parameters, consent states, and transport URLs, then displays them in a clean, searchable popup.

It also automatically flags implementation issues, including:

These are the mistakes that quietly corrupt reporting for months before anyone notices. The extension catches them the moment they fire.

How It Works

It uses Chrome’s webRequest API to observe network traffic. When a request matches a known analytics pattern — or a custom tracker rule you define — the extension extracts the payload and sends it to the popup for inspection.

You can view full hit parameters, search across keys and values, and expand JSON request bodies. Custom trackers support regex URL matching and both JSON and parameter-based payloads, so you can monitor Facebook Pixel, Matomo, Adobe Analytics, or internal collection endpoints alongside GA4 — all in one view.

Built For

Why the Network Tab Isn’t Enough

You can debug GA4 in DevTools. You open the Network tab, filter for collect, click a request, squint at a URL-encoded query string, and manually work out which parameter is ep. versus epn. — then repeat for every hit. It works, and it’s miserable, and it’s slow enough that most teams simply don’t audit as often as they should.

The bigger problem is what DevTools won’t tell you. It won’t warn that a parameter name exceeds GA4’s 40-character limit, that an event is carrying 26 parameters when the cap is 25, that a purchase fired without a currency, or that the same pageview is being counted twice because a tag is double-firing. Those hits look completely fine in the Network tab — they return 200, they’re accepted, and the data lands wrong anyway.

Decoding the payload and checking it against the platform’s actual constraints turns a manual audit into something you notice while you browse.

Frequently Asked Questions

What does this extension do? It captures analytics and pixel requests as you browse, decodes the payloads, and shows event names, parameters, and consent states in a popup — while automatically flagging common implementation errors.

Which platforms does it support? GA4 and Universal Analytics out of the box, plus custom trackers you define — so Facebook Pixel, Matomo, Adobe Analytics, and internal collection endpoints can all be monitored in the same view.

What errors does it detect automatically? Duplicate pageviews, parameter names over 40 characters, events with more than 25 parameters, purchase events missing currency, and hits sent to multiple endpoints.

Does it work with server-side GTM? Yes. Because custom trackers support regex URL matching, you can point it at your server-side GTM endpoint or any internal collection URL and inspect those payloads too.

Can I see consent mode states? Yes. Consent states are parsed out of the hit alongside event names, parameters, and transport URLs.

How is this better than the DevTools Network tab? DevTools shows you the raw encoded request but won’t decode it into readable parameters or validate it. This extension parses the payload for you and flags issues like parameter limits and missing purchase currency, which look perfectly fine in a Network tab.

Can I search through hit parameters? Yes. You can search across keys and values, and expand JSON request bodies to inspect nested payloads.

Can I monitor a tracker that isn’t supported by default? Yes. Custom tracker rules use regex URL matching and handle both JSON and parameter-based payloads, so any endpoint you can match, you can inspect.