This page describes how to use Census with Klaviyo.

🏃‍♀️ Getting Started

This guide shows you how to use Census to connect your Klaviyo account to your data warehouse and create your first sync.


Before you begin, you'll need the following:

Step 1: Connect Klaviyo

  1. 1.
    Log into Census and navigate to Destinations.
  2. 2.
    Click New Destination and select Klaviyo from the dropdown list.
  3. 3.
    Paste in your Klaviyo API Key. (See Klaviyo's Help Center for details on finding or generating API keys.)
Your end state should look something like this: 👇
Destinations page with Klaviyo

Step 2: Connect your data warehouse

The steps for connecting your data warehouse will depend on your technology. See the following guides:
After setting up your warehouse, your Destinations page should look something like this: 👇
Destinations page with Klaviyo and source warehouse

Step 3: Create your model

When defining models, you'll write SQL queries to select the data you want to see in Klaviyo. This can be as simple as selecting everything in a specific database table or as complex as creating new calculated values.
  1. 1.
    From inside your Census account, navigate to the Models page.
  2. 2.
    Click Add Model.
  3. 3.
    Enter a name for your model. You'll use this to select the model later.
  4. 4.
    Enter your SQL query. If you want to test the query, use the Preview button.
  5. 5.
    Click Save Model.
Basic SQL query for a new model

Step 4: Create your first sync

The sync will move data from your warehouse to Klaviyo. In this step, you'll define how that will work.
  1. 1.
    From inside your Census account, navigate to the Syncs page and click Add Sync.
  2. 2.
    Under What data do you want to sync?, choose your data warehouse as the Connection and your model as the Source.
  3. 3.
    Under Where do you want to sync data to?, choose Klaviyo as the Connection and "Profile" as the Object. (See Supported objects.)
  4. 4.
    Under How should changes to the source be synced?, choose Update or Create. (See Supported sync behaviors.)
  5. 5.
    Under How are source and destination records matched?, select an Identifier for the model and for Klaviyo. We recommend using an internal ID when possible. (See Supported objects.)
  6. 6.
    Under Which properties should be updated?, choose to update Specific Properties or Sync All Properties.
  7. 7.
    Set up the mapping for the List property and any other properties you want to update by mapping a column in your model to a property in Klaviyo.
  8. 8.
    Click Next. This will open the Confirm Details page where you can see a recap of your setup.
  9. 9.
    If you want to start a sync immediately, set the Run a sync now? checkbox.
  10. 10.
    Click Create Sync.
When configuring your sync, the page should look something like this: 👇
Sync setup for Klaviyo

Step 5: Confirm the synced data in Klaviyo

Once your sync is complete, it's time to check your data. Open Klaviyo and check that the profiles updated correctly.
If everything went well, that's it! You've started syncing data from your warehouse to Klaviyo! 🥳️​
And if anything went wrong, contact the Census support team to get some help.

💡 Things to know about the Klaviyo connector

Syncing the List property

All profiles in Klaviyo belong to at least one list. All syncs must include the List property to ensure that profiles in Klaviyo are valid.
We recommend creating a list specifically for syncing. For example, you could use a Klaviyo list called "Census Uploads" that simply includes every profile created or updated by a Census sync. Note that updating through Census sync will only add profiles to additional lists; it cannot remove a profile from a list.
Syncing the Klaviyo list property
To update the List property, you'll need to provide the list ID or Name values as a JSON array of strings, for example:
["List A", "List B", "List C"]
["RYkk48", "Xmpet6", "DyreR0"]

Syncing Updates to Profile

To sync updates to Profiles within Klaviyo there is some set up that will need to be done on the Klaviyo side.
You'll need to set up a Segment within Klaviyo that pulls in all users in your Klaviyo instance and grab the ID of the created Segment.


  • Create a Segment in Klaviyo with all users. This can be accomplished by adding a condition like email is not NULL or something else like that which makes sense for your data. (Example provided here within Klaviyo).
  • Once created grab the Segment Id from the url
  • Add the Segment ID to the All Profiles Segment ID field within your Klaviyo connection in Census (screenshot).

🗄 Supported objects

Object Name
Sync Keys
External ID (recommended), Email, Phone Number
Profile & List
External ID (recommended), Email, Phone Number
​Let us know if you want Census to support additional objects for Klaviyo.

🔄 Supported sync behaviors

Update or Create
Update Only
Profile & List
Learn about all of our sync behaviors in Core Concepts.
​Let us know if you want Census to support additional sync behaviors for Klaviyo.

🚑 Need help connecting to Klaviyo?

You can send our support team an email at sup[email protected] or start a conversation from the in-app chat.