---
title: Klaviyo integration
slug: klaviyo
description: How the Personizely Klaviyo integration works: connecting by OAuth, profile properties sent, list and subscribe actions, email and SMS consent, kl_pid links.
docTags: 
createdAt: 2026-10-17T10:00:39.305Z
---

The Klaviyo integration sends visitors who sign up through Personizely widgets to Klaviyo as profiles, adds them to lists and records their email and SMS marketing consent. It also recognizes Klaviyo subscribers who arrive from your emails, and tells Klaviyo's onsite tracking who the visitor is once Personizely knows their email.

**Available on:** all platforms. Supports email and SMS.

## Connect Klaviyo

1. Go to **Settings → Integrations**, find **Klaviyo** and click **Connect**.
2. Log in to Klaviyo and approve access. You're sent back to Personizely.
3. Your Klaviyo lists are loaded. After creating a new list in Klaviyo, click **Refresh** on the integration to see it.

There's no **Mappings** dialog: fields are matched to Klaviyo properties automatically (see below).

## What's synced

Every Klaviyo action creates or updates a Klaviyo profile, matched by email or phone, with the visitor's profile from Personizely.

| Personizely field               | Klaviyo profile property             |
| ------------------------------- | ------------------------------------ |
| Email                           | Email                                |
| First name, Last name           | First Name, Last Name                |
| Phone                           | Phone Number                         |
| Company name                    | Organization                         |
| Company title                   | Title                                |
| City, Region, Country, Zip code | Location: city, region, country, zip |

Every other field that has a value, including your [Custom fields](docId\:km7iOXZLplGl8qZlK582W), the consent fields, UTM fields, Referrer and First visited page, is saved as a **custom property** with the same name as in Personizely, for example `Skin type` or `UTM Source`. You can use these properties in Klaviyo segments and flow filters.

## Automation actions

Add these to a Form (or other element) under **Automation → Action in → Klaviyo**. Each needs an email address or a phone number on the visitor's profile.

| Action                    | What it does                                                                                                                                                                                               | Options  |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
| **Add to list**           | Creates or updates the profile and adds it to the list. Doesn't record marketing consent and bypasses the list's double opt-in                                                                             | **List** |
| **Subscribe to list**     | Creates or updates the profile and subscribes it to the list with email marketing consent, and SMS marketing consent if the visitor gave SMS consent on the form. Follows the list's double opt-in setting | **List** |
| **Remove from list**      | Removes the profile from the list. Doesn't change consent                                                                                                                                                  | **List** |
| **Unsubscribe from list** | Unsubscribes the email, and the phone number if known, from marketing                                                                                                                                      | **List** |

Subscriptions made by Personizely show **Personizely** as their custom source in Klaviyo.

### Add to list or Subscribe to list?

- Use **Subscribe to list** for newsletter and SMS sign-ups. It's the action that records consent, so the profile can receive your campaigns and flows, and it respects double opt-in when the list uses it.
- Use **Add to list** to put people on a list for other reasons, such as quiz takers or giveaway entrants, when consent is collected elsewhere. Profiles added this way have no SMS consent and can't be texted.

## Identifying Klaviyo subscribers

When Klaviyo is connected, a link to your site carrying the visitor's Klaviyo profile ID in a `kl_pid` parameter identifies them. Add it to links in your Klaviyo emails with Klaviyo's profile ID tag, for example:

```javascript
https://example.com/collections/new?kl_pid={{ person.KlaviyoID }}
```

Personizely loads the profile from Klaviyo and links it to the visitor, so forms can be prefilled, [Dynamic text (personalization variables)](docId\:EEz3US75criNjfndB--uS) can use their name, and the visitor is recognized on a new device. See [Identifying visitors](docId\:Q2m71k4qe54obA5WmAvBT).

### Klaviyo onsite tracking

If Klaviyo's onsite script is on your site, Personizely also identifies the visitor to it by email after events such as a form submit. Klaviyo can then attribute the visitor's browsing to their profile, which powers "Viewed Product" and browse-abandonment flows for people who just signed up in a widget.

## Target filters

Klaviyo doesn't have a list filter in Personizely. To target subscribers, use the [Visitor fields filter](docId:8O0nDK0HiHXgMjILAg_OC) filter, for example "Email is not empty", or an "Email marketing consent" condition for people who opted in through a Personizely form. For the platforms that do have list filters, see [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv).

## Gotchas

- **SMS needs consent on the form.** **Subscribe to list** subscribes a phone number to SMS only when the visitor gives SMS consent on the form, with an **SMS marketing consent** or **Marketing consent - Email and SMS** checkbox.
- **SMS needs Klaviyo SMS set up.** SMS consent is only recorded if SMS is enabled in your Klaviyo account for the phone number's country.
- **Unsubscribes apply to marketing, not just the list.** Klaviyo treats an unsubscribe as a withdrawal of marketing consent for that channel. To take someone off a list without unsubscribing them, use **Remove from list**.
- **Remove from list needs a linked profile.** It only works for visitors Personizely has already linked to a Klaviyo profile, through an earlier Klaviyo action or a `kl_pid` link.
- **Country values.** Personizely sends countries as two-letter codes (`US`). When reading Klaviyo profiles back, full country names are converted to codes; unrecognized values are ignored.
- **Klaviyo forms vs Personizely forms.** If you run both, use Personizely targeting (for example "Email is empty") to avoid asking subscribers twice.

## Examples

- **Welcome discount:** Form with Email and **Email marketing consent** → **Subscribe to list** "Newsletter". A Klaviyo flow triggered by "Added to list" sends the code.
- **Quiz results:** Survey bound to the custom field "Skin type", then a Form → **Add to list** "Quiz takers". Klaviyo segments on the `Skin type` property send tailored product picks.
- **Email + SMS two-step:** step 1 **Subscribe to list** with email only; step 2 asks for a phone number with SMS terms and an **SMS marketing consent** checkbox, and runs **Subscribe to list** again on the SMS list.

## Related

- [Email and SMS integrations](docId\:q8l96CeLAKMNxvuIxhl7v)
- [Integrations](docId\:YweYsNdyWfChY1Z9KMneN)
- [Form element](docId:_32XhaAm6KMwlL3_ZIH25)
- [Identifying visitors](docId\:Q2m71k4qe54obA5WmAvBT)
- [Widget automations](docId\:J2UM-jhfDgQFopQlTvf_l)
