Klaviyo and Omnisend
Plan: Pro and up for Klaviyo and Omnisend events. The Shopify Flow route is Starter and up.
Cove can hand wishlist saves, removals and back-in-stock signups to the Klaviyo or Omnisend onsite script already on your store, so you can build flows and segments on them in your email platform. There’s no account to connect and no API key to paste: Cove uses each platform’s own documented onsite JavaScript and stores no Klaviyo or Omnisend key.
Turn it on
Section titled “Turn it on”- In your Shopify admin, open Online Store › Themes › Customize.
- Open App embeds and select Cove Wishlist.
- Under Advanced, tick Send wishlist events to Klaviyo, Send wishlist events to Omnisend, or both, then save.
Both are off until you turn them on. They only take effect on Pro and Premium (they ride on pixel events): on a lower plan, or after a downgrade, nothing is sent even with the boxes ticked.
Your Klaviyo or Omnisend script must already be on your store (normally added by their own Shopify app). Cove never loads their scripts: when one isn’t on the page, nothing is sent to it.
The events
Section titled “The events”| When | Klaviyo metric | Omnisend custom event |
|---|---|---|
| A shopper saved a product or variant. | Added to Wishlist |
added product to wishlist |
| A shopper removed one. | Removed from Wishlist |
removed product from wishlist |
| A shopper asked Cove for a back-in-stock email (the address stays with Cove). | Signed Up for Back in Stock |
signed up for back in stock |
Each event carries the product as the page shows it:
| Klaviyo property | Omnisend properties.product |
Holds |
|---|---|---|
ProductID |
id |
Shopify product ID (string). |
VariantID |
variantId |
Shopify variant ID, or null. |
ProductName |
title |
The product title. |
URL |
url |
The product page URL. |
ImageURL |
imageUrl |
The variant’s image, else the product’s. |
Price |
price |
The variant’s price: in units for Klaviyo (22.5), in cents for Omnisend (2250). |
Currency |
currency |
The shopper’s currency (ISO code). |
Source |
properties.source |
Where it happened, as for pixel events; notify for a back-in-stock signup. |
Where the details come from:
- On a product page, the variant’s title, URL, image and price as your theme renders them.
- From a heart on a product card or the wishlist page, what that card shows (link, title, image), without a price. Look the price up in your synced catalog instead (see below).
- Nothing is fetched to fill them in.
Who gets recorded
Section titled “Who gets recorded”No event carries an email address or a customer ID. The platform attributes the event to the visitor it already recognises: Klaviyo tracks onsite events for browsers it has identified (for example after a click from one of your Klaviyo emails), and Omnisend for identified contacts. A visitor neither platform knows is not recorded.
When your store collects consent with Shopify’s Customer Privacy API (Shopify’s cookie banner does), nothing is sent for a shopper who declined marketing.
Back-in-stock signups are sent only once the alert is live: a guest who still has to confirm by email isn’t sent yet. The email address the shopper typed stays with Cove.
Build a wishlist reminder flow in Klaviyo
Section titled “Build a wishlist reminder flow in Klaviyo”- Turn on Send wishlist events to Klaviyo and save a product on your store in a browser Klaviyo knows. Within a few minutes the profile’s activity feed shows
Added to Wishlist. - In Klaviyo, create a flow from scratch and choose the metric Added to Wishlist as its trigger.
- Add a flow filter such as “Placed Order zero times since starting this flow”, then a time delay (two or three days works for most stores).
- Add an email. Use
{{ event.ProductName }},{{ event.ImageURL }},{{ event.URL }}and{{ event.Price }}. Saves from a product card carry no price: look the product up in your synced catalog with Klaviyo’s catalog lookup tag onevent.ProductID.
In Omnisend, the same works as an automation whose trigger is the custom event added product to wishlist; its properties are available to the email.
Cove can also send wishlist reminder emails itself, with no email platform involved: see reminders.
Back in stock and price drops: use Shopify Flow
Section titled “Back in stock and price drops: use Shopify Flow”A browser event can’t tell Klaviyo that a product came back in stock: Cove knows that on its server, from your inventory. For that, use Cove’s Shopify Flow triggers (Starter and up): Wishlisted item back in stock, Wishlisted item price dropped, Wishlisted item running low and Item added to wishlist. They fire for customers who saved while signed in, wherever they browse later.
To turn one into a Klaviyo event:
- In Shopify Flow, start a workflow with the Cove Wishlist trigger Wishlisted item back in stock.
- Add Klaviyo’s Track an event action. Name the event (for example “Wishlist Item Back in Stock”) and map the customer’s email and the product’s title, URL and image from the trigger. The Klaviyo public API key that action asks for is entered in Shopify Flow, not in Cove.
- In Klaviyo, build a flow on that metric and send the email.
This works for any platform with a Shopify Flow action. Cove can also send the back-in-stock email itself: see alert emails. When it does, Signed Up for Back in Stock tells Klaviyo or Omnisend who asked.
What Cove doesn’t do
Section titled “What Cove doesn’t do”- It stores no Klaviyo or Omnisend API key (public or private) and has no server-side connection to either platform.
- It never sends an email address or customer ID to them.
- It doesn’t send share events to Klaviyo or Omnisend; those are available to pixels only (pixel events).
- Attentive isn’t supported: its onsite script has no custom events, and its custom events API needs a private API key, which Cove doesn’t hold. Use Shopify Flow instead.