> ## 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.

# Klaviyo

> Send real-time storekit customer and order data to Klaviyo for email and SMS marketing automation. Power abandoned cart, win-back, and post-order flows.

Klaviyo is an email and SMS marketing platform designed for e-commerce. The storekit integration sends real-time customer behaviour and order data to power your marketing campaigns.

## Setup

1. Log in to your Klaviyo account
2. Go to **Settings** → **API Keys**
3. Copy your **Public API Key** (starts with `pk_`)
4. In storekit, go to **Settings** → **Integrations**
5. Paste your Klaviyo Public API Key
6. Save changes

## Tracked Events

The integration automatically tracks customer behaviour on your store:

### Active on Site

Triggered when a customer visits your store.

| Property    | Description              |
| ----------- | ------------------------ |
| `AccountId` | Your storekit account ID |
| `VenueId`   | Store ID                 |
| `VenueSlug` | Store URL slug           |

### Viewed Product

Triggered when a customer views a product.

| Property       | Description       |
| -------------- | ----------------- |
| `ProductId`    | Product ID        |
| `ProductName`  | Product name      |
| `ProductPrice` | Product price     |
| `ProductImage` | Product image URL |

### Added to Cart

Triggered when a customer adds an item to their cart.

| Property       | Description       |
| -------------- | ----------------- |
| `ProductId`    | Product ID        |
| `ProductName`  | Product name      |
| `ProductPrice` | Product price     |
| `ProductImage` | Product image URL |

### Started Checkout

Triggered when a customer begins the checkout process.

| Property   | Description         |
| ---------- | ------------------- |
| `Currency` | Order currency code |
| `Value`    | Cart total value    |

## Customer Identification

When a customer enters their email at checkout, they are automatically identified in Klaviyo. This links their browsing behaviour to their profile.

## Order Data

When an order is completed, storekit sends complete order data to Klaviyo including:

* Customer details (name, email, phone)
* Order items and quantities
* Order total and discounts
* Fulfillment method
* Marketing consent status

### Placed Order

Triggered once when an order is completed.

| Property  | Description            |
| --------- | ---------------------- |
| `OrderId` | Unique order ID        |
| `Value`   | Order total            |
| `Items`   | Array of ordered items |

### Ordered Product

Triggered once per line item when an order is completed. Use this event to build product-level flows such as reorder reminders and cross-sell campaigns.

| Property         | Description                                                                  |
| ---------------- | ---------------------------------------------------------------------------- |
| `OrderId`        | Unique order ID                                                              |
| `ProductID`      | Product ID                                                                   |
| `PLU`            | Product PLU code                                                             |
| `ProductName`    | Product name                                                                 |
| `Quantity`       | Quantity ordered                                                             |
| `ItemPrice`      | Unit price (excluding modifiers)                                             |
| `BaseTotal`      | Unit price × quantity                                                        |
| `ModifiersTotal` | Total modifier cost × quantity                                               |
| `Modifiers`      | Array of modifier details (ID, name, price, PLU, quantity, charged quantity) |
| `value`          | Row total including modifiers                                                |

## Use Cases

### Abandoned Cart Emails

Create flows triggered by "Started Checkout" without a subsequent order:

1. In Klaviyo, create a new Flow
2. Set trigger to "Started Checkout"
3. Add a time delay (e.g., 1 hour)
4. Add condition: has not "Placed Order" since starting flow
5. Send recovery email with cart contents

### Browse Abandonment

Re-engage customers who viewed products but didn't purchase:

1. Create flow triggered by "Viewed Product"
2. Add time delay
3. Exclude customers who placed an order
4. Send personalised product recommendations

### Post-Purchase Campaigns

* Thank you emails
* Review requests
* Reorder reminders
* Cross-sell recommendations

### Customer Segmentation

Build segments based on:

* Purchase frequency
* Average order value
* Product categories purchased
* Time since last order

## Related

<CardGroup cols={2}>
  <Card title="Customer Data" icon="users" href="/guides/marketing/customer-data">
    View and export customer data
  </Card>

  <Card title="Customer Feedback" icon="star" href="/guides/marketing/customer-feedback">
    Collect customer reviews
  </Card>
</CardGroup>
