Out-of-stock SKUs that are also generating support complaints — where lost availability is turning into lost goodwill.
At a glance
Complaints on Out-of-Stock SKUs is a cross-channel revenue-at-risk metric that joins your Intercom conversations to your commerce catalogue’s inventory. It lists the SKUs that are currently out of stock and attracting refund, stock, or availability complaints — the items where a stockout has crossed over from a missed sale into an actively annoyed customer. For a sports retailer like Blitz, that is the popular boot in the wrong size, or the team kit that sold through before a fixture. The card only renders when an ecommerce-platform or marketplace sibling connector is connected, because the inventory side of the join lives there.
| What it counts | A table of SKUs where on-hand inventory is at or below zero in the commerce sibling, joined to Intercom conversations tagged refund, stock, or availability in the window. Each row pairs a SKU with its complaint count and links to the conversations. |
| Sample type | Derived. Intercom conversations filtered by tag, joined to commerce_sibling.inventory on SKU where on_hand <= 0. Refreshed on the standard data refresh. |
| Why it matters | An out-of-stock item is a known revenue gap, but most stockouts pass quietly. A stockout that generates complaints is different: demand is high enough that shoppers are chasing it, and every complaint is a customer you can still recover with a back-in-stock date or an alternative. It tells the buying team which gaps to prioritise restocking and the support team where to deploy a saved reply. |
| Reading the value | Read it as a priority list, not a single number. The SKU at the top — highest complaint count while out of stock — is your biggest recoverable demand. A long table after a big drop or a sold-out launch is normal; a short table with one runaway SKU points at a single replenishment failure. |
| Currency | mixed (SKU label, complaint count, links) |
| Time window | 30D |
| Alert trigger | >0 OOS SKUs with complaint conversations |
| Sentiment key | — |
| Roles | owner, operations |
Calculation
The card pulls SKUs from the connected commerce sibling where currenton_hand inventory is at or below zero, then joins them to Intercom conversations created in the trailing 30 days that carry a refund, stock, or availability tag and reference that SKU (via the conversation’s linked order, mentioned product, or matched contact). Each output row is one out-of-stock SKU with its associated complaint count and links to the underlying conversations. The only_when gate keeps the card hidden unless an ecommerce-platform or marketplace sibling is connected, since the inventory side of the join cannot otherwise be resolved.
Worked example
A representative reading of Complaints on Out-of-Stock SKUs for Blitz, the sports retailer. The table shows five rows. At the top:BOOT-PRED-UK9 — Predator boots, UK size 9 — out of stock, with 11 complaint conversations in 30 days, mostly “when is this back?” and “you let me add it to basket”. Below it, a club jersey at 6 complaints and three long-tail items at 1-2 each. The support lead reads this as two distinct jobs. The runaway SKU at the top is a buying problem: the founder forwards it to the merchandising team to expedite a reorder and turns on a back-in-stock notify. The long tail is a content problem: the product pages should not be letting shoppers add unavailable sizes to basket. Without the join, these 20-odd complaints would have been scattered, untriaged “where’s my size” tickets. To see the revenue gap behind the top SKU, cross-reference the commerce sibling’s out-of-stock or lost-sales card; for natural-language exploration, ask Ask Viq “which sold-out SKUs are getting the most complaints”.
Sibling cards merchants should reference together
| Card | Why merchants reach for it |
|---|---|
ic_top_tags | Conversation Intelligence sibling: confirm stock / availability tags are rising in the overall topic mix. |
ic_negative_ratings | Customer Satisfaction sibling: stockout complaints often carry the worst CSAT — check the overlap. |
ic_xc_support_load_per_100_orders | Cross-channel sibling: a wave of stock complaints lifts contacts-per-100-orders. |
ic_xc_high_value_waiting | Cross-channel sibling: are any complainants high-LTV customers waiting past SLA? |
ic_volume_trend | Conversation Intelligence sibling: tie a complaint surge back to a volume inflection. |
Reconciling against the vendor’s own dashboard
Where to look in Intercom’s own dashboard: Intercom can show you the complaint side but not the inventory side. In Reports → Conversations, filter by therefund, stock, and availability tags to see the volume of availability-related conversations, or build a saved Inbox view on those tags. Intercom has no concept of which SKU is out of stock, so it cannot rank by SKU or join to on-hand inventory — that linkage is what Vortex IQ adds by pulling the catalogue from the commerce sibling.
Why the Vortex IQ value may legitimately differ:
| Reason | Direction | What to do |
|---|---|---|
Tag completeness. The join only sees conversations agents tagged refund / stock / availability. Untagged complaints are missed. | Vortex IQ lower | Tighten tagging discipline or rely on auto-tag rules. |
| Inventory snapshot timing. A SKU restocked since the last inventory sync may still show complaints from when it was out. | Variable | Confirm the inventory refresh time against the complaint dates. |
| SKU resolution. A complaint that never named a product or order cannot be tied to a SKU and will not appear. | Vortex IQ lower | Encourage agents to link orders to conversations. |
Known limitations / merchant FAQs
Q: How often does Complaints on Out-of-Stock SKUs update? The card refreshes on the standard data refresh (typically every 30-60 minutes for live integrations). Inventory and conversation data are both re-pulled on that cycle; force a manual refresh after a known restock. Q: Why is the card empty when I have stockouts? Either no out-of-stock SKU has attracted a tagged complaint in the last 30 days (a quiet, well-managed stockout), or the commerce sibling is not connected — the card is gated byonly_when and needs an ecommerce-platform or marketplace connector for the inventory join.
Q: A SKU is back in stock but still shows here. Why?
The complaint conversations are dated within the 30-day window, so they can persist after a restock until they age out. Check the inventory snapshot timestamp against the conversation dates.
Q: Can I customise the alert threshold?
Yes. The default alert fires whenever any out-of-stock SKU has complaints; sensitivity is configurable per profile in the Sensitivity tab if you want to surface only SKUs above a complaint count.