← All examples

JavaScript Developer & QA

Log every dataLayer.push to the console

Wraps the dataLayer.push method to print, with a label, every event object pushed to GTM in the console.

Code to copy

try {
  window.dataLayer = window.dataLayer || [];
  var dl = window.dataLayer;
  if (!dl.__jzLogged) {
    var origPush = dl.push.bind(dl);
    dl.push = function () {
      try {
        for (var i = 0; i < arguments.length; i++) {
          console.log('%c[dataLayer push]', 'color:#F9AB00;font-weight:700', arguments[i]);
        }
      } catch (e) {}
      return origPush.apply(dl, arguments);
    };
    dl.__jzLogged = true;
    console.log('dataLayer.push logging enabled.');
  }
} catch (e) {
  console.warn('dataLayer logger 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