Klaviyo
Server-side event delivery to Klaviyo via the official klaviyo-api SDK. Tracks events with EventsApi.createEvent() and manages profiles with ProfilesApi.createOrUpdateProfile(), including revenue tracking, ecommerce metric name mapping, and identify state diffing.
Klaviyo is a server destination in the walkerOS flow:
Receives events server-side from the collector, resolves a profile identifier (email, externalId, or phoneNumber), optionally upserts the profile, then forwards the event to Klaviyo for flows, segmentation, and campaigns.
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 | Klaviyo private API key. Starts with pk_. Find it under Settings > API Keys in your Klaviyo account. | |
email | string | walkerOS mapping value path to resolve email from each event (like user.email). | |
phoneNumber | string | walkerOS mapping value path to resolve phone number in E.164 format from each event. | |
externalId | string | walkerOS mapping value path to resolve external ID from each event (like user.id). | |
identify | any | Destination-level identity mapping. Resolves to profile attributes { firstName?, lastName?, organization?, properties? }. Fires createOrUpdateProfile() on first push and re-fires when values change. | |
currency | string | Default ISO 4217 currency code for revenue events (like USD, EUR). Sets valueCurrency on Klaviyo events. |
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 identify mapping. Resolves to profile attributes for createOrUpdateProfile(). Use with rule-level skip: true on login/signup events. | |
value | any | Revenue value mapping. Resolves to a numeric value for Klaviyo revenue tracking. Sets the value property and valueCurrency on the event. |
Examples
default event
destination identify
email only
mapped event name
revenue event
user login identify
wildcard ignored
Identity is resolved automatically from each event: email defaults to user.email and externalId defaults to user.id. Klaviyo requires at least one identifier (email, phoneNumber, or externalId) per event. Events without any identifier are skipped with a warning.
Revenue tracking
Map a mapping rule's settings.value to a numeric event property. When settings.currency is also set, the destination adds valueCurrency on the Klaviyo event for revenue reporting.
Ecommerce metric naming
Klaviyo's built-in flows and reports key off specific metric names. Use mapping.name to rename walkerOS events to Klaviyo's expected values:
| walkerOS Event | Klaviyo Metric | Unlocks |
|---|---|---|
product view | Viewed Product | Product analytics |
product add | Added to Cart | Cart abandonment flows |
order complete | Placed Order | Revenue reporting, CLV |