Klaviyo

Your subscribers and their orders go to Klaviyo, in one account or one per market, with SMS and browsing and checkout events if you want.

In the admin Settings › Apps and sales channels › Klaviyo

Open Settings › Apps and sales channels and choose Connect beside Klaviyo.

Connecting

  1. In Klaviyo, open Settings › API keys and create a private API key with full access to Lists, Profiles, Subscriptions and Events, and to Data privacy. Read access to Accounts lets the page show which Klaviyo account the key opens and its currency.
  2. In Klaviyo, open the list your subscribers should join, and copy its List ID from its settings.
  3. In Storeloom, paste the Private API key and the List ID, then Apply in the bar at the top. The bar says what is missing until both look right.

The key is never shown again: the page says only how it ends. To change it, paste a new one.

What is sent

  • Customers who agreed to your marketing emails join the list, with when they agreed. Where you ask for double opt-in (Settings › Customer privacy), they join only once they confirmed, and Klaviyo does not ask them again.
  • Customers who unsubscribe, by an email’s link or on their customer page in the admin, leave the list.
  • Their orders placed after you connect, test orders aside, go to Klaviyo as Placed Order, once each, with the products and the total without the tip, and each line as Ordered Product, for your flows and segments there.
  • What happens to those orders afterwards follows: Fulfilled Order once an order is fully shipped, Cancelled Order when it is cancelled, Refunded Order when it is fully refunded. Only for orders Klaviyo got as Placed Order, and to the account that got them: an order cancelled before it was sent is never told as cancelled. A change made while an order waited to be sent goes with its Placed Order.
  • A customer whose data you erase (Customer privacy) is deleted from Klaviyo too: from the list, and from every account their orders went to.
  • Nothing is sent about anyone who did not agree, unless you tick Send every buyer’s orders (below). With Send SMS subscribers and Send browsing and checkout events (below), more goes, each only with the shopper’s consent.

Each order event says where it was sold: its market, the delivery country and the shop’s language, so the orders of several markets stay apart in one Klaviyo account.

Every buyer’s orders

Tick Send every buyer’s orders, not only subscribers' to send the orders of buyers who did not subscribe too, as Klaviyo’s own shop integrations do. They are never added to your list and their consent is not changed: Klaviyo keeps them as profiles with their orders, which your flows there can use only as your Klaviyo settings and the law allow. Orders placed after you tick it are sent. Then the order data of all your buyers goes to Klaviyo: name Klaviyo in your privacy notice as a processor.

SMS subscribers

Tick Send SMS subscribers to send the customers who agreed to your texts with their phone number, subscribed to SMS in Klaviyo with when they agreed. Set up SMS in Klaviyo for their countries first.

  • Customers who agreed only to texts, not to emails, join for SMS alone, by their number: their email address is not sent with it, so it never joins your list and your email campaigns never reach them.
  • A number written without its country code gets the code of the customer’s own country (their default address, else their newest order’s delivery, else their market’s one country), with that country’s own trunk prefix dropped: 0888 123 456 in Bulgaria, 06 30 123 4567 in Hungary, 8 612 34567 in Lithuania; Italy keeps its 0. Your store’s country is never used: a customer with none of these gets no texts at a number written without its +. A code typed without its + (359 888 123 456) and a 0 typed after the code (+359 0888 …) are read too, and digits typed in any script count as the digits they are. Every number must have its country’s number of digits: one that cannot be made whole is not sent. A number typed without its + for a country whose numbers vary in length (Germany or Austria, for example) can still belong to another country: ask customers for their number with its +.
  • A number Klaviyo turns down is left out, and everything else goes on: that customer’s emails and orders, and everyone else’s numbers. The page counts such numbers and shows Klaviyo’s words; a number is tried again once it changes. While texts are on, up to 100 customers join a sync, so a Klaviyo account that turns every number down is asked a few hundred times at most, and each refusal is kept as soon as it comes. Only a refused key, or a list Klaviyo no longer has, stops the connection.
  • One who stops agreeing to texts is unsubscribed from SMS; one who stops emails but keeps texts stays for SMS. A changed number is unsubscribed and the new one subscribed.
  • Unticking Send SMS subscribers sends no new numbers, and leaves the numbers already sent subscribed in Klaviyo. A customer who stops agreeing to texts, or changes their number, is still unsubscribed there.
  • A customer known only by their number is deleted from Klaviyo by it when you erase their data, also after they stopped agreeing to texts.

