# Klaviyo

Connect Klaviyo as a data source: the public and private API keys it needs, the contacts and events it syncs through webhooks and polling, how its fields map to Instasent attributes, and how to map its marketing status to consent.

**Language:** en
**Audience:** platform
**Translation key:** platform.data-sources.connectors.klaviyo
**Search keywords:** Klaviyo, API key, public key, private key, contacts, events, webhooks, polling, connect Klaviyo, Klaviyo integration, Klaviyo consent, email marketing
**Related pages:** /platform/es/data-sources/connectors/klaviyo, /platform/en/data-sources/connectors, /platform/en/data-sources/managing, /platform/en/consent
**Docs index (every page):** https://docs.instasent.com/llms.txt
**This zone's index:** https://docs.instasent.com/platform/en/llms.txt
**This page:** https://docs.instasent.com/platform/en/data-sources/connectors/klaviyo/ (HTML) · https://docs.instasent.com/platform/en/data-sources/connectors/klaviyo.md (Markdown)
**Other language (es):** https://docs.instasent.com/platform/es/data-sources/connectors/klaviyo.md

Klaviyo is a native connector for email and SMS marketing data. Once connected, it
syncs your Klaviyo contacts and events into Instasent so you can segment and act on
them alongside the rest of your audience.

## How to connect

Klaviyo connects with an **[API key](/platform/en/data-sources/connectors#api-key)**:
you create the keys in Klaviyo first and paste them into Instasent. Klaviyo needs
**two keys** — a **Public API Key** and a **Private API Key**.

> **Warning**: You have to create the API keys in your Klaviyo account **before** connecting. The
> panel won't let you continue without them — the **Connect** step won't advance until
> both keys are filled in.

#### 1. Create the API keys in Klaviyo

In your Klaviyo account settings, create (or copy) your **Public API Key** and a
**Private API Key**.

#### 2. Add the data source

In **Data sources**, select **Add data source** and choose **Klaviyo** from the
Integrations section.

#### 3. Enter your keys and connect

On the **Connect** step, fill in the **Connection name**, the **Public API Key** and
the **Private API Key**, then select **Connect to Klaviyo**.

#### 4. Initial import

The connector imports your existing contacts and events, then keeps them in sync.

![The Klaviyo Connect step with the connection name and the public and private API key fields](/platform/en/data-sources/images/klaviyo--1-connect-step.png)
*The Connect step: enter a connection name, the Public API Key and the Private API Key, then select Connect to Klaviyo.*

After connecting, the wizard continues through **Mapping**, **Merge** and **Tags**, the
same steps as a CSV import.

## What it syncs

- **Contacts** — your Klaviyo profiles, with their identifiers and attributes.
- **Events** — activity such as purchases and abandoned carts.

Klaviyo syncs through a combination of **real-time webhooks** and **periodic
polling**, so new activity arrives quickly and the full set stays reconciled. The
direction is one-way, **from Klaviyo into Instasent**, and contacts unify by email
and phone — see [unification](/platform/en/data-sources/managing#how-unification-works).

## Field mapping

Klaviyo profile fields map to the matching Instasent attributes (email to `_email`,
phone to `_phone_mobile`, and so on), and events arrive with their parameters. You
confirm the mapping on setup; see
[field mapping](/platform/en/data-sources/managing#field-mapping).

## Consent mapping

{/* VERIFY: the exact Klaviyo → Instasent consent mapping is not yet confirmed. The mapping below applies the consent golden rule; confirm against the connector's actual behaviour before treating it as definitive. */}

Map Klaviyo's marketing status to Instasent's marketing-preference attribute
(`_accepts_marketing_*`) following the consent golden rule:

| Klaviyo status             | Instasent value | Meaning                     |
| -------------------------- | --------------- | --------------------------- |
| Subscribed / opted in      | `true`          | Accepted marketing          |
| Never opted in / no status | `null`          | No preference               |
| Unsubscribed / opted out   | `false`         | Actively declined marketing |

Only an **active opt-out** in Klaviyo becomes `false`. A contact with no recorded
status must map to **no preference** (`null`), never to `false` — Klaviyo not
distinguishing "never said anything" from "declined" means you map to `null`. See
[Consent](/platform/en/consent/marketing-preference-vs-suppression).

---

This is one page of the Instasent documentation. For the complete machine-readable index of every guide and API reference, fetch https://docs.instasent.com/llms.txt — start there for full context.
