Klaviyo
Use GrowthLoop audiences and warehouse profile data for Klaviyo lists and identity profiles.
Connect this destination to export audience membership into a Klaviyo list, or to write warehouse rows onto existing Klaviyo identity profiles, for use in Klaviyo campaigns.
This destination writes to your Klaviyo account and is a good fit when you want to:
- Make GrowthLoop audiences available as Klaviyo lists
- Update identity profiles that already exist in Klaviyo
This maps to GrowthLoop Audiences, Journeys, and Syncs:
| Use it for | Audiences | Journeys | Syncs |
|---|---|---|---|
| Sending GrowthLoop audiences to Klaviyo lists | ✓ | ✓ | |
| Updating existing Klaviyo profiles from a warehouse table | ✓ |
Prerequisites
Make sure you have:
- A Klaviyo account with permission to view or create an API key. Owner, Admin, or Manager roles can view and create API keys.
- A Klaviyo API key. Find it in account settings, or create one with Create API KEY.
Set up Klaviyo as a destination
- In GrowthLoop, click the Destinations tab on the left sidebar.
- Click New Destination in the upper right corner.
- Search for Klaviyo and click Add Klaviyo.
- Enter the required information, then click Create.
| Field | Description |
|---|---|
| Destination Name | Name this destination in GrowthLoop. Use a name so your team recognizes its purpose, like "Klaviyo Email". |
| Sync Frequency | Set the default export frequency to Hourly or Daily. You can override this setting for individual exports and syncs. |
| API Key | API key you've created in your Klaviyo account settings. |
| Prefix for Personalization Fields (optional) | Prefix GrowthLoop adds to personalization fields. The default value is fw. Leave this blank for no prefix. If you set one, it must start with a letter and use up to 5 letters or numbers. |
GrowthLoop validates the connection by listing Klaviyo lists. Klaviyo then appears in your list of connected destinations.
Export to Klaviyo
From within GrowthLoop, export from an audience or from a journey Destination Node. See Export an audience or Build a journey if you need more information on these steps.
After building or selecting an audience, click Export, then search for Klaviyo. In a journey, add a Destination Node under Email and select Klaviyo.

Map contact identifiers
On an audience or in a journey Destination Node, map Email address and/or Phone. GrowthLoop needs at least one to match the Klaviyo profile.
Configure the export
This is where you set the campaign type and schedule for audience exports. On a journey Destination Node, you set timing on the journey canvas.
| Setting | Audience export | Journey Destination Node |
|---|---|---|
| Export Name | Defaults to {audience name}_GL_Audience_{audience ID}. That is the Klaviyo list name unless you change it. | Required. Enter a name so you can find the export in GrowthLoop and the list in Klaviyo. |
| Campaign type | Choose a one-time or ongoing export. | The journey schedule controls when the journey runs and contacts are sent to Klaviyo. |
| Schedule | Set frequency, start date, end date, and days of the week for ongoing exports. | Users reach this node when the journey runs. Add a Delay Node or set Criteria Evaluation to control timing. |
Export behavior
This is what GrowthLoop writes when you export an audience.
| Behavior | What happens |
|---|---|
| What GrowthLoop writes | Membership on a Klaviyo list under Lists & Segments. Direction is GrowthLoop → Klaviyo. |
| When it runs | GrowthLoop sends the export as a batch on the next successful run. An export that starts Now runs within about 15 minutes. Journeys send exports on demand when users reach the Destination Node. |
| List | GrowthLoop creates or reuses a list named after the export name. |
| Match fields | Email address and/or Phone. |
| Add | GrowthLoop bulk-imports the profile and adds it to the list. If the profile does not exist, Klaviyo can create it. |
| One-time exports | GrowthLoop adds current members to the list. |
| Ongoing adds and removals | Ongoing exports add contacts who enter the audience and remove contacts who leave the list. |
| Deletes | GrowthLoop does not delete Klaviyo profiles. Remove only takes the contact off the list. |
Create a sync in GrowthLoop
Create a sync from a warehouse table to write rows onto existing Klaviyo identity profiles. See Syncs for information on how to complete those steps.
Select an Object Type:
| Object | Use it for | Sync modes |
|---|---|---|
| Identity | Update existing Klaviyo profiles | Insert, Update, or Insert or update |
When you configure the sync:
- Connection: Select your Klaviyo destination.
- Object Type: Select Identity.
- Update Rule: The sync UI offers Insert, Update, or Insert or update. GrowthLoop updates profiles that already exist in Klaviyo. See Sync behavior.
- Dataset/Table: Select the warehouse table that holds the records.
- Match Field: Map Email or Phone. Map Email so GrowthLoop can look up the profile.
After you map fields, click Update Sync. Enable the sync with the toggle at the top of the page.
Syncs update identity profiles. They do not add or remove contacts from a Klaviyo list. To manage list membership, export an audience.
Identity fields
Map Email or Phone, then map the profile fields you want to write.
| Destination field | Description |
|---|---|
| Email or Phone Number | Required. Map at least one. GrowthLoop looks up the profile by email |
| First Name, Last Name, City, Region, Country, Image, Consent | Optional profile fields |
Sync behavior
| Behavior | What happens |
|---|---|
| When it runs | GrowthLoop sends the sync as a batch on the next successful run. |
| Profile write | GrowthLoop looks up the Klaviyo profile and updates mapped fields. New profiles are not created. |
| Profile match | Map Email or Phone. Lookup uses email. |
| List membership | Syncs do not add or remove contacts from a Klaviyo list. |
| Deletes | GrowthLoop does not delete Klaviyo profiles. |
Rows without Email or Phone fail.
Confirm the export was successful
When the run finishes, confirm you can use the data in Klaviyo.
- Audience export: Open Lists & Segments and look up the list. Look for the
_GL_Audience_name unless you changed Export Name. - Journey Destination Node: Open Lists & Segments and look up the list named after the export.
- Identity sync: Search for a profile that already exists in Klaviyo and check the mapped fields.
In GrowthLoop, review Added and Removed counts on the audience Exports tab, open the Activity tab on the journey Destination Node, or confirm the sync appears in the Syncs table. See Export an audience, Monitor a journey, or Syncs for more information.
Congrats on successfully exporting to Klaviyo!
Troubleshooting
These are the issues we see most often. You can always email us at [email protected] for help.
| Problem | Cause | Resolution |
|---|---|---|
| Connection fails to validate | The API key is wrong, or your Klaviyo role cannot create keys | Confirm the API key in Klaviyo account settings. Ask an Owner, Admin, or Manager to create a key if you cannot see one |
| Rows fail to match on an export | Email and Phone are both unmapped | Map Email address and/or Phone |
| An identity sync does not create a new profile | Syncs update existing Klaviyo profiles only | Export an audience if you need Klaviyo to create the profile on list add. For a sync, map Email to a person who already exists in Klaviyo |
| An identity sync fails to match | Email is not mapped, or the profile does not exist | Map Email and confirm the person already exists in Klaviyo |
| A sync did not change a list | Syncs update identity profiles only | Export an audience to add or remove list membership |
Updated 17 days ago
