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

# Klaviyo Integration

How to Use Klaviyo Segments to Target Visitors in an Intelligems Test or Personalization

## What you can do with Klaviyo

Use a **Klaviyo segment** (like VIP customers) to control **who sees a specific Test or Personalization** in Intelligems.

### How it Works

1. When a visitor has a Klaviyo cookie (`_kx`), we use it to ask Klaviyo which segments the visitor belongs to.
2. If Klaviyo is able to identify the visitor (i.e. they completed a signup flow, clicked through an email/sms, returned to a site from a browser they previously made a purchase, etc.) then so is Intelligems.

{% hint style="info" %}
If Klaviyo can't identify the visitor, or the segment lookup fails, we treat them as not in any segment. With an "equals" condition they won't enter the experience. With a "does not equal" condition they will.
{% endhint %}

### Common Use Cases

* **Past purchasers** (e.g., a Klaviyo "Customers" segment). Intelligems doesn't natively have access to Shopify purchase history, so a Klaviyo segment is how you target shoppers who've bought before. Check how load timing affects what shoppers see before using it for price or content changes.
* **VIP** and **Loyalty** customers
* **Email subscribers** or segment-specific cohorts (e.g., cart abandoners, active shoppers)

### How load timing affects what shoppers see

We look up a visitor's Klaviyo segments using the Klaviyo cookie. That lookup can finish after the page has started loading, so the shopper may see your default storefront for a moment before the experience applies. How much that matters depends on what your experience changes.

| What your experience changes                                                     | What the shopper may see                                                                                                  | Our recommendation                                                                                                                                   |
| -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Adds something new for a segment (a banner, badge, or signup reminder)           | The new element appears a moment after the page loads. Nothing on the page swaps.                                         | Best fit for Klaviyo targeting.                                                                                                                      |
| Changes or hides something already on the page (hero copy, a nav link, a pop-up) | The original content shows first, then swaps or disappears.                                                               | Use it only if a brief swap is acceptable. Avoid it when shoppers shouldn't see the original at all, like a sale you're hiding from past purchasers. |
| A price test that includes or excludes a segment                                 | A different price can show briefly before the correct one.                                                                | Decide whether a brief price change is acceptable for your shoppers.                                                                                 |
| An offer for a specific segment                                                  | No flicker. If the lookup fails, shoppers in the segment won't get the offer.                                             | Avoid it when missing eligible shoppers is costly.                                                                                                   |
| An offer that excludes a segment                                                 | No flicker. If the lookup fails, excluded shoppers can still get the offer.                                               | Don't rely on it for offers that must stay restricted, like wholesale pricing or offers for non-subscribers.                                         |
| A theme, template, or URL redirect                                               | On the shopper's first page view, the redirect doesn't fire. They see the default page but are counted in the test group. | Don't use Klaviyo targeting for these experiences for now.                                                                                           |

{% hint style="info" %}
For the most reliable results, build experiences that add content for a segment. If the segment loads late, the shopper sees the page as it normally looks, then the new content appears.
{% endhint %}

### Why This is Better Targeting Than Using UTMs

1. **Does not require clickthrough** - They do *not* have to click through a Klaviyo email in order for this targeting to work, it’s based on their cookies (which could have been previously set).
2. **Cross-device segment targeting** - If the visitor later opens up a Klaviyo email on a *different* device and/or visits the website and logs in, we will now have the ability to target the new browser/device (cookie) and can serve up cross-device experiences. Each device receives a new `igId`, but experiences remain consistent through Klaviyo segment membership, not a shared ID.

### Prerequisites

* Intelligems is installed on your store
* Klaviyo is installed and set up. [Install here](https://app.intelligems.io/integrations).
* You have at least one **Klaviyo segment** (e.g. “VIP”)<br>

### Step 1: Connect Klaviyo to Intelligems

1. In Intelligems, on the left navigation, click on **Integrations**
2. Find **Klaviyo** under Analytics
3. Click **Sign in with Klaviyo**
4. Log in if prompted
5. Approve permissions (profiles + segments)
6. Confirm Klaviyo shows as **Active** in the Intelligems integrations page.

### Step 2: Confirm Your Segment in Klaviyo

1. Open Klaviyo
2. Go to **Lists & Segments**
3. Confirm the **Segment** you want to target (e.g. **VIP**) exists

{% hint style="info" %}
We can only identify visitors in **Segments.**\
We *cannot* identify visitors in Lists or using Profile Tags.
{% endhint %}

4. *Optional* Send yourself an email so your profile is tagged with that Segment

{% hint style="success" %}
We recommend you star/favorite **Segments** inside of Klaviyo that are active in a Test or Personalization
{% endhint %}

### Step 3: Apply the Segment to a Test or Personalization

1. Create a **Test** or **Personalization** in Intelligems
2. Go to the [**Targeting**](/general-features/targeting/audience-targeting.md) tab
3. Select **Custom**
4. In the **Targeting type** dropdown, select **Klaviyo Segment**

<figure><img src="https://2052204893-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2SvefuMLsJyJPAcVXeWc%2Fuploads%2FzRez9ZG8rfG7p96ibZZ3%2FScreenshot%202026-02-02%20at%2011.58.17%E2%80%AFAM.png?alt=media&amp;token=011bbe00-e18a-4430-818a-8fe43ce53936" alt=""><figcaption></figcaption></figure>

5. Add a condition **Klaviyo segment equals `VIP`**

{% hint style="info" %}
To add multiple Segments, use the +Or Condition and +AND Condition option
{% endhint %}

6. Click **Save**

{% hint style="warning" %}
For Tests, use **Advanced**, not Custom Targeting, if you want to avoid default assignment.\
Otherwise, users may get a default variation first and never switch when the segment is detected.
{% endhint %}

### Step 4: Verify It’s Working

1. Open the Klaviyo email you sent
2. Click the link to your store
3. Watch the URL — you should see a Klaviyo cookie parameter
4. The page may load the default first, then update
5. Confirm the correct experience appears (e.g. your personalized discount appears)

### Result

Users in the targeted Klaviyo segment see the intended Intelligems variation automatically 🎯

### FAQs

<details>

<summary><strong>Does Intelligems receive customer profile data from Klaviyo?</strong></summary>

No. Only segment membership is resolved via exchange ID.

</details>

<details>

<summary><strong>Is segment membership evaluated in real time?</strong></summary>

Segment membership is resolved on visit and cached for up to 1 hour.

</details>

<details>

<summary><strong>Does this work across devices?</strong></summary>

Yes, if the visitor clicks a Klaviyo link on each device or logs into that store. Each visitor receives a new `igId` on each device, but experiences remain consistent because targeting is based on Klaviyo segment membership, not a shared ID. If Klaviyo is able to identify the visitor, then so is Intelligems.

</details>

<details>

<summary><strong>Does this work with Klaviyo lists?</strong></summary>

No, this is only for Segments.

</details>

<details>

<summary><strong>Does this read Klaviyo profile tags?</strong></summary>

No, this is only for Segments.

</details>

### Additional questions about the Klaviyo Integration?

[See Klaviyo API documentation](https://developers.klaviyo.com/en/reference/segments_api_overview) or [email us](https://portal.usepylon.com/intelligems/forms/intelligems-support-request).


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.intelligems.io/integrations/analytics-and-data-platforms/klaviyo-integration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
