Klaviyo recipes
Forward wishlist events to Klaviyo and build flows on them — abandoned wishlist, back-in-stock nudges, post-merge welcomes.
This page connects Envie to Klaviyo and walks through the two flows merchants ask for first.
How the integration works
Envie is a forwarder: wishlist events become Klaviyo metrics on the shopper's profile, and everything else — flows, emails, timing, content — lives in Klaviyo, where you already build those things. Envie sends no email, ever.
| Envie event | Klaviyo metric |
|---|---|
| Item saved | Envie Wishlist Item Added |
| Item removed | Envie Wishlist Item Removed |
| Guest list merged at login | Envie Wishlist List Merged |
Event properties carry the product identity (productId, variantId, handle) so flow emails can
reference the product.
Two deliberate limits:
- Anonymous activity is not forwarded. No customer, no profile to attach the event to — and guessing identity from a browser is how wrong-person emails happen. Guest saves start flowing the moment the shopper logs in and their list merges.
- Forwarding is per-event and at-least-once, deduplicated on Klaviyo's side by a unique event id — a network retry can't double-count a save.
Connect
- In Klaviyo: Settings → API keys → Create Private API Key — grant it the Events write scope.
- In the Shopify admin: Envie → Integrations → Klaviyo, paste the key, save.
The key is stored encrypted and never shown again (the page only shows connected / not connected). Saves start forwarding immediately — save a product on the storefront as a logged-in customer and watch it appear in that profile's activity feed within a minute.
Recipe 1 — abandoned wishlist
The flow merchants want on day one: "you saved this a week ago, it's still here."
- Flows → Create flow → From scratch. Trigger: metric
Envie Wishlist Item Added. - Time delay: 7 days.
- Trigger filter (on the flow trigger):
Envie Wishlist Item Removed— zero times since starting this flow — whereproductIdequals the trigger'sproductId. Removed items don't get nudged. - Email: reference the saved product via the event properties (
handlelinks to/products/{handle}). - Optional profile filter: has not placed order since starting this flow — a purchase beats a reminder.
Recipe 2 — post-merge welcome
Fires when a guest logs in and their saves become a durable list — the highest-intent moment Envie can see.
- Trigger: metric
Envie Wishlist List Merged. - Flow filter: event property
mergedCountis at least 1 — sign-ins with nothing to merge don't need a message. - Email: "your wishlist is saved to your account" + a link to the shop's wishlist page. Short delay (an hour) reads less like surveillance than an instant send.
Common mistakes
- Pasting a public key. Klaviyo public keys (
pk_…) can't write events server-side; the integration needs a private key with the Events scope. - Testing while logged out. Anonymous saves aren't forwarded — no metric will appear. Log in as a customer with an email address on file, then save.
- Building the abandoned-wishlist flow without the removed-item filter. Shoppers prune their lists; emailing about a product someone deliberately removed reads as broken.
- Expecting historical backfill. Forwarding starts when the key is connected. Events from before that never reach Klaviyo.