Skip to main content

Klaviyo

Server Source code Package Beta

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.

Where this fits

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

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*stringKlaviyo private API key. Starts with pk_. Find it under Settings > API Keys in your Klaviyo account.
emailstringwalkerOS mapping value path to resolve email from each event (like user.email).
phoneNumberstringwalkerOS mapping value path to resolve phone number in E.164 format from each event.
externalIdstringwalkerOS mapping value path to resolve external ID from each event (like user.id).
identifyanyDestination-level identity mapping. Resolves to profile attributes { firstName?, lastName?, organization?, properties? }. Fires createOrUpdateProfile() on first push and re-fires when values change.
currencystringDefault ISO 4217 currency code for revenue events (like USD, EUR). Sets valueCurrency on Klaviyo events.
* 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 identify mapping. Resolves to profile attributes for createOrUpdateProfile(). Use with rule-level skip: true on login/signup events.
valueanyRevenue value mapping. Resolves to a numeric value for Klaviyo revenue tracking. Sets the value property and valueCurrency on the event.

Examples

default event

Event
Out

destination identify

Event
Out

email only

Event
Out

mapped event name

Event
Mapping
Out

revenue event

Event
Mapping
Out

user login identify

Event
Mapping
Out

wildcard ignored

Event
Mapping
Out

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 EventKlaviyo MetricUnlocks
product viewViewed ProductProduct analytics
product addAdded to CartCart abandonment flows
order completePlaced OrderRevenue reporting, CLV
💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)