Skip to main content

Klaviyo

This page contains the setup guide and reference information for the Klaviyo source connector.

Prerequisites

Setup guide

Step 1: Set up Klaviyo

  1. Create a Klaviyo account
  2. Create a Private API key. Make sure you selected all scopes corresponding to the streams you would like to replicate. You can find which scope is required for a specific stream by navigating to the relevant API documentation for the streams Airbyte supports.

Step 2: Set up the Klaviyo connector in Airbyte

For Airbyte Cloud:

  1. Log into your Airbyte Cloud account.
  2. Click Sources and then click + New source.
  3. On the Set up the source page, select Klaviyo from the Source type dropdown.
  4. Enter a name for the Klaviyo connector.
  5. For Api Key, enter the Klaviyo Private API key.
  6. For Start Date, enter the date in YYYY-MM-DD format. The data added on and after this date will be replicated. This field is optional - if not provided, all data will be replicated.
  7. Click Set up source.

For Airbyte Open Source:

  1. Navigate to the Airbyte Open Source dashboard.
  2. Click Sources and then click + New source.
  3. On the Set up the source page, select Klaviyo from the Source type dropdown.
  4. Enter a name for the Klaviyo connector.

Supported sync modes

The Klaviyo source connector supports the following sync modes:

Supported Streams

Performance considerations

The connector is restricted by Klaviyo requests limitation.

The Klaviyo connector should not run into Klaviyo API limitations under normal usage. Create an issue if you encounter any rate limit issues that are not automatically retried successfully.

The Campaigns Detailed stream contains fields estimated_recipient_count and campaign_message in addition to info from the Campaigns stream. Additional time is needed to fetch extra data.

The Lists Detailed stream contains field profile_count in addition to info from the Lists stream. Additional time is needed to fetch extra data due to Klaviyo API limitation.

The Events Detailed stream contains field name for metric relationship - addition to info.

The Profiles stream can experience transient API errors under heavy load. In order to mitigate this, you can use the "Disable Fetching Predictive Analytics" setting to improve the success rate of syncs.

warning

Using the "Disable Fetching Predictive Analytics" will stop records on the Profiles stream will no longer contain the predictive_analytics field and workflows depending on this field will stop working.

Data type map

Integration TypeAirbyte Type
stringstring
numbernumber
arrayarray
objectobject

Reference

Config fields reference

Field
Type
Property name
string
api_key
string
start_date
boolean
disable_fetching_predictive_analytics

Changelog

Expand to review
VersionDatePull RequestSubject
2.9.32024-08-1243806Update dependencies
2.9.22024-08-1043613Update dependencies
2.9.12024-08-0343247Update dependencies
2.9.02024-08-0142891Migrate to CDK v4.X and remove custom BackoffStrategy implementation
2.8.22024-07-3142895Add config option disable_fetching_predictive_analytics to prevent 503 Service Unavailable errors
2.8.12024-07-2742664Update dependencies
2.8.02024-07-1942121Migrate to CDK v3.9.0
2.7.82024-07-2042185Update dependencies
2.7.72024-07-0840608Update the events_detailed stream to improve efficiency using the events API
2.7.62024-07-1341903Update dependencies
2.7.52024-07-1041548Update dependencies
2.7.42024-07-0941211Update dependencies
2.7.32024-07-0640770Update dependencies
2.7.22024-06-2640401Update dependencies
2.7.12024-06-2240032Update dependencies
2.7.02024-06-0839350Add events_detailed stream
2.6.42024-06-0638879Implement CheckpointMixin for handling state in Python streams
2.6.32024-06-0438935[autopull] Upgrade base image to v1.2.1
2.6.22024-05-0837789Move stream schemas and spec to manifest
2.6.12024-05-0738010Add error handler for 5XX status codes
2.6.02024-04-1937370Add streams campaigns_detailed and lists_detailed
2.5.02024-04-1536264Migrate to low-code
2.4.02024-04-1136989Update Campaigns schema
2.3.02024-03-1936267Pin airbyte-cdk version to ^0
2.2.02024-02-2735637Fix predictive_analytics field in stream profiles
2.1.32024-02-1535336Added type transformer for the profiles stream.
2.1.22024-02-0935088Manage dependencies with Poetry.
2.1.12024-02-0734998Add missing fields to stream schemas
2.1.02023-12-0733237Continue syncing streams even when one of the stream fails
2.0.22023-12-0533099Fix filtering for archived records stream
2.0.12023-11-0832291Add logic to have regular checkpointing schedule
2.0.02023-11-0332128Use the latest API for streams campaigns, email_templates, events, flows, global_exclusions, lists, and metrics
1.1.02023-10-2331710Make start_date config field optional
1.0.02023-10-1831565Add new known fields for 'events' stream
0.5.02023-10-1931611Add date-time format for datetime field in Events stream
0.4.02023-10-1831562Add archived field to Flows stream
0.3.32023-10-1331379Skip streams that the connector no longer has access to
0.3.22023-06-2027498Do not store state in the future
0.3.12023-06-0827162Anonymize check connection error message
0.3.02023-02-1823236Add Email Templates stream
0.2.02023-03-1322942Add Profiles stream
0.1.132023-02-1322942Specified date formatting in specification
0.1.122023-01-3022071Fix Events stream schema
0.1.112023-01-2722012Set AvailabilityStrategy for streams explicitly to None
0.1.102022-09-2917422Update CDK dependency
0.1.92022-09-2817304Migrate to per-stream state.
0.1.62022-07-2014872Increase test coverage
0.1.52022-07-1214617Set max_retries = 10 for lists stream.
0.1.42022-04-1511723Enhance klaviyo source for flows stream and update to events stream.
0.1.32021-12-098592Improve performance, make Global Exclusions stream incremental and enable Metrics stream.
0.1.22021-10-196952Update schema validation in SAT