Skip to main content
Card class: Cross-ChannelCategory: Ecommerce Platform
Dead-stock SKUs with active paid-ad spend behind them. Pause-immediately list.

At a glance

Alert table: SKUs that meet BOTH criteria, dead-stock in BC (zero sales velocity for 90+ days, ageing inventory) AND active ad spend on the same SKU in Google Ads, Amazon Ads, or Meta Ads. The merchant is paying to drive traffic to product pages whose products will eventually be written off. Pause-immediately list.
What it countsSKU WHERE bc.item.sales_last_90d = 0 AND bc.item.inventory > 0 AND ad_platform.spend_30d > $500 (configurable thresholds). Each row = SKU + 30D spend + 90D sales (typically zero) + on-hand value + days-since-last-sale + recommended action.
VAT / tax treatmentn/a, this is a sales-velocity-vs-spend comparison.
CurrencyPer-SKU in transaction currency; ad spend converted to Reporting Currency.
Channels / sourcesBC sales velocity vs ad spend across Google Ads, Amazon Ads, Meta Ads. The ad-platform-to-SKU join is via product_id / landing_page_url mapped to the BC Item No.
Sales velocity threshold90D zero sales is the default “dead-stock” definition. Configurable.
Spend thresholdDefault 500/30D.Lowerforsmallmerchants(500 / 30D. Lower for small merchants (100); higher for large ($2,000).
Multi-CompanyThe card can scope to a Company-specific commerce platform (Shopify EU + EU Company, Shopify US + US Company, etc.) to avoid false positives where a SKU is dead in one Company but selling in another.
Time window30D for ad spend; 90D for sales velocity.
Alert triggerany SKU spending >$500 AND zero sales.
Sentiment keydead_stock_ad_waste
Rolesowner, marketing, finance

Calculation

Calculated automatically from your Microsoft Dynamics 365 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 omnichannel apparel brand on BC + Shopify Plus, with Google Ads + Amazon Ads + Meta Ads connected via Vortex IQ. Reporting period 02 Apr 26 to 01 May 26. Headline: 14 dead-stock SKUs receiving £4,840 of monthly ad spend with zero sales in the last 90 days. Ageing inventory dollars on these SKUs: £128,400. Top 6 dead-stock-with-ad-spend cases:
SKUDescriptionAd spend 30DSales 90DDays since last saleOn-hand valueLast sale dateAction
APPAR-DRES-NVY-SNavy dress, size S£1,140£0142£18,40014 Dec 25Pause Google + Meta
APPAR-COAT-WIN-XLWinter coat XL£820£0168£42,80018 Nov 25Pause + clearance
APPAR-BAG-VEL-PNKVelvet bag pink£620£0134£8,20022 Dec 25Pause Google
APPAR-SCRF-WOL-CHKWool check scarf£580£0122£4,20003 Jan 26Pause
APPAR-SHIR-PRP-MPurple shirt, size M£540£0156£6,20009 Nov 25Pause Meta
APPAR-JACK-LTH-REDRed leather jacket£520£0178£14,80008 Nov 25Pause + clearance
Five things to notice:
  1. The 14 SKUs are seasonal cleanouts that nobody paused. The winter coat in size XL (sold its last unit on 18 Nov 25) is no longer winter-relevant. Google Shopping campaigns are still serving the product because the product feed includes it; Meta is still serving lookalike audiences against it. Both platforms charge for impressions and clicks regardless of conversion.
  2. Cumulative annualised waste: £4,840 × 12 = £58,080 / year of advertising spend on products that will not sell at full price. Plus the ageing-inventory carry cost on £128,400 of dead stock.
  3. Action playbook: Pause Google Shopping product-level bids on all 14 SKUs (immediate £4,840/month savings). Pause Amazon Ads on the same 14. Move to clearance section on the website at 30 to 50% off. Implement an automation rule: “if a SKU has zero sales in 90 days, auto-pause ads on that SKU and trigger merchandising review”.
  4. Why this is the kill-shot: the cross-channel join is only Vortex IQ. BC knows sales velocity (it owns the SO data). The ad platforms know spend. Neither knows the other side. The marketing team optimises ROAS at the campaign level (where the headline is healthy because it averages across active SKUs); the dead-stock SKUs do not get individual attention. Power BI cannot do this join out of the box.
  5. CEO conversation: “You are paying £4,840 per month to advertise products you will eventually mark down to clearance. Want to see the list?” Most merchants find 3 to 8% of monthly ad spend on dead-stock SKUs (median); recovered annual spend £30K to £120K for typical £2M to £20M revenue merchants.

Sibling cards merchants should reference together

CardWhy pair it with Dead Stock with Active Ad Spend
Dead Stock ValueThe dollar dead-stock figure; this card filters to those with ad spend.
Inventory AgingThe ageing curve for the dead-stock SKUs; dictates clearance pricing strategy.
Margin Erosion AlertsMarkdown clearance pulls margin down; this card’s action is the cause.
OOS with Open SO DemandThe mirror leak: this card is over-stocked + over-promoted; OOS is under-stocked + has demand.
google_ads.adwords_total_spendThe denominator: total ad spend, this card is the dead-spend subset.
amazon_ads.amzn_ads_spendSame for Amazon Ads.
Top SKUs by Inventory ValueIf a top inventory-value SKU appears here, the recovery is large.

Reconciling against the vendor’s own dashboard

Where to look in Business Central: BC cannot show this. BC has no view of ad-platform spend. The view is necessarily cross-platform. BC’s dead-stock view: Reports > Inventory > Inventory Aging by Item, filtered to zero-velocity items. Cross-reference manually against Google Ads / Amazon Ads / Meta Ads UIs to find which dead-stock SKUs are still ad-active. Power BI’s BC content pack also does not connect to ad platforms. This is exactly what Vortex IQ automates. Why our list may legitimately differ from a manual cross-check:
ReasonDirectionWhy
SKU-to-ad-product mappingMaterialVortex IQ joins BC Item No. to ad-platform product_id / landing_page_url. Mis-mapping (incorrect feed configuration) produces false negatives.
Ad spend allocationMaterialBrand-keyword ad spend (which does not directly target a SKU) is excluded; some merchants want to include it. Configurable.
Sales-velocity thresholdEither90D zero-sales is the default. Different industries need different thresholds.
Multi-currencyEitherAd spend in different currencies converted to Reporting Currency.
Cross-connector reconciliation: This card IS the cross-connector kill-shot, joining BC sales/inventory to ad-platform spend. The constituent cards:
CardDirectionNotes
google_ads.adwords_total_spendSpend sideThe total spend; this card is the dead-stock subset.
amazon_ads.amzn_ads_spendSpend sideSame.

Known limitations / merchant FAQs

Why is this not visible in Power BI? Because Power BI’s BC content pack reads BC data only. To see ad-platform spend, the merchant would need to build a custom data flow joining BC + Google Ads + Amazon Ads + Meta Ads. Most do not. This is the join Vortex IQ delivers natively. My ads team disputes this. They claim ROAS is healthy at the campaign level. At campaign level it usually is, because the campaign averages across active SKUs. The dead-stock SKUs are a tail problem. ROAS at the SKU level on these would be near zero (zero conversions). The card surfaces the tail. Can Vortex IQ auto-pause the ads? Not yet. Roadmap: AI OS Action Engine with safe pause on dead-stock-detected. Today, the card surfaces; the merchant pauses in Google Ads / Meta / Amazon UI. What if the SKU is dead in BC but I just relaunched it on Shopify? The card uses BC sales velocity. If the SKU was relaunched but BC has not seen a sale in 90 days, it still flags. Configure exclusions for relaunched SKUs via field map. Brand keyword ads: should those be included? Default no. Brand keywords drive overall awareness, not SKU-specific traffic. Some merchants want to include; configurable. Multi-Company tenants: how is the cross-channel join scoped? The field map specifies which Company’s BC inventory and which ad-platform account map together. UK Apparel Ltd + Google Ads UK + Meta UK on one row; US Apparel Inc + Google Ads US + Meta US on another. Does the card see Microsoft Advertising (Bing Ads)? Yes if Microsoft Advertising is connected via Vortex IQ. The principle is the same; the AL-Extension-equivalent on the Microsoft Ads side is the API connection. What is the typical recovery for a mid-market BC merchant? Median 3 to 8% of monthly ad spend on dead-stock SKUs. For a £200K/month ad spend, that is £6K to £16K/month or £72K to £192K/year of recoverable budget.

Tracked live in Vortex IQ Nerve Centre

Dead Stock with Active Ad Spend is one of hundreds of KPI pulses Vortex IQ tracks across Microsoft Dynamics 365 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.