[deliver]
Deliver article · 2026-10-21 · Charlotte Rodrigues

Out-of-Stock Products in Klaviyo: Emails and Flows Before BFCM

During a Black Friday, a product can go from available to sold out between the moment a customer adds it to the cart and the moment the reminder arrives. An email showing an item nobody can buy gives, according to Klaviyo, a frustrating experience at the exact point where you wanted to close the sale. Klaviyo offers several mechanisms for handling stock-outs, but each has its own conditions and limits. This article goes through them, from the simplest to the most precise.

TL;DR. For abandoned carts and product views, Klaviyo's documentation describes a tag that cancels the whole email if a displayed item is sold out (Shopify, with conditions). Product recommendations already exclude out-of-stock items, and product feeds accept a stock filter. Back in stock collects people who sign up for a restock alert and notifies them according to a minimum stock and a pace you set. Low inventory warns engaged customers that a product is running short. In our view, these settings should be checked product by product before the first weekend reminder.

Want an outside look before you build? We offer a Q4 readiness audit: 30 minutes, free, no strings attached.

Three places where a stock-out shows up in an email

A stock-out appears in three types of messages, and they are not handled the same way.

  1. Behavior-triggered flows, such as abandoned cart and browse abandonment: the email shows the item the person looked at, sometimes several hours later.
  2. Product blocks and recommendations, which draw from a product feed: cross-sell, bestsellers, viewed products.
  3. Campaigns with hand-picked products: the pages consulted describe no stock check for this case, and in our view only a review by your team protects them.

Cancel an email when a product is sold out

Klaviyo's page on out-of-stock items in Shopify flows starts from a common case: a customer puts an item in the cart, comes back a few hours later and finds it sold out. Reminding that customer with a cart of unavailable items leads, according to the page, to a frustrating experience (Klaviyo, configure out-of-stock items for automated flows on Shopify).

The principle

In the email's dynamic table, you replace the image column with an HTML block containing a catalog tag with the parameter unpublished="cancel". Before sending, Klaviyo looks up each item that will fill the email. If a single item is "unpublished", the whole email is skipped.

The snippet Klaviyo publishes for abandoned cart relies on item.product_id, and the one for browse abandonment on event.ProductID. Copy it from the source page rather than retyping it.

The conditions to know

The page also explains how to test: temporarily mark a single item as out of stock in the store admin, trigger the flow with a recent event, then preview the email with that event. The preview shows a message saying the item is not published.

Where to see the cancelled emails

In the flow email's analytics, under Recipient Activity then Other, the Skipped: Catalog Item Unavailable category lists the sends cancelled because an item was unavailable. The troubleshooting page for skipped flow messages lists this reason among the email-specific skip reasons: a product in the rendered content is out of stock or unavailable (Klaviyo, troubleshooting why a flow message skipped a profile).

In our view, the right way to read this counter during BFCM is twofold: it protects the brand's image, and it also measures the reminders you did not send. If it climbs on a hero product, it also alerts the stock team.

Product blocks and recommendations

Klaviyo's product recommendations leave out several types of items: those without an image, those the recipient already bought, those in the email's trigger event, and out-of-stock items (Klaviyo, how to use product feeds and recommendations). A block fed by a dynamic feed therefore already carries this protection.

A product feed also accepts a filter on stock level, with a minimum and a maximum. The page says you can leave one of them blank, but you must fill in at least one. One nuance in the FAQ deserves attention: filters apply to variants, while the product block displays items. If the sum of the stock across all variants of an item exceeds the threshold, the item remains eligible, and it may show the image and price of a variant that does not exactly match the filter.

For a "bestsellers" block in the middle of an operation, in our view, a minimum stock filter above zero avoids promoting an item down to its last unit. The threshold should be set with the logistics team, on real references. Our article on product feeds for cross-sell and upsell details how to build the feeds.

Back in stock: turning a stock-out into a waiting list

Back in stock deals with the demand that remains when a product is sold out: customers who wanted the item leave their contact details and are told when it returns.

The two components

The Klaviyo page describes two building blocks (Klaviyo, how to build a back in stock flow):

Only Klaviyo's own metric, provided by a listed integration, a custom catalog or a back in stock subscription API call, can trigger this flow. A custom metric cannot. If the store uses Shopify point of sale, the flow also counts the physical store's inventory, not only the warehouse's.

The settings that matter on a high-demand day

