Skip to main content

Amplitude

Server Source code Package

Server-side event delivery to Amplitude for product analytics, using the official @amplitude/analytics-node SDK. Supports track, identify, revenue, setGroup, groupIdentify, and flush calls with per-event identity via EventOptions.

Where this fits

Amplitude is a server destination in the walkerOS flow:

Sends events server-side to Amplitude's HTTP API, providing reliable delivery with identity resolution, revenue tracking, and group analytics without browser-side SDK overhead.

Installation

Loading...
Loading...

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

PropertyTypeDescriptionMore
apiKey*stringYour Amplitude project API key. Find it in your Amplitude project settings under "General" -> "API Keys".
serverZone'US' | 'EU'Amplitude data residency zone. Use EU for European data residency. Default: US.
flushIntervalMillisintegerHow often (in ms) to flush the event queue. Default: 10000.
flushQueueSizeintegerMax queued events before a flush. Default: 200.
flushMaxRetriesintegerMax retries on failed flush. Default: 12.
useBatchbooleanUse the Amplitude batch endpoint for higher rate limits. Recommended for high-volume server flows. Default: false.
minIdLengthintegerMinimum length for user_id and device_id fields.
serverUrlstringCustom server URL for proxies or self-hosted endpoints.
optOutbooleanInitial opt-out state. When true, no events are sent. Default: false.
enableRequestBodyCompressionbooleanEnable gzip compression for request payloads. Default: false.
identifyanywalkerOS mapping value resolving to per-event identity. Keys: user_id, device_id, session_id, set, setOnce, add, append, prepend, preInsert, postInsert, remove, unset, clearAll.
eventOptionsanywalkerOS mapping value resolving to per-event EventOptions. Keys: time, insert_id, ip, city, country, region, language, platform, os_name, os_version, device_brand, device_model, app_version, user_agent.
includeArray<string>walkerOS event sections to include as event_properties (like ['data', 'globals']).
* Required fields

Mapping

Per-event rules under config.mapping. For the standard rule fields (consent, condition, data, batch, name, policy) see mapping.

PropertyTypeDescriptionMore
identifyanyPer-event identity mapping. Resolves to an object with any of: user_id, device_id, session_id, set, setOnce, add, append, prepend, preInsert, postInsert, remove, unset, clearAll.
revenueanyRevenue mapping. Resolves to a single object or (via loop) an array, each with: productId, price, quantity, revenueType, currency, revenue, receipt, receiptSig, eventProperties. One amplitude.revenue() call fires per item.
groupanyGroup assignment. Resolves to { type, name } -> amplitude.setGroup(type, name, eventOptions).
groupIdentifyanyGroup properties. Resolves to { type, name, set?, setOnce?, ... } -> amplitude.groupIdentify(type, name, identify, eventOptions).
eventOptionsanyPer-rule EventOptions override. Resolves to { time?, insert_id?, ip?, ... }. Overrides destination-level eventOptions for this rule.
includeArray<string>Per-rule include override. Replaces destination-level include for this rule.

Examples

Consent granted

A walker consent command with analytics granted opts back into Amplitude tracking via setOptOut(false).

Event
Out

Consent revoked

A walker consent command with analytics denied opts out of Amplitude tracking via setOptOut(true).

Event
Out

Default event

A walkerOS event forwarded as an Amplitude track call with the event name and empty properties.

Event
Out

Identify per event

Destination-level identify resolves user_id, device_id, and session_id into the Amplitude EventOptions on every call.

Event
Out

Include data section

Destination-level include flattens the event data section into prefixed event_properties on every track call.

Event
Out

Event options

Destination-level eventOptions map walker fields into Amplitude per-event metadata such as time and insert_id.

Event
Out

Group assignment

A company update assigns the user to a group and sets group properties via setGroup plus groupIdentify.

Event
Mapping
Out

Multi-product order

An order with multiple nested products fires one amplitude.revenue per product plus a single track for the order.

Event
Mapping
Out

Subscription revenue

A subscription renewal fires a single amplitude.revenue call with productId, price, and a currency fallback.

Event
Mapping
Out

User login identify

A user login maps to amplitude.identify with set, setOnce, and add operations while the default track call is skipped.

Event
Mapping
Out
💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)