E-commerce

How to handle customer inquiries about out-of-stock items by size only

How to handle customer inquiries about out-of-stock items by size only

July 1, 2026

“M is out of stock but L is available, why does the site say sold out?” “My size 38 disappeared at checkout even though the product is still online.” “When is S coming back?” Three typical messages when a shop displays a product as available but a single size variant is out of stock, without a dedicated support playbook for partial stockouts.

The e-commerce out of stock by size customer support covers isolated OOS variants, available adjacent sizes, specific variant back-in-stock alerts, lost carts at checkout, and post-order exchanges, distinct from a total SKU stockout or a discontinued product.

This guide #447 covers policy SIZE-SUP, flow SIZE-FLOW, and KPI size. First content on partial stockout by size. Distinct from global stockout (#87) and back-in-stock alerts (#48): here, size-only variant stockout customer service playbook: alternative, alert, and conversion.

Summary

Why do disruptions by size generate separate tickets?

An out-of-stock by size ticket concerns a parent product still visible in the shop of which one or more size (or shoe size) variants are at zero inventory, while other sizes remain purchasable.

Five typical customer pain points

  • PDP Confusion: product "in stock" but its size is greyed out

  • Lost checkout: size OOS between cart and payment

  • Adjacency: "will L fit me if M is out of stock?"

  • Size alert: notify only M, not the whole product

  • Order exchange: wrong size received because of agent swap

In fashion and footwear, 60 to 75% of out-of-stock tickets concern an isolated size variant, not the complete parent SKU (Opensend, stockout statistics 2026). Shopify manages inventory by variant_id: a size M at 0 does not affect L in stock (Shopify, variant inventory 2026).

Angle #447 vs neighboring content

DTC Fashion Example

Footwear brand with 8,000 orders/month, 14% stock tickets, of which 68% are size-only. Without SIZE-SUP: size_fcr 62%, size_adjacent_convert 18%. After playbook: size_ticket_rate -38%, size_adjacent_accept 31%, size_fcr 78%, size_csat 4.2/5.

Partial OOS ≠ total OOS

STOCK-001 macros #87 are too broad for size-only. Distinct size_ tags instead of stockout_ for dashboard and routing.

BFCM hot size depletion

Black Friday M/L deplete first: pre-scale SIZE-CHECKOUT macros and variant buffer before peak.

How does size breakdown differ from global breakdown #87?

Size variant stockout, full SKU stockout, and discontinued product: three distinct support scenarios.

Scenario → dominant ticket matrix

  • Size-only #447: M OOS, L/XL available, parent PDP live

  • Full SKU #87: all sizes OOS, restocking or end of line

  • Discontinued #243: product will not return, redirects to range

  • Display error: discrepancy between display and inventory

Four SIZE-TYPE

  • size_single_oos: one size out of stock, sister sizes available

  • size_run_depleted: popular sizes M/L gone, S/XL remaining

  • size_checkout_lost: variant OOS between cart and payment

  • size_exchange_request: wrong size ordered, adjacent post-purchase swap

Stack size stockout

Shopify variant inventory API, PDP size selector grey-out, back-in-stock app per variant_id, SIZE-MAP adjacency grid, Gorgias tags size_*, Klaviyo variant notify flow.

Promise #447

SIZE-SUP policy, SIZE-MAP matrix, 12 size_* typologies, SIZE-FLOW flow, SIZE-* macros, size_* KPI.

Footwear fashion concentration

Vertical #447 densest: sizes 38-42 sold out individually. Buffer inventory per variant not parent aggregate.

Kids size run nuance

Age-based sizes 8-10-12: adjacency_grid by age not letter. SIZE-MAP extension kids category.

Which size_* typologies should be mapped?

Twelve out-of-stock size ticket typologies for consistent routing.

Twelve size scenarios

  1. size_oos_single: my size M is out of stock, other sizes available

  2. size_adjacent_suggest: customer asks if size L fits since M is OOS

  3. size_notify_variant: notification alert alert for specific size return only

  4. size_pdp_confusion: product in stock but my size is not

  5. size_cart_checkout_lost: size OOS at checkout

  6. size_chart_question: size guide overlap + stock

  7. size_run_popular_gone: M & L sold out, S & XL remain

  8. size_restock_when: restock date for size M only

  9. size_exchange_swap: exchange order to adjacent available size

  10. size_preorder_variant: confusing size preorder with out-of-stock

  11. size_marketplace_lag: size available on Google Shopping but not on site

  12. size_post_order_cancel: order cancelled due to size OOS oversell

Helpdesk tags

size, size_oos, size_adjacent, size_notify, size_checkout, size_resolved. Distinct from stockout_full, stockout_post.

Prioritization