Two families of settings, at account level, under Settings, Other, Back in stock settings (or from the flow's delay):

The page's example: 20 units restocked, 5 customers to notify per unit, so the 100 oldest subscribers. The flow then waits the chosen delay before the next batch, based on the remaining stock, and continues until inventory drops below the minimum. These settings are shared by all back in stock flows in the account.

The limits to build into the plan

On best practice, the page recommends a flow of 1 to 3 messages, and turning Smart Sending off on the alert so that everyone receives it. For the mechanics of that setting, see our article on Smart Sending and frequency. How to run a waiting list before a launch is covered in our article on the Black Friday waitlist.

Low inventory: warning before the stock-out

Conversely, the Low inventory flow warns people who showed interest in a product that it is becoming scarce (Klaviyo, how to create a low inventory flow). Its setup rests on a few choices:

The page advises against a delay before the first message, since the goal is to inform as soon as stock changes, and calls for caution with additional messages, because you do not know how quickly the item will sell out. Trigger filters let you include or exclude products (by ID, more reliable than the name) or collections, and profile filters limit how often people enter.

In our view, the threshold should reflect genuinely low stock at the scale of a sales day, and it should be validated with the logistics team before it appears in an email. Announcing scarcity that does not exist exposes you to a loss of trust, whatever the tool.

Which mechanism for which case

Situation Mechanism Watch out for
Cart or browse reminder with a sold-out product Catalog tag with cancellation Shopify, selling when out of stock disabled, whole email cancelled
Product block in a campaign or flow Dynamic feed with a stock filter Filter applied to variants, rendered per item
Demand on a sold-out product Back in stock and form No catch-up for earlier subscribers
Product about to sell out Low inventory Realistic threshold, a single message
Hand-picked product in a campaign Human review Check stock just before sending

Checklist before BFCM

These points are Deliver's advice.

  1. The abandoned cart and browse abandonment emails are edited with the cancellation tag, then tested with an item set to out of stock on the store.
  2. The Shopify option for selling when out of stock is checked, because it conditions unpublishing.
  3. Dynamic product blocks carry a stock filter chosen with logistics.
  4. The back in stock flow is built, its status checked, and the minimum stock and batch settings decided.
  5. The low inventory flow has a validated threshold and a single message.
  6. The Catalog Item Unavailable counter is checked every day of the operation by a designated person.
  7. Campaigns with hand-picked products are reviewed against real stock just before sending.

FAQ

What does the unpublished="cancel" tag do in a Klaviyo email?

Before sending, Klaviyo checks each item that fills the email. If one of them is unpublished in the catalog, the whole email is skipped for that person.

Can you remove only the sold-out item and send the rest?

No. The page states that it is not possible to remove a single item: as soon as one item in a cart is sold out, the whole email is cancelled.

Do product recommendations show sold-out items?

No, according to the documentation: out-of-stock items do not appear in recommendations.

Does a back in stock flow catch up people who signed up before it was activated?

Generally no: adding past profiles has no effect on this type of flow, unless it contains a time delay.

What delay is recommended before the message in a low inventory flow?

None. The page advises against a delay, because the goal is to inform as soon as stock changes.

Want an outside look at your stock flows? We run Q4 readiness audits, or you can talk directly with the Deliver team.

Provenance and verification

Faithful English translation of the French source. Each technical claim was compared on 2026-10-11 with the raw text of the Klaviyo pages listed in sources (cancelling a flow email with the catalog tag and unpublished=cancel, Shopify condition of selling disabled when out of stock and all variants sold out, Catalog Item Unavailable skip reason (troubleshooting page for skipped flow messages), cancellation of the whole email, exclusion of out-of-stock items from product recommendations, product feed stock filter applied to variants and rendered per item, Subscribed to Back in Stock trigger, back in stock delay, Notify me form for Shopify and BigCommerce, minimum stock and batch notification settings with the 20-unit example, flow of 1 to 3 messages and Smart Sending off on the alert, no inventory re-check before a second message, no effect of adding past profiles, dynamic variables resolved at send time, low inventory flow: threshold in units, engagement metrics, 30-day default timeframe up to 90 days, exclusion of buyers of the item). The BFCM configuration guidelines are Deliver's advice, flagged as such, with no measured result.

Sources checked on
Reviewed by
Claude (Claude Code session, October 11, 2026) English localization of the French source, with every vendor-documentation claim checked against the Klaviyo help pages listed in sources, reopened the same day.
AI assistance
Yes
Sources
  1. help.klaviyo.com/hc/en-us/articles/115005253188
  2. help.klaviyo.com/hc/en-us/articles/115005082787
  3. help.klaviyo.com/hc/en-us/articles/115003872251
  4. help.klaviyo.com/hc/en-us/articles/360051612551
  5. help.klaviyo.com/hc/en-us/articles/360051612751
  6. help.klaviyo.com/hc/en-us/articles/21374913673243
  7. help.klaviyo.com/hc/en-us/articles/1260805003210
Going further · Deliver sets up and runs Klaviyo for e-commerce brands: flows, campaigns and deliverability. See our Klaviyo agency page, or request a Klaviyo audit.
CR
Charlotte Rodrigues · CRM Lead at Deliver. Questions about this article? charlotte@agence-deliver.com

Want to apply this to your stack?

Spend 30 minutes with Charlotte to review your CRM setup, size the opportunity and leave with a practical action plan.

Book a 30-minute call →