Skip to content

Klaviyo Integration ​

Connect your own Klaviyo account and send wishlist activity to it as events, so you can trigger flows, build segments, and run campaigns from what your shoppers save.


Overview ​

When a customer saves a product to their wishlist - or removes one - BRIX: Wishlist Plus sends that action to your Klaviyo account as a metric (an event). Once those events start arriving, you can use them in Klaviyo exactly like any other metric: as a flow trigger, as a segment condition, or as data inside an email or SMS template.

The integration uses your Klaviyo account and your private API key. Nothing is sent until you connect a key, and you can pause or disconnect at any time.


Benefits ​

  • Turn saved products into marketing: send a reminder, a discount, or a "still thinking about it?" email based on what a customer wishlisted
  • Build segments of customers who saved a specific product, collection, or price range
  • Use real product data (name, price, image, product link) directly in your Klaviyo templates
  • Works in near real time - events are delivered in the background, so wishlist actions on your storefront are never slowed down

Where to Find It ​

Apps → BRIX: Wishlist Plus → Settings → Integrations tab → Klaviyo → Customize


Before You Start ​

You need a Klaviyo account and a private API key from it.

  1. Log in to Klaviyo.
  2. Go to Settings → API keys (direct link: klaviyo.com/settings/account/api-keys).
  3. Click Create Private API Key.
  4. Give it a name you'll recognize later, for example BRIX Wishlist Plus.
  5. Give the key these access scopes:
ScopeAccessWhy it's needed
EventsWriteTo create the wishlist events in your account
ProfilesWriteTo attach each event to the right customer profile
AccountsReadTo show your Klaviyo account name on the connection card
  1. Copy the key (it starts with pk_). Klaviyo shows it only once.

The Accounts: Read scope is optional. If it's missing, the key still works and events still send - you'll just see a message saying your account name can't be displayed.


How to Use ​

Connect Klaviyo ​

  1. Open the app and go to Settings → Integrations tab → Klaviyo.
  2. Paste your private API key into the Private API key field.
  3. Click Connect Klaviyo.

The app verifies the key against Klaviyo before saving it. If the key is wrong or revoked, you'll see an error and nothing is saved. On success the card shows your Klaviyo account name, and syncing is switched on automatically - you don't need to flip a second switch.

Confirm events are arriving ​

  1. As a logged-in test customer on your storefront, save a product to the wishlist.
  2. In Klaviyo, open that customer's profile (or Analytics → Metrics) and look for Added to Wishlist.

Events usually appear within a few moments. If nothing arrives, see Troubleshooting below.

Build a flow from wishlist activity ​

  1. In Klaviyo, go to Flows → Create Flow → Build Your Own.
  2. Choose Metric as the trigger, and pick Added to Wishlist.
  3. Add a time delay (a wait of 1-3 days works well for a reminder).
  4. Add your email or SMS, using the event properties (ProductName, ImageURL, ProductURL, Price) to show the exact product the customer saved.

Klaviyo's own guide: Getting started with flows.


Events Sent to Klaviyo ​

Metric name in KlaviyoSent when
Added to WishlistA customer saves a product to their wishlist
Removed from WishlistA customer removes a saved product - either from the wishlist page or by tapping the heart icon again

Each event carries these properties, which you can use in flow filters, segment conditions, and template tags:

PropertyExample / meaning
ProductIDThe Shopify product identifier
ProductNameThe product title
PriceThe product price as a number
CurrencyThe currency code, e.g. USD
ImageURLThe product image, for use in templates
ProductURLA direct link back to the product page
VariantThe specific variant saved, when one applies
WishlistNameThe name of the list it was saved to (relevant with Multiple Wishlists)

Properties with no value are left out of the event rather than sent empty, so your templates won't show blank fields.

Metric names are permanent. Once you build a flow on Added to Wishlist, that exact name is what your flow listens for. The app will not rename these metrics.


Available Settings ​

