> ## Documentation Index
> Fetch the complete documentation index at: https://storekit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Connecting Klaviyo

> Create the Klaviyo private and public API keys storekit needs, connect your account, then choose a list, add the site ID and switch Klaviyo on for each store.

Connecting takes one private key for the account and a public key plus list for each store. Allow ten minutes for the first store and a couple for each one after.

<Note>
  This guide connects your ordering website and order events. To connect your branded iOS or Android app too, contact storekit support. See [Native Apps](/docs/guides/integrations/marketing/klaviyo/native-apps) for what you can expect in Klaviyo.
</Note>

## Before You Start

You need two keys from Klaviyo. In Klaviyo go to **Settings** → **API Keys**:

* **Private API key** (starts with `pk_`). Create one with these scopes, or the connection fails with *Invalid Private Klaviyo API key*:
  * **Lists** — Read
  * **Events** — Write
  * **Profiles** — Write
  * **Subscriptions** — Write
  * **Catalogs** — Read/Write, if you plan to use [menu catalog sync](/docs/guides/integrations/marketing/klaviyo/catalog-sync)
* **Public API key / Site ID** — a short six-character code shown at the top of the same page.

Also decide which Klaviyo list new subscribers should join. Create it in Klaviyo first if you have not already.

## Connect Your Account

<Steps>
  <Step title="Open Klaviyo for a store">
    In storekit, go to **Stores** → your store → **Settings** → **Integrations** → **Klaviyo**.
  </Step>

  <Step title="Connect your account">
    Under **Klaviyo account**, click **Edit**. Paste the private key into **Private key** and click **Connect**. storekit checks the key with Klaviyo and shows **Connected · ends in** followed by the key's last four characters.
  </Step>

  <Step title="Choose a list and add the public key">
    Under **This store**, click **Edit**. Pick the list customers should join under **Subscriber list**, and paste your public key into **Public key / site ID**.
  </Step>

  <Step title="Turn on and save">
    Switch **Enable Klaviyo** on in the header, then click **Save** in the bar at the bottom of the page. Orders from this store now appear in Klaviyo.
  </Step>
</Steps>

<Warning>
  Connecting switches Klaviyo on for **every store in your account**. Each store has its own **Enable Klaviyo** switch in the header of its Klaviyo page, and it starts switched on. Switch it off and click **Save** on any store you do not want sending orders to Klaviyo.
</Warning>

## Set Up Each Additional Store

The **Private key** under **Klaviyo account** shows **Connected · ends in** plus the key's last four characters on every store, but **Subscriber list** and **Public key / site ID** are saved per store. On each store you want covered, open **Stores** → the store → **Settings** → **Integrations** → **Klaviyo**. The **Finish setup** checklist tracks the four steps: **Connect your Klaviyo account (private key)**, **Add this store's public key / site ID**, **Choose a subscriber list** and **Turn on**. Under **This store**, click **Edit**, choose a list, enter the public key, then switch **Enable Klaviyo** on in the header and click **Save**.

What each store sends depends on what is filled in:

| Store setting | What Klaviyo receives |
| - | - |
| **Enable Klaviyo** switch on | Placed Order, Ordered Product, Fulfilled Order, Canceled Order, Refunded Order, and the review events |
| **Public key / site ID** filled in | Viewed Product, Added to Cart, Started Checkout, and customers are identified at checkout |
| **Subscriber list** chosen | Customers who opt in are subscribed to that list |
| **Enable Klaviyo** switch off | Nothing, whatever else is filled in |

A store with no public key still sends every order, but its abandoned checkout and browse abandonment flows stay empty.

<Tip>
  Every store shares one Klaviyo account, so all stores' events land on the same profiles. Every order and review event carries `VenueName` and `VenueSlug` (browser events carry `VenueSlug` only, and **Viewed Product** carries neither), so you can still branch flows or build segments per store — see [multi-store flows](/docs/guides/integrations/marketing/klaviyo/flows#multi-store-accounts).
</Tip>

## Check Which Stores Are Connected

There is no single screen that lists every store's Klaviyo status — check one store at a time:

1. Go to **Stores** and click the store
2. Click **Settings**
3. Find **Klaviyo** in the integrations list at the bottom of the page (the **Marketing** filter narrows the list)
4. Click **Klaviyo** and read the status badge in the page header:
   * **Connected** — this store sends orders, browser events and list sign-ups
   * **Needs attention** — something is missing. The subtitle says what: *"Browser events only: connect your Klaviyo account to send orders and sign-ups"* means the account has no private key (orders and sign-ups are not sent); *"No browser events: add this store's public key / site ID"* means this store has no public key (no browser events are sent)
   * **Disabled** — the store's **Enable Klaviyo** switch is off (*"Klaviyo is set up but turned off"*)
   * **Not connected** — neither a private key on the account nor a public key on this store
5. Check the group summaries: under **Klaviyo account**, **Connected · ends in** means the account key is set; under **This store**, check the **Public key / site ID** and the chosen **Subscriber list**

## Next Steps

<CardGroup cols={2}>
  <Card title="Marketing Consent" icon="envelope-open-text" href="/docs/guides/integrations/marketing/klaviyo/marketing-consent">
    Turn on the opt-in box so customers can join your list
  </Card>

  <Card title="Sync Past Orders" icon="clock-rotate-left" href="/docs/guides/integrations/marketing/klaviyo/historical-sync">
    Backfill order history into your new connection
  </Card>
</CardGroup>


## Related topics

- [Klaviyo](/docs/guides/integrations/marketing/klaviyo/overview.md)
- [Troubleshooting Klaviyo](/docs/guides/integrations/marketing/klaviyo/troubleshooting.md)
- [Sync Past Orders to Klaviyo](/docs/guides/integrations/marketing/klaviyo/historical-sync.md)
- [Klaviyo for Native Apps](/docs/guides/integrations/marketing/klaviyo/native-apps.md)
- [Klaviyo Event Reference](/docs/guides/integrations/marketing/klaviyo/event-reference.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.