Skip to main content
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

Klaviyo uses two keys, and storekit saves them in different places: the private key on your storekit account, the public key on the individual store.
  1. Log in to your Klaviyo account
  2. Go to SettingsAPI Keys
  3. Copy your private API key (it starts with pk_) and your public API key / site ID (a short code such as aBcXyz)
  4. In storekit, go to Stores → your store → SettingsIntegrationsKlaviyo
  5. Paste the private key into Private API Key and click Connect to Klaviyo
  6. Paste the public key into Public API Key / site ID
  7. Optionally choose a Klaviyo list under Lists
  8. Click Save

Scope: One Store at a Time

The Klaviyo Integration page always belongs to one store, even though part of what you enter on it is shared:
  • Private API Key is saved on your storekit account. You enter it once, on any store, and every store in the account can then use it. The field shows Connected on every store afterwards.
  • Connecting also switches Klaviyo on for every store in the account: each store gets its own Enabled / Disabled toggle, and that toggle starts out Enabled. This is why order data can appear in Klaviyo for stores you never opened.
  • Public API Key / site ID and Lists are saved on the single store you are editing. They are not copied to your other stores — repeat those steps on each store you want covered.
  • A store sends nothing at all while its toggle is set to Disabled, whatever keys are saved.
What each key controls: So a store with no Public API Key / site ID still sends order events, but sends no browsing events — abandoned cart and browse abandonment flows stay empty for that store.

Check Which Stores Are Connected

There is no single screen in the dashboard that lists every store’s integration status, and there is no account-level Klaviyo page — you check one store at a time:
  1. Go to Stores
  2. Click the store you want to check
  3. Click Settings
  4. Find Klaviyo in the integrations list at the bottom of the page (the Marketing filter narrows the list)
  5. Read the badge on the Klaviyo row: Connected means Klaviyo is switched on for this store; Account connected means your account holds a Klaviyo key but the integration is not switched on for this store
  6. Click Klaviyo and check whether Public API Key / site ID is filled in, to confirm the store also sends browsing events
  7. Repeat for every store
Run historical orders sync is account-wide, not per store: it sends past orders for every store in the account whose toggle is Enabled, and the completed status is shared, so it only runs once per account.

Tracked Events

The integration automatically tracks customer behaviour on your store:

Active on Site

Triggered when a customer visits your store. VenueId and VenueSlug identify the store an individual event came from. They do not mean every store is sending data — a store only appears in Klaviyo once it is set up as described in Scope: One Store at a Time.

Viewed Product

Triggered when a customer views a product.

Added to Cart

Triggered when a customer adds an item to their cart.

Started Checkout

Triggered when a customer begins the checkout process.

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.

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.

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

Customer Data

View and export customer data

Customer Feedback

Collect customer reviews