Search documentation...

K
ChangelogBook a demoSign up

Klaviyo

Power e-commerce focused email marketing with your warehouse data in Klaviyo

Supported syncing

Sync TypeDescriptionSupported Sync ModesAPI reference
User ProfilesSync data from any source to your Klaviyo users.UpsertBatch profile docs
EventsSync records as events to Klaviyo. This is often in the form of a track call.AddTrack docs
ListAdd and remove users from lists without explicit consent.Add, RemoveList docs
Subscription ListSubscribe or unsubscribe profiles to email marketing, SMS marketing, or both,Add, RemoveSubscribe Profiles docs

The Klaviyo destination has been updated to latest version of the API. There have been several changes that may affect syncs. See them here.

Setup

To find your API keys, navigate to the API keys page and create a private API key.

Hightouch may require the following permissions based on which Sync Types you will be using.

Note: You cannot edit an API key after it's created.

Sync TypePermissions (Read/Write)
EventsEvents, Profiles
User ProfilesProfiles
ListLists, Profiles
Subscription ListLists, Profiles, Subscriptions

Record matching

Records can be matched from your source to your Klaviyo workspace by either an email or phone number.

Field mapping

You can sync columns from your source to Klaviyo's default and custom fields.

Syncing events

Hightouch supports syncing events to Klaviyo and assigning them to a user.

To ensure syncs send each event, your event model must use a truly unique primary key. See the events syncs documentation for more information.

Track configuration

Hightouch allows you to choose the event name and event timestamp for a track event.

Note: Hightouch accepts a normal date time format for the timestamp, and automatically convert it to the format that Klaviyo requires.

Assigning events to profiles

Hightouch allows you to choose how you assign events to profiles. This is done by matching a column to a Klaviyo user identifier such as phone number or email.

Field mappings

Hightouch allows you to pass data to the event properties of a Klaviyo event.

Syncing lists

Hightouch supports syncing profiles to Klaviyo Lists.

Syncing profiles using emails or phone numbers to lists (regular and subscription lists) will automatically create any profiles that do not exist.

Note: When adding profiles to regular lists a Batch Profile Job is used.

Klaviyo lists

Hightouch supports automatically creating a new list for your sync. You can specify a custom name for this list, or Hightouch will use the name of the model.

Here, the model name List 1 will be used as the list name:

Sync modes

This integration supports Segment mode. New profiles will be inserted into the Klaviyo Lists. Profiles that are removed from the model will be removed from the list.

User identifiers

To identify which contacts to add or update in a list, select a model columns and the corresponding Klaviyo fields. You can match on either Email or Phone number.

Previously, user consent could be added with any profile update/create request, like in Events. Now, user consent is configured at the Subscription List level.

API changes

After recent changes to the Klaviyo API, the following issues may affect your syncs.

IssueSolution
API key permissions may not be correctCreate a new API key and asign correct permissions based on this chart.
Consent is no longer set on EventsConsent is setup through the use of Subscription Lists so it needs to be removed from any Event syncs. Klaviyo Docs
Invalid phone numbersPhone numbers should be in the format: +12345678901
Invalid datesDates should be in ISO format
Profile not found by IDThe ID field on profiles should only contain the Klaviyo generated profile ID

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Aug 13, 2024

On this page

Supported syncingSetupRecord matchingField mappingSyncing eventsTrack configurationAssigning events to profilesField mappingsSyncing listsKlaviyo listsSync modesUser identifiersUser consentAPI changes

Was this page helpful?