Skip to main content


Some handy ideas on how to debug easily


Usually, events get pushed to the window.elbLayer. You can take a look at the elbLayer in the console to see events. However, some events might skip the elbLayer.

Console destination

Add a custom destination where push points to console.log to list all events in the console:

import { elb } from '@elbwalker/walker.js';
elb('walker destination', {
push: console.log,

Test the tagging

Use selectors to loop through all elb-tags on a page and display the results in the console:

// Loop all entities
queryScope(document.body, '[data-elb]', function (entity) {
const entityName = entity.getAttribute('data-elb');

// Loop all acctions
queryScope(entity, '[data-elbaction]', function (action) {
const actionName = action.getAttribute('data-elbaction');
console.log('event', entityName, actionName);

// Get all properties
const properties = [];
const propertyAttr = `data-elb-${entityName}`;
queryScope(entity, `[${propertyAttr}]`, function (prop) {
console.log('properties', properties);

function queryScope(scope, selector, func) {
[scope, ...scope.querySelectorAll(selector)]
.filter((el) => el.matches(selector))
.map((elem) => {, elem);