P1: size_post_order_cancel, size_cart_checkout_lost. P2: size_oos_single, size_adjacent_suggest. P3: size_notify_variant FAQ, size_pdp_confusion.

Mining size verbatims

90 days export: "size M", "shoe size 38", "my size out of stock", "other size available", "greyed out". Distinct global "product sold out", "no longer in stock".

Which SIZE-MAP matrix should be documented?

The size-out-of-stock matrix SIZE-MAP adjacency list, notify variant, UX PDP, and exchange policy.

SIZE-MAP Columns

  • size_type: single_oos, run_depleted, checkout_lost, exchange

  • adjacency_grid: M → suggest L then S, footwear ±0.5

  • notify_scope: variant_id only, not product global

  • pdp_display: grey_oos, hide_oos, show_notify_cta

  • checkout_hold_min: 10-15 min variant reservation

  • exchange_policy: free swap adjacent if size_oos fault, 30 d

  • restock_metafield: variant restock_date or null

  • compensation_tier: link STOCK-COMP N1 vs N3 if oversell

Example footwear size_single_oos

size_single_oos: adjacency_grid 38→39→37, notify_scope variant_id, pdp_display grey_oos + notify CTA, checkout_hold 15 min, exchange_policy free swap if oversell size fault 30 d.

Example apparel size_run_popular_gone

M L OOS S XL available: SIZE-ADJ-01 cites available sizes list, size chart link for between sizes, no promise M date unless restock_metafield.

Publication /pages/size-availability

FAQ SIZE-MAP: greyed out size, variant alert, neighboring size, lost checkout, difference total stockout #87.

Variant-level buffer

Ops buffer qty 2 per hot size M/L not parent aggregate. Reduces size_checkout_lost oversell peak.

PDP schema variant availability

Structured data Offer per variant InStock OutOfStock reduces size_pdp_confusion Google rich results mismatch.

How to write the SIZE-SUP policy in eight rules?

The SIZE-SUP out of stock by size policy governs adjacency, variant notification, and exchange.

Eight SIZE-SUP rules

  1. Verify variant_id inventory: SF-4 API before citing available sizes

  2. Adjacent cite SIZE-MAP: adjacency_grid do not guess random size

  3. Notify variant only: notify_scope variant_id not product email blast

  4. No restock date inventory: restock_metafield or alert only per rule #87

  5. Size chart handoff: fit question → size guide, not stock macro

  6. Exchange adjacent verify stock: SF-4 target variant qty > 0 before promising swap

  7. Post-order oversell route #87: size_post_order_cancel STOCK-002 options refund swap wait

  8. Route full OOS #87: all variants zero → global out of stock macros, not SIZE-*

Adjacent fit disclaimer

SIZE-ADJ-01 suggest adjacent + link size chart. Agent never guarantees fit "L will fit like M" medical claim.

Checkout lost SLA

size_cart_checkout_lost P1: SIZE-CHECKOUT-01 within 2 h cite available sizes + cart deep link alternate variant.

Compensation oversell size

size_post_order_cancel brand fault: compensation_tier STOCK-COMP N3 link display errors if sync fault.

How to apply the SIZE-FLOW flow in eight steps?

The SIZE-FLOW framework structures the processing of size out-of-stock variant tickets.

Eight steps SF-1 to SF-8

  1. SF-1 Intake: product handle, variant size requested, order_id if post-pay

  2. SF-2 Classifier size_*: typology section 3

  3. SF-3 Match SIZE-MAP: adjacency, notify, exchange, display rules

  4. SF-4 Verify inventory: Shopify API all variants qty, requested variant_id

  5. SF-5 Explain: macro SIZE-* grounded SF-4

  6. SF-6 Decide: adjacent | notify | exchange | cart rebuild | handoff post-order

  7. SF-7 Execute: order edit swap, notify subscribe, cart link alternate variant

  8. SF-8 Document: size_action, variant_oos, variant_suggested, converted Y/N

SF-4 size_oos_single

Requested variant qty 0, siblings > 0 → SIZE-OOS-01 list available sizes + SIZE-ADJ-01 adjacency + SIZE-NOTIFY-01 variant alert offer.

SF-6 size_adjacent_suggest

Apply adjacency_grid SIZE-MAP. SIZE-ADJ-01 with size chart link. If client accepts → SF-7 cart deep link variant_id in stock.

SF-6 size_cart_checkout_lost

SIZE-CHECKOUT-01 explain checkout_hold expired or oversell. Rebuild cart available variant or SIZE-NOTIFY if none acceptable.

SF-6 size_post_order_cancel

Route #87 STOCK-002 four options. SIZE-EXCHANGE-01 if adjacent in stock and exchange_policy allows order edit.

SF-1 route full OOS

