Send query results to Klaviyo

Klaviyo is an email platform for targeting, personalizing, measuring, and optimizing email and Facebook campaigns.


This destination uses the Klaviyo REST API .

Review the rate limits that are applied to endpoints in the Klaviyo REST API, specifically the endpoints that add profiles , create a list of profiles , and remove profiles , which are the endpoints Amperity uses to manage customer profiles.

Before sending a set of customer profiles to Klaviyo, and to help set expectations, you should review the rate limits and estimate the amount of time required to complete the process of adding your set of customer profiles to Klaviyo.

If you don’t want to wait to load customer profiles, you may instead use the SFTP import tool process. This approach is efficient and quick. It uses the built-in SFTP connector in Amperity and is capable of importing large sets of customer profiles much faster than a rate limited API.

The CSV file that is imported to Klaviyo has specific requirements on formatting and must include one (or more) of the following fields: “Email”, “PhoneNumber”, and/or “ExternalID”. When these fields are present in the CSV file they must have those exact names.

This topic describes the steps that are required to send CSV files to Klaviyo from Amperity:

  1. Build a query

  2. Add orchestration

  3. Run orchestration


Klaviyo must be enabled before you can configure an orchestration to send query results. Ask your DataGrid Operator or Amperity representative to enable Klaviyo for your tenant.

Build query

To send query results to Klaviyo you must know which type of audience list will be updated by Amperity. There are two types:

Email address only

The default audience list in Klaviyo requires only an email address. This requires a simple SELECT statement that returns only the Amperity ID and its associated email address:

  ,amperity_id AS "Amperity ID"
  ,email AS "Email"
FROM Customer360

Email address + customer profiles

You can send results to Klaviyo that include customer profiles along with their email address, such as first and last names, phone numbers, and zip codes. This additional profile data is available from the Customer Properties section within individual profiles for members of an audience list.

For example:

  ,amperity_id AS "Amperity ID"
  ,given_name AS "First Name"
  ,surname AS "Last Name"
  ,postal AS "Zip code"
  ,phone AS "Phone"
  ,email AS "Email"
FROM Customer360


This option requires the Use full profile to update list setting to be enabled in the data template used to send query results to Klaviyo.

Add orchestration

An orchestration defines the relationship between query results and a destination, including the location to which those query results will be sent and the frequency at which the orchestration will be run.

To add an orchestration

  1. From the Destinations tab, click Add Orchestration. This opens the Add Orchestration dialog box.

  2. From the Object Type drop-down, select Query.

  3. From the Object drop-down, select the query for which results will be sent to Klaviyo.

  4. From the Destination drop-down, select a destination that is configured for sending data to Klaviyo.

  5. From the Data Template drop-down, select a data template.

  6. Verify all settings.

  7. Set the workflow to Manual. (You can change this to automatic later, after verifying the end-to-end workflow.)

  8. Click Save.

Run orchestration

Run the orchestration manually to validate that it works.

To run the orchestration

  1. From the Destinations tab, under Orchestrations, open the    menu for the Klaviyo orchestration, and then select Run.

  2. The Status column for the orchestration will update to say “Waiting to start…”, after which the notifications pane will update to include a notification that shows the current status.

  3. When the orchestration has run successfully, the status is updated to “Completed”.