← All examples

JavaScript Developer & QA

List dataLayer events as they fire

Prints each event name in the console the moment it reaches the dataLayer, so you can follow the event flow live.

Code to copy

try {
  window.dataLayer = window.dataLayer || [];
  var dl = window.dataLayer;
  if (!dl.__jzEvents) {
    var origPush = dl.push.bind(dl);
    dl.push = function () {
      try {
        for (var i = 0; i < arguments.length; i++) {
          var a = arguments[i];
          var name = (a && (a.event || a[0])) || '(no event name)';
          console.log('%c→ ' + name, 'color:#34A853;font-weight:700');
        }
      } catch (e) {}
      return origPush.apply(dl, arguments);
    };
    dl.__jzEvents = true;
    console.log('Live dataLayer event listing enabled.');
  }
} catch (e) {
  console.warn('GTM event listing failed:', e);
}

How to use this example

  1. Copy the code with the button above.
  2. Install JustZix (2 minutes) and open the extension on the target page.
  3. Add a new rule matching that page.
  4. Paste the code into the rule's JavaScript panel and save — it runs on every page visit.

Rate this example

No ratings yet — be the first.

Does this example work?

Snippets are useless without somewhere to paste them.

JustZix takes 2 minutes to install and runs your code on every matching page. No account, no payment.

Download free See use cases