SF-4 all variants qty 0 → route global out-of-stock #87 rule 8.

SF-8 adjacent declined log

Tag reason too small too large prefer wait. Merch PO reorder signal monthly review.

Which SIZE-* macros and PDP touchpoints should be configured?

Eight size out-of-stock agent macros and touchpoints variant selector.

SIZE-OOS-01 (size-only out-of-stock)

"[Product] size [M]: out of stock. Available sizes: [S, L, XL]. Back in stock alert [M]: [notify steps]. Size guide: [url]."

SIZE-ADJ-01 (adjacent size)

"Size [M] unavailable. Neighboring size in stock: [L] (SIZE-MAP adjacency). Check the size guide before ordering: [url]."

SIZE-NOTIFY-01 (variant alert)

"Alert for size [M] only: PDP → select greyed-out [M] → "Notify me" or [notify_url]. Not the whole product."

SIZE-CHECKOUT-01 (lost cart)

"Stock for size [M] changed during checkout. [L] or [S] remaining. Cart updated: [cart_url variant]. Alert for [M] if preferred waiting."

SIZE-EXCHANGE-01 (adjacent exchange)

"Order #[X]: exchange to size [L] possible (stock confirmed). Confirmation within 24 hours. Original return if 30-day exchange policy holds."

SIZE-PDP-01 (display confusion)

"Product available in other sizes. Your [M]: out of stock. Size selector: grey = unavailable. Active sizes: [list]."

Touchpoints

  • PDP size selector grey-out + notify on OOS variant

  • Cart line variant OOS inline suggest adjacent

  • /pages/size-availability FAQ SIZE-MAP

  • Checkout error message variant-specific not generic

  • Klaviyo back-in-stock variant_id trigger

SIZE-RESTOCK-01 (variant date)

"Size [M]: estimated back in stock [restock_metafield date] or alert if date unknown. Other sizes: available now [list]."

Cart inline adjacent chip

Cart page "M unavailable → Try L" chip reduces size_cart_checkout_lost before pay step.

Which footwear, plus-size, and post-order cases should be processed?

Special size cases require SIZE-MAP extensions and separate SLAs.

Footwear half-size sizes

adjacency_grid ±0.5 : 38.5 OOS suggest 39 then 38. SIZE-MAP extension footwear vertical. Wide/narrow variants separate SKUs.

Plus-size run depleted

XL XXL gone S M L remain : sensitive messaging, no body commentary. SIZE-OOS-01 neutral list available.

Overlap size guide #size_chart

size_chart_question : route size guide article for fit. SIZE-SUP rule 5. Stock macro only after size confirmed.

Preorder variant confusion

size_preorder_variant : pre-order badge not OOS. Route pre-order communication not SIZE-NOTIFY.

Marketplace size lag

size_marketplace_lag : Google variant feed delay. SIZE-PDP-01 site live inventory cite + pause feed ops handoff if persistent.

Wishlist size OOS #445

