---
title: "Connect Klaviyo to Rig | Rig guide"
description: "Create a read-only Klaviyo private API key, grant the nine read scopes, and sync profiles, events, campaigns, flows and segments into your warehouse."
canonical: "https://rig.so/guides/connect-klaviyo"
format: markdown
---

Search guides, references, playbooks…⌘K

Browse guides

# Connect Klaviyo to Rig

Create one read-only private API key in Klaviyo and paste it into Rig. Profiles, events, campaigns, flows and segments then land in your warehouse, where you can join email performance to actual orders rather than to Klaviyo's own attribution.

Requirements

Access to Klaviyo account settings

Time required

5 mins

## Before you start

- Access to `Account` → `Settings` → `API Keys` in Klaviyo.
- By the end you will have one value to paste into Rig: a private API key beginning `pk_`.

## Create a private API key

1. In Klaviyo, go to `Account` → `Settings` → `API Keys`.
2. Click `Create Private API Key` and name it something you will recognise later, such as "Rig".
3. Grant the read scopes in the next section.
4. Create the key and copy the `pk_` value. Klaviyo shows it once.

Private, not public
Klaviyo also issues a public API key, the six-character site ID used in tracking snippets. That is not this. Rig needs the private key, which starts with `pk_`.

## Grant the read scopes

Klaviyo presents scopes as per-object toggles rather than a list you can paste, so set each of these to **Read**. Rig never writes, so no write scope is needed anywhere.

| Scope | What it unlocks in Rig |
| --- | --- |
| Profiles | Subscribers and their attributes, including custom properties |
| Events | Opens, clicks, orders and every other tracked event |
| Lists | Lists and who is on them |
| Segments | Segments and their membership |
| Campaigns | Campaign sends and their performance |
| Flows | Automated flows |
| Metrics | The metric definitions events are recorded against |
| Templates | Email templates |
| Catalogs | Catalog items, for product-level analysis |

A missing scope does not error, it just returns nothing
Rig syncs exactly what the key can read. Leave one off and that stream quietly stays empty, which usually surfaces weeks later as "why is there no flow data in Rig?". Grant all nine up front.

## Connect it in Rig

New to Rig? Watch how to find Connections

1. In Rig, open `Connections` and go to `Sources & actions`.
2. Search for **Klaviyo** and open the card.
3. **Private API key**: paste the `pk_` value.
4. Click `Test`, then `Sync`.

## What Rig pulls in

Klaviyo lands in its own `klaviyo` schema:

- **Profiles** and **events**
- **Lists** and **segments**
- **Campaigns** and **flows**
- **Metrics** and **catalog items**

## Good to know

- **Custom properties land as a single JSON column**. Klaviyo lets every brand define its own profile and event properties, and unpacking them into columns produces dozens of sparse child tables that break whenever a new property appears. Rig keeps them intact in one column instead, which stays queryable and does not fall over when your team adds a survey field.
- **The first event sync is the long one**. Event history is typically the largest table a brand has, and Klaviyo's rate limit depends on your plan, roughly 60 requests a minute on smaller plans and several hundred on larger ones. Expect the first run to take hours rather than minutes, and to be much quicker after that.
- **Metrics and catalog items refresh in full** on every sync, because Klaviyo offers no way to filter them by date. They are small, so this is cheap.

## Troubleshooting

- **Authentication fails immediately**: check you pasted the private key and not the public site ID, and that you copied the whole `pk_` string.
- **One stream is empty and the rest are fine**: that scope was not granted. Edit the key in Klaviyo, add the missing read scope, and sync again. The key itself does not change.
- **The sync is slow**: this is usually your plan's rate limit rather than a problem. Larger Klaviyo plans allow a higher request rate.

## What people use this for

- Measure campaign and flow revenue
- Track list growth and engagement
- Analyse deliverability, open and click rates
- Compare revenue per recipient

[More ideas for using Klaviyo](https://rig.so/integrations/klaviyo)

Was this guide helpful?

Yes No

---

- [This page as HTML](https://rig.so/guides/connect-klaviyo)
- [Site map for language models](https://rig.so/llms.txt)
- [API and agent documentation](https://rig.so/developers)
