Linking Klaviyo as a source
The Klaviyo connector can link campaigns, profiles, events, flows, and more to PostHog.
To link Klaviyo:
Go to the sources tab of the data pipeline section in PostHog.
Click + New source and then click Link next to Klaviyo.
Next, you need an API key from Klaviyo. Go to your API keys settings in Klaviyo. Click Create Private API Key, give it a name, and select Read-Only Key for the access level. Copy the value of the newly created key.
Back in PostHog, paste the API key in the
API keyfield and click Next.On the next page, set up the schemas you want to sync and modify the method and frequency as needed. Once done, click Import.
Once the syncs are complete, you can start using Klaviyo data in PostHog.
Configuration
| Option | Type | Required |
|---|---|---|
API key | password | Yes |
Syncing list membership data
The Klaviyo connector includes an opt-in list_profiles table that maps which profiles belong to which list. This is disabled by default — to enable it, toggle it on in the schema configuration when setting up or editing your Klaviyo source.
This table is useful because Klaviyo only exposes list membership as relationship links that can't be queried directly in PostHog. The list_profiles table materializes this many-to-many relationship as a flat join table with two columns:
list_id– the Klaviyo list IDprofile_id– the Klaviyo profile ID
Once synced, you can join it with your profiles table to query members of a specific list:
Note: The
list_profilestable uses full refresh sync only. Incremental sync isn't available because Klaviyo's relationship API doesn't support filtering by change date. This also means removed memberships are correctly reflected after each sync.