E-commerce

AI chatbot to offer an alternative when a product is unavailable

AI chatbot to offer an alternative when a product is unavailable

June 28, 2026

"Do you have the blue jacket in M?" The customer reads "Out of stock" under the selector. They close the tab. Or worse: they open the chat, receive "consult our catalog", and leave for a competitor.

Zipchat estimates that a well-configured alternatives assistant can recover 35 to 50% of sales lost due to out-of-stock items by recommending 2-3 substitutes in stock with a clear reason (Zipchat, OOS assistant 2026). Kn8 reminds us that a storefront agent checks live inventory before any recommendation, unlike a static chatbot (Kn8, e-commerce agents 2026).

This guide #245 covers the AI chatbot for unavailable product alternatives: conversational recommendation when the requested SKU is out of stock. Complements restocking times (#167) (human support ETA) and back-in-stock alerts (#48) (email capture): here, immediate substitute + waitlist in the same flow.

Summary

Why use an alternatives bot on out-of-stock pages?

An out-of-stock PDP concentrates purchase intent without the possibility of conversion. The alternatives bot transforms this dead end into a guided choice.

Three jobs of the OOS bot

  • Confirm: Exact SKU/variant unavailable (not a vague "out of stock")

  • Substitute: 2-3 in-stock alternatives with reasoning

  • Capture: Back-in-stock alert if the customer prefers to wait

Market signal

Storebeep notes that OOS pages without contextual alternatives lose the majority of visitors; a well-designed page captures 10 to 20% in alert sign-ups (Storebeep, OOS Shopify 2026). Denser AI insists on real-time inventory queries via RAG to never recommend a substitute that is also out of stock (Denser, sync stock 2026).

DTC fashion example

Bestselling dress size M out of stock, 420 OOS PDP sessions/week. Without bot: 78% bounce rate. OOS bot + 2 mapped substitutes: 64% chat engagement, 19% alternative conversion, 14% alert sign-ups.

How does it differ from neighboring content?

Five stock contents, five distinct roles.

