E-commerce
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
Global stockout #87: all variants OOS discontinued post-order. #447 = size only, parent live.
Alerts #48: widget Notify Me marketing setup. #447 = customer service precise variant + adjacency.
Bot alternatives #245: bot substitute automation. #447 = partial size agents playbook.
Size guide: PDP fit advice. #447 = variant stock, not morphology advice.
Bot size #448: future AI size OOS automation. #447 = customer service agents playbook.
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
size_oos_single: my size M is out of stock, other sizes available
size_adjacent_suggest: customer asks if size L fits since M is OOS
size_notify_variant: notification alert alert for specific size return only
size_pdp_confusion: product in stock but my size is not
size_cart_checkout_lost: size OOS at checkout
size_chart_question: size guide overlap + stock
size_run_popular_gone: M & L sold out, S & XL remain
size_restock_when: restock date for size M only
size_exchange_swap: exchange order to adjacent available size
size_preorder_variant: confusing size preorder with out-of-stock
size_marketplace_lag: size available on Google Shopping but not on site
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
Verify variant_id inventory: SF-4 API before citing available sizes
Adjacent cite SIZE-MAP: adjacency_grid do not guess random size
Notify variant only: notify_scope variant_id not product email blast
No restock date inventory: restock_metafield or alert only per rule #87
Size chart handoff: fit question → size guide, not stock macro
Exchange adjacent verify stock: SF-4 target variant qty > 0 before promising swap
Post-order oversell route #87: size_post_order_cancel STOCK-002 options refund swap wait
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
SF-1 Intake: product handle, variant size requested, order_id if post-pay
SF-2 Classifier size_*: typology section 3
SF-3 Match SIZE-MAP: adjacency, notify, exchange, display rules
SF-4 Verify inventory: Shopify API all variants qty, requested variant_id
SF-5 Explain: macro SIZE-* grounded SF-4
SF-6 Decide: adjacent | notify | exchange | cart rebuild | handoff post-order
SF-7 Execute: order edit swap, notify subscribe, cart link alternate variant
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)
Inventory SIZE-TYPE and vertical fashion footwear %
Document SIZE-MAP adjacency notify exchange display
Write policy SIZE-SUP 8 rules
Publish /pages/size-availability FAQ + PDP grey-out notify
Variant-level buffer hot sizes M/L checkout
Klaviyo back-in-stock variant_id not product
Create macros SIZE-* helpdesk distinct STOCK-004 #87
Train agents SIZE-FLOW 45 min (SF-4 inventory, adjacent)
Checkout error message variant-specific copy
Tags size_* + dashboard KPI section 9
Route full OOS #87 vs size-only disambiguation SF-1
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
Size guide
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





