Amplitude
Amplitude is a product analytics platform with
built-in identity, revenue, groups, and optional session replay, feature
experiments, and guides & surveys. This destination forwards walkerOS events
to Amplitude via the official
@amplitude/unified
SDK, translating events into amplitude.track(...), identify(...),
revenue(...), setGroup(...), and setOptOut(...) calls. Loads the
Amplitude Analytics SDK, forwards every walkerOS event, and lets you layer
on identity, revenue, groups, consent toggling, and optional plugins.
Amplitude is a web destination in the walkerOS flow:
Installation
- Integrated
- Bundled
Configuration
This destination uses the standard destination config wrapper (consent, data, env, id, ...). For the shared fields see destination configuration. Package-specific fields live under config.settings and are listed below.
Settings
| Property | Type | Description | More |
|---|---|---|---|
apiKey | string | Your Amplitude project API key. Find it in your Amplitude project settings under "General" → "API Keys" (like a1b2c3d4e5f6789012345678abcdef12). | |
serverZone | 'US' | 'EU' | Amplitude server zone. Default: US. | |
flushIntervalMillis | integer | How often (in ms) to flush the event queue. Default: 1000. | |
flushQueueSize | integer | Max queued events before a flush. Default: 30. | |
flushMaxRetries | integer | Max retries on failed flush. Default: 5. | |
transport | 'fetch' | 'xhr' | 'beacon' | HTTP transport. Default: fetch. | |
useBatch | boolean | Use the Amplitude batch endpoint instead of the standard endpoint. Default: false. | |
appVersion | string | Application version; tagged onto every event. | |
identify | any | walkerOS mapping value resolving to an identity object. Keys: user, device, session, set, setOnce, add, append, prepend, preInsert, postInsert, remove, unset, clearAll. | |
sessionReplay | any | Session Replay options. When present, session replay is enabled via @amplitude/unified with the provided options. | |
experiment | any | Feature Experiment config. Must include `deploymentKey`. When present, the experiment plugin from @amplitude/unified is configured with the provided options. | |
engagement | any | Guides & Surveys config. Pass `true` for defaults, or an options object for custom configuration. Enabled via @amplitude/unified. |
Mapping
Per-event rules under config.mapping. For the standard rule fields (consent, condition, data, batch, name, policy) see mapping.
| Property | Type | Description | More |
|---|---|---|---|
identify | any | Per-event identity mapping. Resolves to an object with any of: user, device, session, set, setOnce, add, append, prepend, preInsert, postInsert, remove, unset, clearAll. | |
revenue | any | Revenue mapping. Resolves to a single object or (via loop) an array of objects, each with: productId, price, quantity, revenueType, currency, revenue, receipt, receiptSig, eventProperties. One amplitude.revenue() call fires per item. | |
group | any | Group assignment. Resolves to { type, name } → amplitude.setGroup(type, name). | |
groupIdentify | any | Group properties. Resolves to { type, name, set?, setOnce?, ... } → amplitude.groupIdentify(type, name, identify). | |
reset | any | Logout trigger. Resolves to a truthy value → amplitude.reset() (clears userId, regenerates deviceId). Typically used with skip: true on a user logout rule. |
Examples
consent grant opt in
consent revoke opt out
default event forwarding
destination level identify
destination level include
group assignment with properties
order complete multi product
rule include replaces
subscription renew revenue
user login identify
user logout reset
wildcard ignored
Plugins
All three plugin packages are npm-bundled with the destination (~135 KB for Session Replay plus Experiment and Engagement payloads). Enable them via destination settings:
settings: {
apiKey: 'YOUR_KEY',
sessionReplay: { sampleRate: 1 },
experiment: { deploymentKey: 'DEPLOYMENT_KEY' },
engagement: true,
}