Restock times (#167)

Restock (#167): agent macros, ETA ops, promise management. #245: bot automation of alternatives + waitlist without tickets.

Back in stock alerts (#48)

Alertes (#48): Notify Me widget, Klaviyo flow. #245 integrates the alert into the conversation after proposing a substitute.

Discontinued products (#243)

Discontinued (#243): product will not return. Bot OOS: temporary out-of-stock or variant-only, not permanent discontinuation (unless flagged no_restock).

Cross-sell (#152)

Cross-sell (#152): cart addition. #245: functional substitute of the unavailable SKU, not an accessory.

Limited editions (#222)

LE (#222): definitive drop sold-out. Standard OOS bot: restock possible, ETA to be communicated if known.

Promise #245

Out-of-stock typology, substitute mapping, bot flow, triggers, stock sync, waitlist combo, KPI, playbooks.

What types of breakups should the bot distinguish between?

The intent bot rupture changes the response: substitute, waitlist, or range redirect.

Six OOS scenarios

  • oos_variant: parent product live, size/color OOS

  • oos_sku_full: all variants sold out, restock planned

  • oos_sku_norestock: end of life, see #243

  • oos_preorder: future sale, not a stockout

  • oos_cart: cart item became unavailable

  • oos_channel: online OOS, store stock (BOPIS)

Tags and routing

stock_oos, sub-tags by scenario. Bot route: oos_variant → same product other size/color + substitutes; oos_sku_full → range substitutes + waitlist; oos_norestock → discontinued branch.

Required ops data

Shopify metafield restock_eta, no_restock, replacement_skus. Without ETA: bot does not promise a date. Without replacement_skus: auto catalog matching (section 4).

How to map substitutes by SKU?

The OOS substitutes database powers the bot. Two levels: manual mapping + auto matching.

Manual mapping (priority)

OOS-MAP Sheets: SKU_oos | substitute_primary | substitute_secondary | reason | price_delta | same_use_case. Merchandising validates the top 50 high-traffic OOS SKUs. Example reason: "same cut, similar color, −€5".

Auto matching (fallback)

  • Identical product_type + tags

  • Price range ±15%

  • Attributes: waterproof, vegan, compatible with X

  • inventory > 0 mandatory before recommendation

Quality rule

Storebeep: contextual alternatives (same usage, same price range), not a generic "you might also like" carousel. Maximum 2 substitutes + "other size/color" option on the same PDP if applicable.

Incentive code

Zipchat: OOS5 to OOS15 code on configurable substitute. Activate only if margin allows, not systematic (prevents inducing expectation of promos).

How to structure the alternative bot flow?

The OOS bot flow consists of 4 branches, taking less than 90 seconds on mobile.

Conversational tree

  1. Detect OOS: SKU page or customer question → inventory API

  2. Confirm: "[Product] in [variant] is unavailable. Restock: [ETA or unscheduled]."

  3. Branch A substitute: suggest primary + secondary + reason + add-to-cart link

  4. Branch B waitlist: "Prefer to wait? Alert me: [email/one-click]"

  5. Branch C variant: if oos_variant, suggest adjacent size/color in stock

Substitute response template

"The [blue jacket M] is out of stock. Two options in stock: 1) [Navy jacket M]: same fit, darker shade, delivery in 2-3 days; 2) [Sky blue jacket M]: same model, lighter shade. Or I can alert you as soon as the blue M is back: [button]."

OOS Cart

Oos_cart intent: identify line item, suggest swap variant or substitute, preserve cart promo code if applicable.

Which triggers should be activated on the PDP and cart?

The out-of-stock trigger bot intercepts before the bounce, without annoying the browsing visitor.

PDP OOS Triggers

  • Page load OOS: add-to-cart button disabled + 0 stock (Zipchat: 60-70% proactive engagement)

  • Click add-to-cart OOS: immediate message offering substitutes

  • Dwell 15 s on OOS variant selector

  • Chat question: "in stock?", "size M?", "available?"

Standard proactive message

"This item is temporarily unavailable in [variant]. I can suggest 2 in-stock alternatives or alert you when it returns."

Cart triggers

Webhook inventory < 1 between add and checkout: chat notification "[SKU] has just gone out of stock. Substitute or alert?"

Exclusions

Do not trigger on collection, search results, or in-stock SKUs. Mono-variant full OOS: more direct message pointing to range substitutes.

How to synchronize stock and secure recommendations?

The OOS stock bot guardrail prevents the embarrassment of presenting an out-of-stock substitute.

Real-time sync

  • Shopify Webhook inventory_levels/update → bot cache 30-60 s

  • API query before each recommendation, not just at the session start

  • Hourly batch insufficient during promotions or product drops (Branch8, Denser)

Non-negotiable rules

Newegg 2026: RAG on live catalog, never invent stock or price. If primary is OOS at the moment of click: switch to secondary automatically. If both are OOS: waitlist only, not a vague "come back later".

Multi-warehouse / BOPIS

If oos_channel and store stock > 0: offer in-store pickup with address and confirmed stock.

How to combine alternatives and back-in-stock alerts?

The substitute + waitlist combo does not force a choice: both options coexist.

In-chat waitlist flow

  1. Customer refuses substitutes or hesitates

  2. Bot collects email or uses account email if logged in

  3. Saves exact variant_id (not just the parent product)

  4. Confirms: "Alert activated for [SKU variant]. Estimated time: [ETA]."

Shoply integrates alert registration directly into the chat when a variant is OOS (Shoply, back-in-stock chat 2026). Storebeep points out that external AI agents (ChatGPT Shopping) do not have a Notify Me button: your site bot + PDP remain the demand capture channel (Storebeep, agentic commerce 2026).

PDP Link

The bot can redirect to the page's Notify Me widget if the app integration (Klaviyo, SC Back in Stock) is more robust than chat capture alone.

Post-restock

Auto variant-specific email upon stock receipt. History bot: if the customer returns, "Your [SKU] is back" + direct link to the variant.

What are the alternative bot anti-patterns?

Five OOS bot errors turn help into frustration.

Off-topic alternative

Sandals suggested for waterproof trail shoes. Validate OOS-MAP or strict matching.

Stale stock

Recommendation based on 24 h cache. Webhook + API re-query mandatory.

Entire catalog

"Browse our products" without curation. Max 2 reasoned alternatives.

Waitlist without variant_id

Parent product alert when only size M is missing = useless email upon return of size S.

Forgetting no_restock

Promising back-in-stock on discontinued SKU. Metafield flag → branch #243, not waitlist.

Which KPIs measure the impact of the alternative bot?

Measure the OOS bot ROI by out-of-stock SKU and by flow path.

Conversion KPIs

  • OOS recovery rate: substitute orders / OOS PDP sessions

  • OOS chat engagement: % of OOS sessions opening the bot

  • Substitute accept rate: substitute add-to-cart / suggestions

  • Waitlist capture rate: sign-ups / OOS sessions

  • Waitlist → purchase: conversion post-email alert

Support KPIs

"In stock?" tickets / 100 OOS PDP sessions. Goal: −40% vs without bot. Zipchat cites −40 to −55% OOS cart abandonment on configured pilots.

A/B Method

50% of OOS PDP pilot traffic with bot triggers, 50% without. 4 weeks, min. 800 sessions/path per SKU.

How does Qstomy offer alternatives during stockouts?

Qstomy detects OOS, recommends verified in-stock substitutes, and captures the waitlist in a single flow.

Alternative OOS Features

  • Intent oos_*: variant, SKU full, cart, norestock

  • Shopify inventory sync webhook + pre-reco query

  • OOS-MAP + hybrid auto-matching

  • 2 substitutes + reason + in-chat add-to-cart

  • Waitlist variant_id + ETA metafield

  • Optional OOS code on substitute

Quantified DTC Scenario

Outdoor brand, 12 top-traffic SKUs with recurring OOS, 1,900 OOS PDP sessions/month, bounce rate 81%, 34 tickets/week ask "is this available?". Deployment of Qstomy OOS flows + 12-line OOS-MAP + section 6 triggers. After 7 weeks (A/B 50/50): recovery rate 22%, waitlist capture 16%, stock tickets −47%, waitlist→purchase 38%, substitute revenue +€11,400/month.

Explore Shopify integration, AI customer support, or request a demo.

Which operational playbooks should be deployed?

Playbook 1: SKU OOS audit (1 day)

Export GA4 sessions PDP + inventory=0 90 days. Top 15 SKUs by OOS traffic. Prioritize mapping.

Playbook 2: OOS-MAP (4 hours)

Fill in substitute_primary/secondary + reason for top 15. Validate live stock. Test 10 scenarios.

Playbook 3: bot flow (2 days)

Configure tree section 5, templates, guardrails section 7. Shadow mode 1 week.

Playbook 4: triggers + waitlist (1 day)

Activate triggers section 6. Connect Klaviyo or BIS app for post-restock. QA variant_id.

Playbook 5: pilot A/B + review (4 weeks)

KPI section 10. Adjust OOS-MAP if substitute has low acceptance rate. Document wins.

Useful linking

An out-of-stock situation is not the end of the journey: it is a moment when the customer still wants to buy from you. When the bot proposes the right alternative at the right time, the stockout becomes a redirected sale, not an open door to the competitor.

Enzo

June 28, 2026

Convert over 2,000 customers on average per month with Qstomy.

The world’s 1st Shopify AI dedicated to customer conversion

Empowering 200+ e-commerce merchants

Subscribe to the newsletter and get a personalized e-book!

No-code solution, no technical knowledge required. AI trained on your e-shop and non-intrusive.

*Unsubscribe at any time. We do not send spam.

Subscribe to the newsletter and get a personalized e-book!

No-code solution, no technical knowledge required. AI trained on your e-shop and non-intrusive.

*Unsubscribe at any time. We do not send spam.