Chrome extension · Free

Debug your tags in Chrome’s side panel.

Every dataLayer push and every GA4, Google Ads and Floodlight beacon, live next to the page: decoded into plain language, linked to the GTM tags behind them, and checked for the mistakes that quietly break reporting.

  • Free, no account needed to debug
  • GA4, GTM and 28 more ad and analytics networks
  • Captures stay in your browser
demo-shop.example/checkout/complete
The Tagfire side panel next to a demo store's order confirmation page, listing the purchase push and the other dataLayer pushes on the page.

GA4 · Server-side GTM · gtag() · Google Ads · Floodlight · Meta · TikTok · Microsoft UET · LinkedIn · Pinterest · Snapchat · X · Reddit · Criteo · The Trade Desk · Outbrain · Taboola · Xandr · Amazon Ads · Awin · Rakuten · Yandex Metrica · Quora · + 8 more

01What you see

Everything you check tags for, in one side panel.

01Live capture

Every push and beacon, as it happens.

Open the side panel next to the site you’re testing and every dataLayer.push(), gtag() call and analytics beacon lands in order, grouped per page load.

  • Consent default and update calls shown alongside the pushes
  • Each push links to the GA4 hit it triggered, and back
  • Search and filters on every tab; click any value to copy it
The Tagfire side panel listing dataLayer pushes on a demo checkout page, with the purchase push selected.

02GTM tag prediction

The tags each push fires, and the ones that didn’t.

Link your GTM container (the panel finds its ID on the page) and each push lists the tags it should trigger, the beacon each one sent, and the tags that stayed silent.

  • Tags that never fired are flagged on the push
  • dataLayer keys a tag needs but the push is missing
  • Each tag’s configured parameters next to what was actually sent
A purchase push in the side panel, showing the GA4 hit it fired and the matching tag from the linked GTM container.

03GA4, decoded

Every parameter, in plain language.

Batched GA4 requests are split into one row per event, with the measurement ID, client and session, consent state, event parameters, user properties and items.

  • Known values explained, e.g. gcs G111 is ads and analytics granted
  • Parameters that changed since the last event of the same name are marked
  • GA4 hits sent to your own domain are recognised by their payload
A decoded GA4 purchase event in the side panel: measurement ID, session, consent state and endpoint.

04Every pixel

Same order, every network. Do they agree?

26 networks beyond Google, from Meta and TikTok to The Trade Desk, Awin and Yandex, each name their fields differently. The Pixels tab reads them all as the same six: event, value, currency, order ID, event ID and items.

  • One card per order, with each network’s value side by side
  • Every field shows the key it was read from, or “Not sent”
  • Page views and background pings fold into a single row
The Pixels tab: an order card comparing GA4, Meta and TikTok values, above a list of pixel events.

05Checks on every hit

Catch what quietly breaks reporting.

Each page load is checked for the mistakes that rarely throw an error and show up weeks later as bad data.

  • Duplicate page_views, value without currency, purchases missing transaction_id or items
  • Hits sent with consent denied, blocked or rejected beacons
  • Google Ads order IDs that don’t match the GA4 purchase, GTM snippets outside <head>
The Checks tab in the side panel listing an issue and a notice for the page load, each with an Explain button.

06Free AI helper

Ask the page what it sent.

Ask about the page load (“Is consent mode working?”) or click Explain on any check, and get an answer grounded in the hits the panel captured.

  • Runs on Chrome’s built-in on-device model when your computer supports it
  • Otherwise free Gemini through your Tagfire account
  • The panel asks before sending anything off your machine
The AI helper in the side panel summarising the tracking on a demo checkout page.
02Full view

Need more room? Open it wide.

Drag the side panel wider, or open the DevTools panel, and the list and the detail sit side by side. Here, a TikTok purchase whose value disagrees with GA4.

The Tagfire panel opened wide: the Pixels tab with an order compared across networks beside a TikTok purchase's key fields.
03Who it’s for

Made for the people who own the tracking.

Analysts

Check a GA4 implementation event by event, with the parameter reference built in.

Marketers

Confirm Google Ads, Floodlight and Meta conversions carry the right value and order ID.

Agencies

QA a client container before and after publishing, and export the session as evidence.

Developers

See the exact dataLayer push behind each hit, and which keys a tag expected to find.

04Privacy

Private by design. Nothing leaves without asking.

The extension captures only the tab you’re debugging, keeps captures in your browser, and never changes the requests it reads.

  • No telemetry, no analytics, no ads
  • Captures stay in your browser; no account is needed to debug
  • Cloud AI and GTM container linking are opt-in, and ask first
Read the extension privacy policy
05Questions

Before you install.

Yes. Debugging needs no account and has no limits. The optional cloud AI helper and GTM container linking use a free Tagfire account.

Start debugging your tags. It takes a minute.

Install it, open your site, click the Tagfire icon and reload. Everything from the first byte lands in the panel.

Vendor names identify the tags the extension decodes; trademarks belong to their owners and no affiliation is implied. Product shots use a synthetic session on demo-shop.example.