Favorite wish specific variant OOS → cross-link wishlist (#445) notify from wish item variant.

Returns wrong size

Client ordered adjacent agent-suggested wrong fit : empathy not blame. Exchange or return per return policy, log SIZE-ADJ feedback merch.

B2B size MOQ

Bulk size run depleted : handoff account manager not tier 1 SIZE macros.

Unisex sizing dual chart

Products US/EU dual label : SIZE-OOS-01 cite both labels for requested variant clarity.

Which size KPIs to measure?

The size-out-of-stock support KPIs drive adjacent conversion and notify signup.

Eight key metrics

  • size_ticket_rate: tickets size / orders vertical fashion

  • size_adjacent_accept_rate: adjacent purchase / SIZE-ADJ suggestions

  • size_notify_signup_rate: variant notify / size_oos_single tickets

  • size_checkout_lost_rate: checkout abandon variant OOS / checkout starts

  • size_exchange_success_rate: swap completed / size_post_order

  • size_oos_variant_pct: variants OOS / total variants catalog

  • size_fcr: resolved first contact / tickets size

  • size_csat: satisfaction tag size resolved

DTC fashion Benchmark

size_ticket_rate 4-8% orders fashion, size_adjacent_accept 25-35%, size_notify_signup 40-55% offered, size_fcr > 75%, checkout_lost < 2% starts.

Monthly dashboard

SIZE-TYPE breakdown, top 10 variant OOS by revenue loss, adjacent convert by product category, notify-to-order 7 d conversion.

Ops alert

size_checkout_lost_rate spike > 3%: audit checkout_hold_min buffer hot sizes M/L.

Merch feedback loop

SF-8 size_adjacent declined reasons → reorder PO popular sizes. Distinct full SKU discontinue #243.

Notify-to-order 7 d KPI

Track orders within 7 days of variant notify signup. Target > 18% fashion vertical.

What anti-patterns should be avoided regarding page breaks by size?

Twelve size out-of-stock support anti-patterns to ban.

1. Macro global out-of-stock #87 only

STOCK-001 on size-only without available list. Client thinks product dead.

2. Suggest random size

Rule 2 adjacency_grid. XL when M OOS without logic.

3. Notify product not variant

Rule 3 notify_scope. Client spammed all size restocks.

4. Invent restock date

Rule 4 restock_metafield or alert only.

5. Guarantee fit adjacent

SIZE-ADJ disclaimer size chart. Return disputes.

6. Hide all sizes when M OOS

PDP pdp_display wrong. Conversion loss L XL buyers.

7. Generic checkout error

« Item unavailable » without variant name + alternate.

8. Exchange without SF-4 verify

Rule 6 target variant stock confirm.

9. Confuse fit guide

Rule 5 route size guide not stock invent.

10. Full OOS SIZE macros

Rule 8 route #87 all variants zero.

11. No variant buffer peak

size_checkout_lost spike BFCM. Per-variant buffer ops.

12. Ignore notify conversion KPI

Setup alert without 7 d order track wastes intent.

How does Qstomy help with stockouts by size?

Qstomy on Shopify: SIZE-FLOW variant inventory read, SIZE-OOS-01 available sizes cite, SIZE-ADJ-01 adjacency SIZE-MAP, SIZE-NOTIFY-01 variant alert inline, cart rebuild alternate variant, handoff post-order SF-4 pre-filled fields.

Qstomy size capabilities

  • size_variant_lookup: SF-4 all variants qty

  • size_adjacent_template: SIZE-MAP adjacency auto

  • size_notify_trigger: variant_id back-in-stock signup

  • size_cart_rebuild: alternate variant deep link

  • size_route_full87: all variants OOS → global

  • size_route_guide: fit → size guide article

Pipeline #447 → #448

#447 CS agents exchange oversell complex. #448 future bot size OOS adjacent notify. Shared SIZE-MAP.

Quantified DTC scenario

Footwear 8,000 orders/month, 68% support tickets size-only baseline.

After SIZE-SUP + Qstomy: size_ticket_rate -36%, size_adjacent_accept 33%, size_notify_signup 48%, size_fcr 79%, size_csat 4.3/5.

Explore customer support and request a demo.

Bot preview #448

Intents size_oos_single, size_adjacent feed future bot PDP proactive. SIZE-SUP human prerequisite post-order oversell.

Shopify variant API read

Qstomy SF-4 polls inventory_levels per variant_id real-time. No parent product aggregate stock cite.

What is the checklist for deploying SIZE-SUP?

SIZE-SUP Checklist (12 steps)

  1. Inventory SIZE-TYPE and vertical fashion footwear %

  2. Document SIZE-MAP adjacency notify exchange display

  3. Write policy SIZE-SUP 8 rules

  4. Publish /pages/size-availability FAQ + PDP grey-out notify

  5. Variant-level buffer hot sizes M/L checkout

  6. Klaviyo back-in-stock variant_id not product

  7. Create macros SIZE-* helpdesk distinct STOCK-004 #87

  8. Train agents SIZE-FLOW 45 min (SF-4 inventory, adjacent)

  9. Checkout error message variant-specific copy

  10. Tags size_* + dashboard KPI section 9

  11. Route full OOS #87 vs size-only disambiguation SF-1

  12. Sync SIZE-MAP → bot #448 future corpus

In brief

  • #447 = single size OOS, not total out of stock #87

  • SIZE-MAP: adjacency → notify variant → exchange

  • SIZE-FLOW: verify variant inventory → suggest → convert

  • Variant alert: variant_id not product global

  • KPI size_adjacent_accept_rate: target > 28 %

FAQ

Difference with out of stock #87?
#87 all sizes or discontinued. #447 one size OOS, sister sizes available.

Which neighboring size to suggest?
SIZE-ADJ-01 adjacency_grid SIZE-MAP + size guide link.

Back in stock alert for my size?
SIZE-NOTIFY-01 variant_id scope not product notify.

Size lost at checkout?
SIZE-CHECKOUT-01 alternate variant cart rebuild + notify option.

Size guide or stock?
Fit question → size guide. Stock OOS → SIZE-OOS-01.

Go further

This week: publish SIZE-MAP /pages/size-availability, configure notify variant_id Klaviyo, create macros SIZE-OOS-01 and SIZE-ADJ-01, train agents SF-4 variant inventory, add buffer M/L checkout.

Share this guide #447 with support and merchandising: a properly suggested adjacent size is worth ten lost sales, a global product alert is worth a hundred irrelevant notifications and zero conversion for size M.

Enzo

July 1, 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.