SettingDescriptionDefault
Private API keyThe Klaviyo key the app uses to send events. Shown masked once saved; use Replace to swap itNot set
Sync wishlist eventsMaster on/off switch. Off means nothing is sent, but your key stays savedOn after connecting
Added to WishlistPer-event switch for product savesOn
Removed from WishlistPer-event switch for product removalsOn
Test connectionRe-checks your saved key against Klaviyo and updates the "Key verified" timestamp-
DisconnectRemoves the connection and the stored key from the app-

Sync health ​

The Sync health card gives you three at-a-glance checks:

RowWhat it tells you
Key verifiedWhen your key was last confirmed working with Klaviyo
Last event deliveredWhen Klaviyo last accepted an event from your store
Last sync failed / No errors reportedThe most recent delivery error, if there was one, with the time it happened

Use Test connection any time you want to re-check the key without waiting for a customer action.


Best Practices ​

  • Test with a real logged-in customer account before building flows, so you can see the exact property values your templates will receive.
  • Wait 1-3 days before your first reminder email. Sending the instant a product is saved tends to feel intrusive and converts worse than a short delay.
  • Filter your flow on Price if you want to treat high-value saves differently from low-value ones.
  • Use Removed from Wishlist as a flow exit condition, so a customer who removed the item doesn't keep receiving reminders about it.
  • Pause instead of disconnecting if you only want to stop sending temporarily - switch Sync wishlist events off and your key stays saved.
  • Rotate keys deliberately. Replacing your key immediately stops events sent with the old one.

Notes ​

  • Logged-in customers only. Events are sent only for customers the app can identify by email. Guest wishlist activity has no email address attached, so there is no Klaviyo profile to record it against and nothing is sent. Guests who later log in will generate events from that point on.
  • Delivery is in the background. Wishlist actions on your storefront never wait on Klaviyo. If Klaviyo is slow or unreachable, the shopper's save still succeeds - the event is retried, and any permanent failure is reported on the Sync health card.
  • Duplicates are prevented. Each action carries a unique identifier, so a retry (or a shopper double-tapping the heart) won't fire your flow twice.
  • Your key is stored encrypted and is never exposed to your storefront theme. The settings page shows only a masked preview of it.
  • Disconnecting deletes the stored key. Reconnecting later means pasting a key from Klaviyo again. If you just want to stop sending, use the Sync wishlist events toggle instead.
  • Price-drop and back-in-stock events are not available yet. These are planned as a later addition to this integration - see Plans & Pricing.
  • The integration doesn't sync your product catalog into Klaviyo. Product details travel with each event instead.

Troubleshooting ​

"Connect" fails with an invalid-key error. The key was mistyped, or it was revoked in Klaviyo. Create a fresh private key under Settings → API keys in Klaviyo and paste it again. Make sure you copied the whole key, including the pk_ prefix.

Connected, but my Klaviyo account name isn't shown. The key works but doesn't have the Accounts: Read scope. Events still send normally. To show the name, edit the key's scopes in Klaviyo (or create a new key with that scope) and use Replace to save it.

The card says the connection needs attention / "reconnect". Klaviyo rejected the stored key - it was almost certainly deleted or its scopes were reduced. Create a new private key in Klaviyo, click Replace, and save it. Syncing resumes automatically.

No events are showing up in Klaviyo. Check, in this order:

  1. Sync wishlist events is switched on.
  2. The specific event (Added to Wishlist / Removed from Wishlist) is switched on in the events list.
  3. You tested as a logged-in customer, not as a guest.
  4. The Sync health card shows no error. If it does, the message there says what Klaviyo rejected.
  5. Click Test connection to confirm the key is still valid.

Events stopped right after I changed my key. Replacing a key takes effect immediately and the old key stops being used. Confirm the new key has the Events and Profiles write scopes.

My flow fired twice for one customer. Check the flow's own settings in Klaviyo - by default a "Build Your Own" flow can re-trigger for the same profile. The app itself deduplicates repeated sends of the same action.

A customer saved something but got no email. Confirm that customer exists as a profile in Klaviyo and is subscribed/consented for the channel your flow uses. The app creates the event and the profile identity, but it does not grant marketing consent on your behalf.