Collect profiles from Klaviyo

Learn how to collect profiles from Klaviyo.

View as Markdown

Krenalis lets you collect user data directly from your Klaviyo account, map it to the Customer Model schema, and load it into your data warehouse for a unified view of your customers.

How it works

  1. Select your profiles. Choose which profiles to include.
  2. Map the data. Match each Klaviyo property to your Customer Model using Visual Mapping, JavaScript, or Python.
  3. Set the schedule. Choose how often Krenalis synchronizes profiles.
  4. Keep it fresh. Krenalis automatically updates profiles in your workspace's data warehouse, adding or updating profiles when new ones appear.

Steps

If you've already added a source connection for the same Klaviyo account, you can reuse it and start with the Add a pipeline to import profiles step.

1. Create a Klaviyo API key

  1. Log in to your Klaviyo account.
  2. Click your account name at the bottom left, then go to Settings → Account → API Keys.
  3. Click Create Private API Key.
  4. Name the key, enable Custom Key, and grant Read Access to Profiles.
  5. Create and copy the key.

2. Connect Krenalis with Klaviyo

  1. In your Krenalis workspace, open the Sources page.
  2. Click Add a new source ⊕, then select the Klaviyo card.
  3. Click Add source....
  4. Enter the previously copied key.
  5. Click Add to complete the connection.

3. Add a pipeline to import profiles

In the new connection for Klaviyo, click Add pipeline... next to the Import Klaviyo profiles pipeline.

Add pipeline

Each pipeline defines which data Krenalis reads and how it is structured. You can define multiple pipelines per source to manage different datasets.

4. Filter profiles

If you don't want to read all profiles from Klaviyo, use filters to select which profiles to sync. Only profiles that match the filter conditions will be synced. If no filters are set, all profiles will be imported. For more information on how to use filters, see the Filters documentation.

Filter

5. Enable incremental import

By default, each import processes all profiles in your Klaviyo account. You can enable Run incremental import to update only profiles that have changed since the last sync. This option can help reduce processing time and API usage while keeping your data up to date.

Incremental import

6. Transformation

Use the Transformation section to define how profile data is mapped to Customer Model properties. You can visually map properties from Klaviyo to the Customer Model, or use JavaScript and Python for more advanced logic (for example, formatting dates or combining multiple properties).

Transformation

7. Save your changes

When everything looks good, click Add (or Save if you're editing an existing pipeline).

To import another set of profiles from the same Klaviyo account, repeat the process starting with the Add a pipeline to import profiles step.

Pipelines

Once saved, the new pipeline appears in the pipelines list for Klaviyo. From here, you can monitor imports, adjust filters, and manage transformations. Each pipeline defines how and when users flow from Klaviyo into your warehouse.

With a single Klaviyo connection, you can create multiple import pipelines to sync different data segments within the same account.

Pipeline to import profiles
Column Description
Pipeline Name and description of the pipeline.
Filters Conditions used to select which profiles are imported. If not set, all profiles are imported.
Enable Switch to activate or deactivate the pipeline. When disabled, the pipeline will not run, even if a schedule is defined.
Run now Run the import immediately, one time only. Available only when the pipeline is enabled.
Schedule Frequency of automatic imports. You can also run the import manually at any time.
Manage Edit settings such as filter, incremental imports, and transformation
⋮ (More) Additional options, such as deleting the pipeline.