Connecting to Klaviyo

Klaviyo is an sms and email marketing automation platform for ecommerce, which helps grow businesses.

Data integration: Skyvia supports importing data to and from Klaviyo, exporting Klaviyo data to CSV files, replicating Klaviyo data to relational databases and synchronizing Klaviyo data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Klaviyo.

Query: Skyvia Query supports Klaviyo.

Klaviyo-Specific Features and Limitations

Skyvia has the following limitations for Klaviyo:

  • In the Data Integration product, Klaviyo connections are supported only for packages, which use a new data integration runtime.

    Make sure you select the Use new runtime checkbox on the tab bar if you want to use Klaviyo in your package. You need to select this checkbox each time you create a new data integration package.

  • Skyvia supports import operations for such Klaviyo objects:
    • INSERT, UPDATE, DELETE: EmailTemplates, Lists.
    • INSERT, UPDATE: Campaigns.
    • INSERT: ListMembers, ListSubscribe, PeopleExclusions
    • UPDATE: Profiles.
  • Campaigns object: when inserting a new campaign, a new template is created based on the template specified during import. For example, if you import 5 campaigns and specify the same TemplateId value for all campaigns in the import package, each campaign will have a unique TemplateId field value in the created records.
  • EmailTemplates object supports updating only imported HTML templates, does not currently update drag & drop templates.
  • The Profiles object requires specifying the PersonId value. If no PersonId value is specified, the Profiles object will be empty. You need to filter data by PersonId field to receive the corresponding records. The required PersonId can be obtained either from the ListExclusions and ListMembers objects or through the Klaviyo interface (for this, you need to open Profiles, select a specific Contact and select a value for PersonId in the URL line).
  • ListMembers object: the record is successfully added to the ListMembers object only if there is no record with the specified ListId and Email. If such record already exists in the object for the specified ListId and Email, and, if values are specified for the PhoneNumber or PushToken fields, then the Update operation is performed instead of Insert, i.e. a new record will not be added, but instead the PhoneNumber and PushToken fields will be updated for the existing record with the ListId and Email fields.
  • ListSubscribe object allows retrieving data only by Email and PhoneNumber. Values for both of these columns must be specified in a filter or WHERE clause united by the AND operator. You can insert records to this object only for lists with Single opt-in turned on. For other lists, record inserting finishes successfully, but in fact, no records are added.
  • Skyvia supports Replication with Incremental Updates for such Klaviyo objects as Campaigns, EmailTemplates, ListExclusions, Metrics.
  • Skyvia supports Synchronization for such Klaviyo objects as Campaigns, EmailTemplates.

Klaviyo Connections

To connect to Klaviyo, you need to specify a Private API Key.

Connection Editor window

You need to specify the following parameter for Klaviyo connection:

  • Private API Key — REST API authentication token used for connecting to Klaviyo. You can manage an API token in the Klaviyo interface. Read more about it here.

    To get your API Key, perform the following steps:

    1. Sign in to Klaviyo.
    2. Click the User icon in the top right corner.
    3. In the drop-down list, select Account.

      Klaviyo account

    4. On the Account page, click Settings and select API Keys from the driop-down list.

      Klaviyo API Keys

Supported Actions and Actions Specifics

Klaviyo connector supports the following actions: