Skip to main content
Metrics type: Key MetricsCategory: Ecommerce Platform
Products with stock_status=outofstock OR stock_quantity<=0. Source-of-truth feeding the ads_on_oos cross-platform kill-shot.

At a glance

Real-time count of WooCommerce products that are currently out of stock. The ground-truth feeding the Ads on OOS cross-platform kill-shot.

Calculation

Calculated automatically from your WooCommerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US homewares brand on Pressable managed-Woo with 1,840 active products, ~6,200 variations across colour and size. Inventory polled every 10 minutes. Three observations:
  1. Variations dominate the count. 312 of 415 OOS items are variations (specific size/colour) rather than entire products. The full SKU may still be sellable in other variants. The Ads on OOS card joins this against ad-active SKUs to flag the high-impact subset.
  2. Self-hosted server with object cache misconfiguration shows stale counts. A previous host this brand used cached wc_get_product_stock_status for 6 hours. The OOS count showed 380 in the morning, jumped to 415 at lunchtime (cache expired) and dropped to 350 by evening (warehouse restocked but cache showed pre-restock data for hours). Pressable Redis configuration eliminated the lag.
  3. Plugin-induced data shape variance: WooCommerce Subscriptions. Subscription products do not normally track stock, but some merchants enable inventory management on them. Subscriptions plugin then reduces stock on each renewal, which can drive a subscription product to OOS even though it is intangible. Watch for _subscription_renewal orders alongside Customer Churn.

Sibling cards merchants should reference together

Reconciling against the vendor’s own dashboard

Where to look in WooCommerce Admin: WP Admin → Products → Filter by Stock status: Out of stock. Counts simple products only. For the variation-level count, use WP Admin → WooCommerce → Reports → Stock → Out of stock. Why our number may legitimately differ from WooCommerce Admin: Cross-connector reconciliation:

Known limitations / merchant FAQs

Self-hosted vs managed-Woo, why does it matter for OOS? Object cache misconfiguration on self-hosted Woo can show stale stock for hours. Managed-Woo hosts almost always run Redis or Memcached correctly. If your OOS count appears to “jump” rather than drift, suspect cache. Status-filter selection, why exclude onbackorder? Backorder-allowed products are still purchasable, just delayed. Treating them as OOS would over-flag and noise the alert. If your business model relies heavily on backorders (e.g. furniture), use the Low Stock card instead. Refund-object accounting, does it affect OOS? No. Refunds restore stock if manage_stock = true and _restock_refunded_items is enabled (a 2024+ default). The OOS state updates accordingly within minutes. Plugin-induced data shape variance, what plugins might affect this?
  • ATUM Inventory Management stores stock in a custom table; we read the WC core meta fallback.
  • Stock Synchronisation for WooCommerce can sync stock from another Woo install on a delay; the OOS count drifts during sync.
  • Google Listings & Ads plugin reflects this card’s count in the Merchant Center feed.
  • WooCommerce Subscriptions: subscription products tracked as inventory will hit OOS on renewal cycles.
Multi-currency configuration, does it affect OOS? No, inventory is currency-independent. Why does Woo and Stripe disagree? Stripe does not track inventory. The two metrics are unrelated. Today is jumpy, why? Inventory levels move minute-to-minute. The card is real-time but polled every 10-15 min; expect small drifts. For action prioritisation, run Vortex Mind on the Ads on OOS card. Sync-lag from self-hosted server slowness, debug: If the indexer cannot reach the host, OOS state freezes at the last good poll. After recovery, watch for a sudden jump as the catch-up reflects ~1-3 hours of inventory movement. My WP Admin shows different OOS counts, debug:
  1. Refresh WP Admin (purge object cache if Redis-backed).
  2. Check whether a custom inventory plugin overrides _stock_status.
  3. Verify variations are being counted in WP Admin (the Products list shows simple products only by default, the Stock report shows variations).
  4. If the gap persists, contact support.

Tracked live in Vortex IQ Nerve Centre

Out-of-Stock Products is one of hundreds of KPI pulses Vortex IQ tracks across WooCommerce and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.