> For the complete documentation index, see [llms.txt](https://docs.adpage.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adpage.io/data-and-insights/marketing-integrations/klaviyo.md).

# Klaviyo

Connect Klaviyo for campaign and flow revenue, list growth and email activity in Data Studio and the Marketing Mix Model.

Connect Klaviyo so your email and SMS programme sits in the same reports as everything you pay for. The connection is **read-only** by design: AdPage requests only `:read` scopes — `accounts`, `campaigns`, `events`, `flows`, `metrics` and `profiles`. It cannot send, edit a flow, or change a profile.

{% hint style="info" %}
This integration is released per customer. If you do not see the tile, ask <support@adpage.io> to enable it.
{% endhint %}

### Before you start

You need a Klaviyo account and a user who can approve an integration — an **Owner**, **Admin** or **Manager**. Klaviyo's lower roles cannot complete the approval.

No API key to create or paste: Klaviyo uses OAuth, so you approve in Klaviyo and AdPage never sees a credential you typed.

One Klaviyo account connects to one container. If you run several stores in one Klaviyo account, connect the container that matches the store you report on.

### Connect Klaviyo

{% stepper %}
{% step %}

#### Open the tile

Go to **Integrations**, select the container, and open the **Klaviyo** tile.
{% endstep %}

{% step %}

#### Approve access at Klaviyo

Select connect. Klaviyo lists the read permissions AdPage is asking for. Approve, and you are returned to AdPage.
{% endstep %}

{% step %}

#### Confirm the account

The tile shows which Klaviyo account is connected and which scopes were granted. Check it is the right account — agencies with access to several will have been offered a choice.
{% endstep %}
{% endstepper %}

### What you get

The **Email & Lifecycle** section of Data Studio:

* **Campaign and flow revenue** — what one-off sends and automated flows brought in, separately. The split matters: flows earn continuously without new work, campaigns do not.
* **List growth** — subscribers gained and lost over the period.
* **Engagement** — opens, clicks and conversions per campaign and flow.

Email also appears in **Channel KPIs**, on its own row below the totals line, deliberately excluded from the totals — email buys no media, so folding its revenue into the paid channels would change what every total in that table means.

Weekly email activity feeds the **Marketing Mix Model** as a baseline control. Email is not a media channel in the model, but how much email went out genuinely drives the baseline, and the model is more accurate for knowing it.

### Reading the numbers

{% hint style="warning" %}
**Klaviyo's attributed revenue is not last-click revenue.** Klaviyo credits an order to an email if the customer opened or clicked within its attribution window — five days after a click and one day after an open, by default. Someone who clicks an email, leaves, then returns through a paid ad and buys is counted by Klaviyo *and* by the ad platform. AdPage measures last-click, so its email revenue will be lower.
{% endhint %}

**Flow revenue accumulates.** A flow running for two years keeps earning from work done once. Comparing a flow's revenue to a campaign's is comparing a stock to a flow — useful, but not a like-for-like ranking.

**Open rates are unreliable.** Apple Mail Privacy Protection pre-loads images and inflates opens unpredictably. Klaviyo reports them, so AdPage shows them, but steer on clicks and revenue.

**SMS and email are separate.** Where you use both, read them separately — their costs and consent rules are nothing alike.

### Troubleshooting

**The approval will not complete.** The Klaviyo user does not have a role permitted to authorise integrations. Ask an Owner or Admin to do it.

**The wrong account is connected.** Disconnect in the tile and reconnect, choosing the right account at Klaviyo.

**Revenue is lower than Klaviyo reports.** Expected — see the warning above. Both numbers are correct under their own definition.

**Campaigns appear but flows do not.** The `flows:read` scope was not granted, which happens when a partial approval is completed. Reconnect and approve the full set.

{% hint style="warning" %}
**Klaviyo is not covered by the daily connection check**, so a broken connection does not email you. If email revenue stops appearing, check the tile.
{% endhint %}

Still stuck? Contact <support@adpage.io> with the container, the Klaviyo account and the period.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.adpage.io/data-and-insights/marketing-integrations/klaviyo.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
