Skip to main content
Source code Package

Browser Source

Captures user interactions directly from the DOM using data attributes.

Features

  • Data attribute reading: Extracts tracking data from data-elb-* attributes
  • Session management: Automatic session detection and handling
  • Pageview tracking: Automatic or manual page view events
  • DOM commands: Enhanced elb function with walker init support

Installation

npm install @walkeros/web-source-browser
import { startFlow } from '@walkeros/collector';
import { sourceBrowser } from '@walkeros/web-source-browser';

const { collector, elb } = await startFlow({
sources: {
browser: {
code: sourceBrowser,
config: {
settings: {
pageview: true,
session: true,
prefix: 'data-elb',
},
},
},
},
});

Configuration

PropertyTypeDescriptionMore
prefixstringPrefix for data attributes (default: "data-elb")
scopeElement | DocumentDOM scope for event tracking (default: document)
pageviewbooleanEnable automatic pageview tracking
sessionbooleanEnable session tracking
elbstringName for global elb function (e.g., window.elb)
namestringCustom name for source instance
elbLayerboolean | string | Elb.LayerEnable elbLayer for async command queuing

Enhanced elb Function

The browser source returns an enhanced elb function with additional features:

// Collector elb: Basic event tracking
collector.push('product view', { id: 'P123' });

// Browser source elb: Enhanced with DOM commands
elb('walker init', { scope: document.querySelector('#app') });
elb('product view', { id: 'P123' }); // Also tracks events

Browser Source elb adds:

  • DOM Commands: walker init for asynchronous DOM element loading
  • Flexible Arguments: Support for multiple argument patterns
  • elbLayer Integration: Automatic processing of queued commands
  • Element Parameters: Support for element parameters in commands

See Commands for complete API documentation.

Next Steps

💡 Need Professional Support?
Need professional support with your walkerOS implementation? Check out our services.