March 20, 2026

Debug dataLayer Push Events in Chrome: Free GTM DataLayer Debugger Extension

What is a dataLayer push

A dataLayer push is a call to dataLayer.push() that sends data to Google Tag Manager. It typically carries an event name and associated data such as ecommerce details, user properties, or custom parameters that GTM uses to trigger tags and populate variables.

When a GTM implementation breaks, the standard approach is opening GTM Preview mode, scattering console.log statements across the codebase, or trying to spot the push in a noisy browser console full of other logs. None of these give you a clean, reliable view of the raw data as it flows.

AH Debugger is a free Chrome extension that changes that. Install it from the Chrome Web Store, toggle it on, and every dataLayer.push() is intercepted before GTM processes it and made immediately readable in your console, the floating Overlay, and a dedicated DataLayer Viewer. You see the raw data exactly as it was pushed, independent of any GTM variable transformations, with the container ID, event name, and full structure in the order pushes happened.

This article covers dataLayer push logs. For analytics network request logs, read Analytics Request Logs →

Console Logs

With AH Debugger active, every dataLayer.push() produces a collapsible log group in your browser console (F12 → Console). Each group shows:

  • A GTM logo badge in blue with the dataLayer name and container ID. When multiple GTM containers are present on the page, this tells you immediately which container the push belongs to
  • The event name, or “Custom Object” if the push has no event key
  • Live Data: the raw JavaScript object as it exists in memory, fully interactive and expandable in the console
  • Stringified Data: a clean JSON snapshot of the same push, easy to copy and share

These logs also work on Single Page Applications. AH Debugger re-initializes its dataLayer observer on navigation events, so pushes are never missed during client-side page transitions.

AH Debugger DataLayer Push console logs

Console Overlay

The Overlay includes a dedicated DataLayer feed tab alongside the live analytics requests feed. Switch to it to see every dataLayer push in real time without opening DevTools.

Each entry shows the GTM container ID, the dataLayer name, and an expandable JSON preview with syntax highlighting. You can copy any push to clipboard in one click.

You can also filter out pushes you do not want to see. Noisy events like gtm.scroll or gtm.dom can be hidden from the feed using the overlay’s built-in exclusion panel, leaving only the pushes relevant to your current investigation.

AH Debugger overlay DataLayer feed

DataLayer Viewer

The DataLayer tab in the extension popup is the dedicated interface for reading dataLayer pushes across a full session. It connects directly to your GTM containers and captures every push with a timestamp and a sequential push count.

  • Automatic container detection: AH Debugger finds all GTM containers on the page, including setups with multiple containers or non-standard dataLayer names, and maps each one automatically
  • Three view modes: switch between Raw (original structure), Flattened (key-value pairs, easier to scan for a specific parameter), and Formatted (syntax-highlighted display for complex objects)
  • Search: filter pushes by any key or value across the full captured session
  • Copy to clipboard: copy any push as JSON in one click

Read the full guide: DataLayer Viewer and Simulator →

AH Debugger DataLayer Viewer

DataLayer Simulator

The DataLayer tab also includes a built-in simulator that lets you push synthetic events directly to the dataLayer from the extension popup, without touching your codebase. GTM processes the push exactly as it would a real one from your site, so you can test how your tags respond to a specific event structure before any code is deployed.

Read the full guide: DataLayer Viewer and Simulator →

AH Debugger DataLayer Simulator

Ready to explore more of AH Debugger? Read What is AH Debugger →

Frequently Asked Questions

How do I see dataLayer.push() events in Chrome?
Install AH Debugger from the Chrome Web Store and toggle it on. Every dataLayer.push() appears immediately in styled console logs with the GTM container ID, event name, and full data structure. The dedicated DataLayer tab in the popup captures every push in a searchable viewer with timestamps.
How do I debug a dataLayer push without modifying my code?
AH Debugger intercepts dataLayer pushes automatically the moment you toggle it on. You do not need to add console.log statements or modify your codebase. It also includes a DataLayer Simulator that lets you push synthetic events from the extension popup to test GTM tag behavior without deploying any code.
How do I view dataLayer events on a Single Page Application?
AH Debugger re-initializes its dataLayer observer on pushState, hashchange, and load events, so no pushes are missed during client-side navigation in SPAs. Both the console logs and the DataLayer Viewer capture pushes across page transitions without any additional setup.
Does AH Debugger work with multiple GTM containers on the same page?
Yes. AH Debugger automatically detects all GTM containers on the page and maps each one to its associated dataLayer. Each push log is labeled with its container ID so you always know which container it belongs to when multiple containers are present.
Powered by beluacode Logo