If you use Klaviyo for email or SMS marketing, this guide explains how your bundles show up there, what works out of the box, and how to set up the rest.
Biscuits Bundles is built on Shopify's native bundles feature. When a customer buys a bundle, Shopify records the order as the individual component products, grouped under the bundle (Shopify's bundle documentation). The bundle product itself is not a line item on the order.
This is how native bundles work across all of Shopify. It applies to every bundle app built on this feature and is not something Biscuits Bundles can change. Klaviyo reads its data directly from Shopify, so everything below follows from this one fact.
The bundle product and its components all sync to Klaviyo's catalog automatically, just like any other published product. That means your bundle pages work normally with browse abandonment flows, Viewed Product events and product recommendation blocks.
Products sync in real time, but collections only refresh every 6 hours. If a bundle isn't appearing or looks out of date in Klaviyo, you can resync it manually.
One Placed Order event, with the correct order total.
One Ordered Product event for each component in the bundle, at its share of the bundle price.
No event for the bundle product itself.
See Klaviyo's Shopify data reference for full details of these events and the properties you can filter on.
A segment like "has purchased [your bundle]" will never match anyone, because the bundle product never appears as a purchased item. Instead, add a tag in Shopify (for example summer-box) to the bundle's component products, then build your segment or flow filter on Ordered Product where Tags contains that tag. SKUs work the same way if you use a consistent SKU pattern.
If a customer abandons a checkout with a bundle in it, Klaviyo's email will show each component as its own line, with its own image and its share of the price. There is no way to show a single bundle tile. Klaviyo displays whatever Shopify sends and has confirmed it can't regroup bundles.
Most merchants keep the default, and customers generally recognise the products they picked. If you'd prefer a bundle-specific message, add a trigger filter on your component tags or SKUs and create a dedicated email for those checkouts.
Replenishment, cross-sell and win-back flows treat each component as individually purchased. This is often useful, for example recommending a refill of a single component. Just check that your cross-sell flows don't recommend a product the customer already received inside a bundle.
Klaviyo Reviews sends review requests for the products on the order. For bundle orders, that means customers are asked to review the component products, not the bundle. By default, the review widget on your bundle page will stay empty.
Klaviyo's product groups feature lets several products share reviews and star ratings. To use it with a bundle:
In Shopify, add a shared tag (for example summer-box-reviews) to the bundle product and each of its components.
In Klaviyo, go to Reviews > Products > Groups, click Create group, and select that tag.
Reviews and star ratings will now display across every product in the group, including your bundle page.
One caveat: a product can only belong to one group. If you sell a component in more than one bundle, you'll need to choose which bundle shares its reviews.
You can also exclude specific products from review requests, which is handy for components that are only sold inside bundles.
Klaviyo can't send its standard review request for the bundle product, because the bundle never appears as an item on the order. You can build your own request instead, using Shopify Flow and a Klaviyo event. Biscuits Bundles automatically tags every bundle order with Biscuits Bundles Order, which gives Flow a reliable way to spot them (open any bundle order in your Shopify admin to confirm the tag).
Install Shopify Flow (available on the Shopify plan and up, not Basic).
Create a workflow triggered by Order fulfilled, with a condition that the order's tags include Biscuits Bundles Order.
Add Klaviyo's Track an event action. Give the event a name like Bundle review request, map the customer's email, and include the bundle's name in the event properties. Every component line item carries the bundle's name in a _biscuits_title property, found in Flow under Line items > Custom attributes. Klaviyo's guide covers the setup, including how to format event properties.
In Klaviyo, create a flow triggered by your new event (it appears alongside your other Shopify metrics). Add a delay, then send an email containing the bundle's manual review link, copied from Reviews > Products in Klaviyo.
Good to know: this sends a normal Klaviyo email with a review link, not a native Klaviyo Reviews request, so place a test order and check the full journey before relying on it. If you sell more than one bundle, add a conditional split on the bundle name property so each customer gets the right review link. And to avoid customers being asked twice, consider excluding bundle orders or bundle-only components from your standard review request flow (see the link above).
Back in stock alerts are built around inventory-tracked products, so they apply to your component product pages rather than the bundle listing.
Shopify doesn't allow native bundles to be sold with subscriptions or other selling plans, so Klaviyo flows tied to subscriptions won't apply to bundles.
Catalog sync: works for the bundle and its components.
Browse abandonment and Viewed Product flows: work on bundle pages.
Order revenue and analytics: totals are correct, nothing to change.
"Purchased bundle" segments: use component tags or SKUs instead.
Abandoned cart emails: show the individual components.
Review requests: sent for components; use product groups to show reviews on the bundle page, or Shopify Flow to request a review of the bundle itself.
Back in stock alerts: component pages only.
Subscriptions: not available for bundles (a Shopify limitation).
Questions about your setup? Reach out through the support widget in the app and we'll help you get it working.