Source code Package
Session Source
Standalone session detection and management that can be composed with any walkerOS source.
Installation
- Integrated
- Bundled
Install the packages:
Loading...
Configure in your code:
Loading...
Configuration
| Property | Type | Description | More |
|---|---|---|---|
storage | boolean | Enable persistent storage for session/device IDs | |
consent | string | array | Consent key(s) required to enable storage mode | |
length | number | Session timeout in minutes | |
pulse | boolean | Keep session alive on each event | |
sessionKey | string | Storage key for session ID | |
sessionStorage | 'local' | 'session' | Storage type for session | |
deviceKey | string | Storage key for device ID | |
deviceStorage | 'local' | 'session' | Storage type for device | |
deviceAge | number | Device ID age in days | |
cb | function | Custom session callback function or false to disable |
Detection Methods
The session source uses two complementary methods:
| Method | Storage | Use Case |
|---|---|---|
| Window | None | Privacy-first, per-page session |
| Storage | localStorage | Cross-page session tracking |
Window-based Detection
Without storage, session detection relies on browser signals:
Navigation Type:
Loading...
Marketing Parameters:
UTM and other marketing parameters trigger session start:
Loading...
Storage-based Detection
With storage: true, sessions persist across page loads:
Loading...
Session Lifecycle:
┌─────────────────────────────────────────────────────────────┐
│ Session Timeline │
├─────────────────────────────────────────────────────────────┤
│ │
│ User visits Page 2 Page 3 30min idle │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ [Session 1] ─────────────────────────────► [Expires] │
│ id: abc123 │
│ │
│ User returns │
│ │ │
│ ▼ │
│ [Session 2] │
│ id: def456 │
└─────────────────────────────────────────────────────────────┘
Storage Keys:
| Key | Default | Description |
|---|---|---|
sessionKey | elbSessionId | localStorage key for session ID |
deviceKey | elbDeviceId | localStorage key for device ID |
Session Start Event
When a new session is detected, the source pushes:
Loading...
Consent Integration
Session detection adapts to consent state:
| Consent State | Behavior |
|---|---|
| No consent | Window-only detection (no storage) |
| Consent granted | Storage-based with device ID |
| Consent revoked | Falls back to window-only |
Loading...
Next Steps
- Browser Source - DOM-based event tracking
- DataLayer Source - GTM/GA4 integration
- Consent Guide - Consent management patterns
💡 Need Professional Support?
Need professional support with your walkerOS implementation? Check out our services.