← All examples

Action Developer & QA

Copy the page dataLayer as JSON

The button serializes the current dataLayer to formatted JSON and copies it to the clipboard, skipping cycles.

Code to copy

try {
  var dl = window.dataLayer;
  if (!Array.isArray(dl) || !dl.length) {
    console.warn('No dataLayer found or it is empty.');
  } else {
    var seen = [];
    var json = JSON.stringify(dl, function (k, v) {
      if (typeof v === 'object' && v !== null) {
        if (seen.indexOf(v) !== -1) { return '[Circular]'; }
        seen.push(v);
      }
      if (typeof v === 'function') { return '[Function]'; }
      return v;
    }, 2);
    navigator.clipboard.writeText(json).then(function () {
      console.log('Copied dataLayer JSON (' + dl.length + ' entries).');
    }, function (err) { console.warn('Copy failed:', err); });
  }
} catch (e) {
  console.warn('dataLayer JSON copy 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