For the complete documentation index, see llms.txt. This page is also available as Markdown.

Klaviyo

Sync Flow Retail customers and their marketing consents with Klaviyo.

Klaviyo sync keeps your Flow Retail customers and Klaviyo profiles in step, including marketing consent for email and SMS.


What is Klaviyo?

Klaviyo is a marketing automation platform and customer data platform. You use it to send email and SMS campaigns to customer profiles it stores.


How does it work?

The integration syncs in three ways.

Flow Retail → Klaviyo. When a customer is created or changed in Flow Retail, their Klaviyo profile is created or updated. This runs in the background, so saving a customer never waits for Klaviyo or fails because of it. The profile gets:

  • Name, email, mobile and company name

  • Address, city, postal code and country

  • Customer type, VAT number, loyalty ID, customer groups and default store, as custom properties

When a mapped consent changes, the customer is subscribed to or unsubscribed from the matching Klaviyo channel.

Klaviyo → Flow Retail, as it happens. When someone subscribes or unsubscribes in Klaviyo, the change is recorded as a consent on the Flow Retail customer. This part is optional and needs a webhook (see step 5).

Klaviyo → Flow Retail, every night. At 04:00, Klaviyo profiles are imported:

  • A profile that matches an existing customer updates that customer's consents where they differ.

  • A profile with no match becomes a new customer, if it has a first name, a last name, and an email or mobile. Other profiles are skipped.

  • Profiles that were never subscribed, or are waiting for double opt-in, don't count as a "no". Flow Retail records only explicit choices.

Consent sync only works for the channels you map in step 4. With no consents mapped, only profile data syncs.


Before you start

  • A Klaviyo account.

  • The Klaviyo extension enabled for you. Contact Flow Retail support to have it added.

  • A consent in Flow Retail for each Klaviyo channel you want to sync: email marketing, SMS marketing and SMS transactional.


Set up Klaviyo step by step

1

Create a private API key in Klaviyo

In Klaviyo, create a private API key with access to profiles and subscriptions.

2

Open the extension

Go to Admin → Settings → Extensions and select Klaviyo.

3

Add the API key

Paste the key into Klaviyo Private API Key. Make sure Active is switched on.

4

Map your consents

Choose a Flow Retail consent for each channel you want to sync:

  • Consent UID for email marketing

  • Consent UID for SMS marketing

  • Consent UID for SMS transactional

Each consent can be used for one channel only. Missing a consent? Create it under Admin → Settings → Consents → New Consent.

Leave Klaviyo Profiles Reverse-Sync Cursor as it is — the nightly import manages it. Select Save.

5

To get subscribes and unsubscribes from Klaviyo straight away, rather than overnight, create a webhook in Klaviyo for subscription events. Point it to:

Paste the webhook's signing secret into Klaviyo Webhook Signing Secret. It must be at least 16 characters. Without it, Flow Retail ignores the webhook.

Klaviyo webhooks require a Klaviyo plan that includes them. Contact Flow Retail support if you need your tenant ID.


Good to know

  • Two customers, one email. Each Flow Retail customer gets their own Klaviyo profile, even if two customers share an email address.

  • Only the right contact gets a channel. Customers without an email aren't subscribed to email marketing, and customers without a mobile aren't subscribed to SMS.

  • Imported customers are marked. Customers created by the nightly import have Klaviyo as their origin.

Last updated 24.09.2026

Was this helpful?