Spend burning on SKUs that can’t convert. The single highest-ROI ‘pause’ recommendation in the AI OS.
At a glance
The £/$ ad spend in the last 24h pointed at Shopify variants that are currently out of stock (Product.totalInventory <= 0 AND Product.status = ACTIVE). The single highest-ROI “pause” recommendation Vortex IQ ever surfaces, every dollar shown here is wasted CPC.
Calculation
Calculated automatically from your Shopify 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 UK fashion brand on Shopify Plus running Google Shopping, Performance Max, and Meta Catalogue Sales. Reading taken at 11:30 GMT on 12 Apr 26. Total daily ad spend across all platforms is roughly £4,200.
The card reads £657 / day spend on OOS SKUs, projected at roughly £20,000 / month if unchecked. Six things to notice:
- The £657 is upper-bound wasted spend. Some of those clicks generate “view OOS” tracking events that feed Google’s signal layer (improving future bidding), and a fraction of customers click through and buy a different SKU on the same store. So the true wasted figure is closer to £400 to £500. Still material.
- Meta is the worst offender. Meta’s catalogue sync frequency is configurable but defaults to every 24 hours; merchants who haven’t tuned it down to hourly bleed the most spend on stale OOS data. Setting Commerce Manager → Catalog → Settings → Update schedule to “Hourly” closes most of the gap.
- Google PMax is structurally hard to fix. Performance Max is an automated campaign type with limited SKU-level controls. Google’s documented best-practice is to remove OOS items from the Merchant Center feed (not the campaign), which propagates to PMax within 6 to 12 hours. Manual SKU-level negative bidding doesn’t work with PMax.
- TikTok Shop’s hourly sync is best-in-class. TikTok’s tight integration with Shopify means the feed reflects OOS within 60 minutes. This is increasingly true of the newer ad platforms; legacy Google / Meta integrations lag.
- The cross-platform value compounds. The £657 / day saved here is roughly 15% of total ad spend. Reallocated to in-stock high-velocity SKUs, the same £657 produces incremental £2,000 to £3,500 / day in revenue (typical 3 to 5x ROAS for top SKUs). The total opportunity is closer to £3,000 / day, not £657.
- The card is a recommendation, not an automatic pause. Vortex IQ Mind can auto-pause OOS ads via the Google Ads / Meta Ads connectors if the merchant has opted in (Settings → Mind → Auto-actions). Most merchants prefer a manual review step; the auto-pause feature is conservative and only triggers above £100/day waste.
Sibling cards merchants should reference together
This card is the highest-ROI cross-platform pair. Triage and prevent with these:Reconciling against the vendor’s own dashboard
Where to look in Shopify Admin: Shopify Admin doesn’t surface this cross-platform view, it has no native visibility into ad-platform spend. The closest manual reconstruction is:- Products → Inventory → filter Available: 0 or less, Status: Active. Cross-reference each SKU manually against Google Merchant Center, Meta Commerce Manager, and TikTok Seller Center.
- Marketing → Campaigns (Shopify Marketing) → for ad campaigns set up via Shopify’s native ad integrations, the campaign-level dashboard shows status. Doesn’t surface OOS-feed warnings.
- Google Merchant Center → Diagnostics: shows feed-level errors, including “out of stock” warnings on individual products. This is the upstream source for Google’s portion of the figure but doesn’t show spend implications, only feed health.
- Meta Commerce Manager → Catalog → Diagnostics: same as Google Merchant Center but for Meta. Shows OOS warnings; doesn’t show £ wasted.
- Apps like AdScale / NestScale: show ad performance per SKU. Useful for ROAS analysis but don’t cross-reference against live Shopify inventory.
Cross-connector reconciliation:
This card IS a cross-connector reconciliation by design. The relationships:
Known limitations / merchant FAQs
Why is my figure higher than expected? Three usual causes:- Meta catalogue sync is on the daily default. Meta will keep advertising OOS SKUs until the next sync. Change Commerce Manager → Catalog → Settings → Update schedule to “Hourly” (or via API for real-time).
- Performance Max can’t be SKU-paused. PMax is automated and the only way to stop it advertising an OOS SKU is to remove the SKU from the Merchant Center feed (via Shopify’s Google Channel app: Channels → Google → Manage product status). Manual campaign-level negative bidding doesn’t work.
- A long-tail SKU you forgot about. Brands with 5,000+ active SKUs often have hundreds of low-velocity items being advertised by automated bidding strategies. Most of the £ here is concentrated in 5 to 20 SKUs; sort the breakdown by spend to find them.
- No ad-platform connector connected. This card needs at least one of Google Ads, Meta Ads, TikTok Ads, or Amazon Ads connected. Connect in Settings → Connectors.
- SKU mapping gap. If your ad-platform feed uses different SKU naming than Shopify, Vortex IQ can’t join them. Check Settings → Connectors → Google Ads → SKU mapping and confirm the join key is correct.
- The OOS SKUs aren’t in any active campaign. A SKU OOS in the catalogue may not have an active ad pointing at it (you’ve already paused). The card correctly shows zero for these.
availability field to “out_of_stock” in the feed (via the Shopify Google Channel app or direct Merchant Center API), which propagates to PMax within 6 to 12 hours. If you’ve connected the merchant center directly, this happens automatically; if not, the card surfaces the recommendation but you act manually.
Multi-currency: why is the figure in £/$ when my ad platforms bill in different currencies?
Spend across platforms is summed without FX conversion and displayed in the workspace’s display-currency setting. Per-platform per-currency views are on the roadmap. For tight reconciliation, drill into each platform’s connector dashboard for native-currency figures.
Action playbook when this card alerts:
- Sort the OOS-with-ads list by daily spend (descending). The top 5 to 10 SKUs almost always represent 80% of the waste.
- For each top SKU: pause manually via the ad platform if spend > £50/day, or accept Vortex IQ Mind’s auto-pause recommendation.
- For Performance Max specifically: edit the Google Merchant Center feed to mark the SKU
out_of_stock(Shopify Google Channel app does this automatically if connected). - For Meta: change Commerce Manager catalog sync to hourly to prevent recurrence.
- Pair with the OOS SKU’s reorder lead time. If reorder is 7 to 14 days out, just pause. If reorder is 1 to 3 days out, consider keeping ads running and accepting the waste, sometimes back-in-stock customer-trust signals are worth more than the wasted CPC.
- Set up an automatic “back in stock” trigger to resume ads when inventory returns, this is in Settings → Mind → Auto-actions and runs by default if auto-pause is enabled.