walker.js (Web)
Walker.js is an open library to capture user events in the browser. It is created to improve data richness and make tracking implementation robust and scalable.
The basic idea of walker.js is to set up a complete tracking with HTML
attributes. Use the elb-attributes data-elb
, data-elbaction
, data-elb-*
,
data-elbcontext
, and data-elbglobals
forย tagging.
Add some tags in your HTML...
<body data-elbglobals="language:en">
<div data-elbcontext="test:engagement">
<div data-elb="promotion" data-elbaction="visible:view">
<h1 data-elb-promotion="name:Setting up tracking easily">
Setting up tracking easily
</h1>
<p data-elb-promotion="category:analytics">Analytics</p>
</div>
</div>
</body>
... and your web event is built on the fly:
{
event: 'promotion view', // Name as a combination of entity and action
data: {
// Arbitrary properties related to the entity
name: 'Setting up tracking easily',
category: 'analytics',
},
context: {
// Provides additional information about the state during the event
test: ['engagement', 0] // Key, [value, order]
},
globals: {
// General properties that apply to every event
language: 'en'
},
custom: {}, // Additional space for individual setups
user: {
// Contains user identifiers for different identification levels
// Require consent and set manually for sessions building and cross-device
id: 'us3r1d',
device: 'c00k131d',
session: 's3ss10n1d',
},
nested: [], // List of nested entities
consent: { functional: true }, // Status of the granted consent state(s)
id: '1647261462000-01b5e2-5', // Timestamp, group & count of the event
trigger: 'visible', // Name of the trigger that fired
entity: 'promotion', // The entity name involved in the event
action: 'view', // The specific action performed on the entity
timestamp: 1647261462000, // Time when the event fired
timing: 3.14, // Duration how long it took to trigger this event
group: '01b5e2', // Random identifier for all events during a run
count: 2, // Incremental counter of the events in the same run
version: {
// Information about the used implementation setup
source: 'X.X.X', // Semantic version of the used source
tagging: 42, // A version number of the then-used tagging status
},
source: {
// Details about the origin of the event
type: 'web', // Source type of the event (also app, server, or custom one)
id: 'https://github.com/elbwalker/walkerOS', // Source of the event's origin
previous_id: 'https://www.elbwalker.com/' // Previous source (like referrer)
}
}
Learn more about the event model.
๐๏ธ Installation
3 items
๐๏ธ Configuration
How to configure walker.js
๐๏ธ Tagging
How to tag a page with walker.js
๐๏ธ Commands
Ways to configure the walker.js
๐๏ธ Using JavaScript
Walker.js uses the elbLayer to handle all events. You can also trigger custom
๐๏ธ Testing
Here are some ideas on how to test your setup easily.
๐๏ธ Version history
walker.js changelog and version history.
If you need professional support with your walkerOS implementation, check out ourย services.