Browsing and checkout events

Tick Send browsing and checkout events for Klaviyo’s own browse, cart and checkout flows: Viewed Product, Added to Cart and Started Checkout go to Klaviyo from our servers, as its shop integrations send them. Your storefront runs no Klaviyo script.

  • Started Checkout goes for a checkout where the shopper gave their email, once for each cart, with what is in the cart at the prices they saw, each product’s link and picture, and a link back to the cart, only for a shopper who agreed to your marketing emails at the checkout or is a subscribed customer, never to an address that unsubscribed. Where you ask for double opt-in, a box ticked at the checkout counts once the shopper confirmed. This holds even when your own reminders go to every shopper who entered an email: Klaviyo gets a checkout only with consent. Checkouts reached after you tick it are sent.
  • Viewed Product (with the product’s link, picture and lowest price in the shopper’s market) and Added to Cart (with the line’s link, picture and price) go only for a shopper the store knows by email (their cart remembers it from a checkout or an order) who agreed to your marketing, as for Started Checkout, and only once they accepted Klaviyo in your cookie banner, which then names it in the markets where these events are on. A signed-in shopper who has not yet reached a checkout is not known this way.
  • An event Klaviyo turns down is left out and the connection goes on; the page counts such events since you last saved the connection, with Klaviyo’s words for the latest, so a steady refusal never goes unseen.
  • Product pictures go at an email’s width, not the size they were uploaded at.
  • Storeloom’s own abandoned checkout and browse reminders keep working. With both on, a shopper can get a reminder from your store and one from your Klaviyo flows: the page says so, with the way to your store’s reminders. Keep both, or switch one off.
  • A shopper who is no customer yet is kept by their address, so that erasing a customer with it later deletes their Klaviyo profile too. To erase a guest who never became a customer, add them as a customer and delete them.
  • Name Klaviyo in your privacy notice and cookie policy: what these shoppers look at and leave in their cart goes to it.

A Klaviyo account per market

When you sell in several markets with a Klaviyo account for each, open Accounts by market on the Klaviyo page and connect each market’s account (its own key and list); the store-wide account above takes the markets with none.

  • A subscriber goes to the account of the market where they last agreed to your emails (the sign-up form, the checkout or their account), else of the market of their newest order. They stay with the account they joined first, so connect the markets' accounts before the store-wide one starts sending.
  • An order, and what happens to it afterwards, goes to the account of the market it was placed in.
  • The page shows the Klaviyo account each key opens, by its name and public key (the one your old shop’s Klaviyo script used), so you can check each market has the right one. If its currency is not the market’s, it says so: Klaviyo would convert every order.
  • For each market’s products in its Klaviyo account, use the Klaviyo feed link with that market’s country (Settings › Product feeds).
  • A market’s account that is switched off (Send subscribers and orders unticked) or refused by Klaviyo keeps its market: nothing of that market goes to any Klaviyo account until it is on again. To send the market to the store-wide account instead, disconnect the market’s account.
  • Removing a market removes its Klaviyo connection; its subscribers already in that account stay there.

Storeloom checks every few minutes; Sync now asks at once.

Your products in Klaviyo

For product blocks and recommendations in your Klaviyo emails, add your Klaviyo product feed as a custom catalogue: copy its link in Settings › Product feeds and follow the steps there. Abandoned checkout and browse reminders are sent by Storeloom itself (Emails); with Send browsing and checkout events on, your Klaviyo flows can send them too.

How it stands

  • Waiting for the first sync: just connected or changed.
  • In step: the last check sent everything that had changed. The page says how many subscribers are on the list and when it was last in step.
  • Refused by Klaviyo: Klaviyo turned the key or the list down, in its own words below. Nothing is sent until you save the key and list again.

Untick Send subscribers and orders to stop sending without disconnecting. Disconnect asks first, then deletes the key and stops sending; what Klaviyo already has stays there.

Who can connect it

Klaviyo receives your customers and their orders, so connecting it, changing its key or list and syncing it need a role that may see and export customers and orders, and change the store’s settings: owners and admins, or a store’s own role with those permissions. Others see the page without being able to change it.