Skip to main content

Replenishment Events in Klaviyo

This page breaks down the event properties you can expect to populate in Replenishment's Klaviyo metric payloads — and display dynamically in flows, segments, and dynamic content.

What are Replenishment's Klaviyo metrics?

Once your Klaviyo integration is connected and Replenishment is enabled, head to Analytics › Metrics in Klaviyo to see 4 Replenishment metrics. Unveild runs a daily batch that scores every eligible purchaser, predicts the moment they're most likely to take a next action, and fires one of the four metrics onto the matching subscriber profile when that moment arrives.

The table below breaks down the triggers that power each metric:

Trigger ActionTrigger CadenceKlaviyo MetricKlaviyo Flow
Customer enters their predicted reorder window for a product they've purchasedDaily batchReorder Recommendation UnveildReplenishment flow
Non-subscriber customer enters the window where they're most likely to convert to a subscriptionDaily batchPush To Subscribe Recommendation UnveildReplenishment flow
Customer is in their next-purchase window AND has affinity for a complementary product they haven't boughtDaily batchCross-sell Recommendation UnveildCross-sell flow
Lapsed customer has passed the expected reorder interval for a previously purchased productDaily batchWinback Recommendation UnveildWin-back flow
Don't add wait times in any of these flows

Do not add a wait time before the first message in a Replenishment, Cross-sell, or Win-back flow. The metric fires at precisely the moment Unveild estimates the customer is most likely to act — adding wait time pushes the message past the predicted window.

Event properties in Replenishment metrics

All four metrics use a shared payload envelope. The same set of root keys and the same products[] item shape are sent regardless of which metric is firing — what differs is which products the recommender selected and out-of-stock filtering.

Shared root properties

  • responsive_checkout_url — a deep-link cart URL pre-populated with the recommended products' variants (e.g. https://your-store.com/cart/44123456789012:1,44123456789013:1?storefront=true). Use as the primary CTA link in your email creative.
  • products — array of recommended product objects (see schema below).
  • checked_for_out_of_stocktrue (Unveild verified inventory against Shopify and dropped any out-of-stock variants before sending).

Dynamic product properties

Each entry in the products array carries:

  • id — Shopify product ID
  • title — product name
  • imageUrl — variant featured_image.src when available, falling back to the product's first image, falling back to an empty string
  • URL — product page URL with the variant pre-selected (e.g. https://your-store.com/products/cotton-tee?variant=44123456789012)
  • url — duplicate of URL, included so liquid templates can use either casing
  • variant — the full Shopify variant JSON for the recommended SKU (use this for variant-specific liquid such as price, inventory state, or featured_image)

In Push To Subscribe Recommendation Unveild payloads, each product object may also include:

  • tags — array of product tags pulled from product_details.product.tags. Only present if the product has tags configured in Shopify.

Profile-level metadata

After firing each event, Unveild also writes the event payload to the subscriber's Klaviyo profile as custom properties, so segments and dynamic content can reference the most recent recommendation without needing to query event history. The property names are per-metric:

MetricProfile properties written
Reorder Recommendation Unveildunveild_replen_reorder_products, unveild_replen_reorder_checkout_url
Push To Subscribe Recommendation Unveildunveild_replen_pushtosubscribe_products, unveild_replen_pushtosubscribe_checkout_url
Cross-sell Recommendation Unveildunveild_replen_crosssell_products, unveild_replen_crosssell_checkout_url
Winback Recommendation Unveildunveild_replen_winback_products, unveild_replen_winback_checkout_url

The *_products property contains the same products[] array sent in the event; the *_checkout_url property contains the same responsive_checkout_url string.

Example payloads

The objects below are the properties value Klaviyo receives, alongside the metric.name shown in each title.

Reorder Recommendation

Reorder Recommendation Unveild
{
"responsive_checkout_url": "https://your-store.com/cart/44123456789012:1?storefront=true",
"products": [
{
"id": "12345",
"title": "Vitamin C Serum",
"imageUrl": "https://cdn.shopify.com/s/files/.../vitamin-c-serum.jpg",
"URL": "https://your-store.com/products/vitamin-c-serum?variant=44123456789012",
"url": "https://your-store.com/products/vitamin-c-serum?variant=44123456789012",
"variant": {
"id": "44123456789012",
"title": "50ml",
"available": true,
"price": "29.99",
"featured_image": {
"src": "https://cdn.shopify.com/s/files/.../vitamin-c-serum.jpg"
}
}
}
],
"checked_for_out_of_stock": true
}

Push To Subscribe Recommendation

Push To Subscribe Recommendation Unveild
{
"responsive_checkout_url": "https://your-store.com/cart/44123456789013:1?storefront=true",
"products": [
{
"id": "12346",
"title": "Monthly Protein Powder",
"imageUrl": "https://cdn.shopify.com/s/files/.../protein-powder.jpg",
"URL": "https://your-store.com/products/protein-powder?variant=44123456789013",
"url": "https://your-store.com/products/protein-powder?variant=44123456789013",
"variant": {
"id": "44123456789013",
"title": "2kg",
"available": true,
"price": "59.99",
"featured_image": {
"src": "https://cdn.shopify.com/s/files/.../protein-powder.jpg"
}
},
"tags": ["subscription-eligible", "bestseller"]
}
],
"checked_for_out_of_stock": true
}

Cross-sell Recommendation

Cross-sell Recommendation Unveild
{
"responsive_checkout_url": "https://your-store.com/cart/44123456789014:1,44123456789015:1?storefront=true",
"products": [
{
"id": "12347",
"title": "Retinol Night Cream",
"imageUrl": "https://cdn.shopify.com/s/files/.../retinol-cream.jpg",
"URL": "https://your-store.com/products/retinol-night-cream?variant=44123456789014",
"url": "https://your-store.com/products/retinol-night-cream?variant=44123456789014",
"variant": {
"id": "44123456789014",
"title": "30ml",
"available": true,
"price": "44.99",
"featured_image": {
"src": "https://cdn.shopify.com/s/files/.../retinol-cream.jpg"
}
}
},
{
"id": "12348",
"title": "Hyaluronic Acid",
"imageUrl": "https://cdn.shopify.com/s/files/.../hyaluronic-acid.jpg",
"URL": "https://your-store.com/products/hyaluronic-acid?variant=44123456789015",
"url": "https://your-store.com/products/hyaluronic-acid?variant=44123456789015",
"variant": {
"id": "44123456789015",
"title": "30ml",
"available": true,
"price": "24.99",
"featured_image": {
"src": "https://cdn.shopify.com/s/files/.../hyaluronic-acid.jpg"
}
}
}
],
"checked_for_out_of_stock": true
}

Winback Recommendation

Winback Recommendation Unveild
{
"responsive_checkout_url": "https://your-store.com/cart/44123456789012:1?storefront=true",
"products": [
{
"id": "12345",
"title": "Vitamin C Serum",
"imageUrl": "https://cdn.shopify.com/s/files/.../vitamin-c-serum.jpg",
"URL": "https://your-store.com/products/vitamin-c-serum?variant=44123456789012",
"url": "https://your-store.com/products/vitamin-c-serum?variant=44123456789012",
"variant": {
"id": "44123456789012",
"title": "50ml",
"available": true,
"price": "29.99",
"featured_image": {
"src": "https://cdn.shopify.com/s/files/.../vitamin-c-serum.jpg"
}
}
}
],
"checked_for_out_of_stock": true
}