Importing Contacts from Klaviyo

Learn how to use Klaviyo Data Import Tool

Ira avatar
Written by Ira
Updated over a week ago

If you've used Klaviyo before, you probably want to migrate your contacts to Omnisend. Our Team has built an integration with Klaviyo that allows you to do just that. Follow this guide to sync your customers' contact information to Omnisend.

Contents

Setup Process

Step 1. To enable the app, click the profile icon in the top right corner and go to Apps:

Step 2. Find the Klaviyo Data Import Tool using the search box and click the Connect now button:

Or you can just use this link to Klaviyo Data Import Tool in our App Market.

Step 3. Now you need to enter the Private API key that's been generated in your Klaviyo account.

To generate one, you should do the following:

  1. Log in to your Klaviyo account.

  2. Go to Settings → API Keys. Alternatively, click the following link: API Keys.

  3. Once you're in, click Create Private API Key.

4. Then select Full Access Key Access Level, name your API key (e.g. 'Omnisend integration') and click the 'Create' button.

You can also follow the steps listed in How to create a private API key article.

5. As soon as you're done, copy the API Key.

6. Then paste the API key into the corresponding field on the Klaviyo Data Import Tool in the Omnisend App Market and click Connect. You'll be able to initiate the contacts sync in the Settings tab:

And that's it! All your contacts are now imported to your Omnisend account! The contacts will be synced in batches of approximately 500 contacts every 5 seconds. Keep this in mind if you are on a tight schedule.

Note! This integration doesn't sync contacts in live-time. So, if you haven't stopped using Klaviyo yet, you'll need to initiate sync manually again, whenever you'd like to sync new contact information from Klaviyo. To do this, go to the 'Connected Apps' tab in the Omnisend App Market (you can simply click here). Then click the 'Edit' button next to the Klaviyo integration:

You'll be taken to the 'Settings' page, where you'll see the date when the last Sync has happened and to initiate a new sync, you'll need to click 'Sync Contacts' button:

What Data is Synced

The list of contact properties that we sync from Klaviyo:

  • email address (more about subscription statuses below);

  • phone number (more about subscription statuses below);

  • email/SMS consent (more about consent records below)ж

  • email/SMS opt-in/opt-out date;

  • First name;

  • Last name

  • Address;

  • City;

  • Country;

  • klaviyo_last_active_date (we create this custom property in Omnisend and add the value provided by Klaviyo under the contact profile);

  • all the custom properties are synced from Klaviyo with 'klaviyo_' prefix added to them (e.g. favorite_color will be synced as klaviyo_favorite_color to Omnisend);

  • tag 'klaviyo_import_app' will be added to all the contacts synced by this tool.

Subscription Statuses and Consent Records

Since there are number of different ways contact subscription statuses and consent records can be stored in Klaviyo, we'll cover below, how exactly they're synced and mapped in Omnisend.

Subscription Statuses

  1. Contacts will be imported as Email/SMS subscribers, if their Email/SMS marketing status in Klaviyo has 'subscribed' value. Also, Email/SMS opt-in date will be added based on the opt-in timestamp in Klaviyo.

  2. Contacts will be imported as Email/SMS non-subscribers, if their Email/SMS marketing status in Klaviyo has 'never subscribed' value.

  3. Contacts will be imported as Email/SMS unsubscribers, if their Email/SMS marketing status in Klaviyo has 'unsubscribed' or 'suppressed' value. Also, Email/SMS opt-out date will be added based on the opt-out timestamp in Klaviyo

Consent Records

  1. Email consent record will be added to the contact profile in Omnisend, if 'consent timestamp' property exists and at least one of the following fields isn't empty: $consent_method, $source, $consent_form_id, $consent_form_version.

  2. SMS consent record will be added to the contact profile in Omnisend, if 'SMS consent timestamp' property exists and $sms_consent_method property exists and isn't empty.

Did this answer your question?