← All examples

Action Developer & QA

Count dataLayer events by name

The button groups dataLayer entries by event name and prints a console table with the count of each one.

Code to copy

try {
  var dl = window.dataLayer;
  if (!Array.isArray(dl)) {
    console.warn('No dataLayer array found on this page.');
  } else {
    var counts = {};
    dl.forEach(function (item) {
      var ev = (item && item.event) || '(no event)';
      counts[ev] = (counts[ev] || 0) + 1;
    });
    console.log('dataLayer entries: ' + dl.length);
    console.table(Object.keys(counts).map(function (ev) {
      return { event: ev, count: counts[ev] };
    }));
  }
} catch (e) {
  console.warn('dataLayer event count 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. Enable the action panel, add a button in the Actions tab and paste the code into it — run it with one click.

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