At a glance
A cross-platform alert that joins AdRoll’s live Dynamic Ads serving against your commerce platform’s real-time stock levels and flags every case where AdRoll is still running a dynamic product ad for a SKU that is actually out of stock. AdRoll’s Dynamic Ads are driven entirely by the product catalogue synced from your store, so an out-of-stock SKU left in the eligible pool is pure waste: you pay the click, the shopper lands on a product page they cannot buy, they bounce, and the conversion is impossible by definition. Because AdRoll is retargeting-first, the shopper has usually already viewed or carted that exact SKU, which makes the sold-out landing experience even more jarring. This card only exists because Vortex IQ sees both sides, AdRoll’s serving layer and the commerce stock ledger, in one place. It is the highest-confidence “stop paying for this right now” signal in the AdRoll manifest, because there is no ambiguity: a quantity of zero cannot convert.
Calculation
Calculated automatically by joining your AdRoll data with your connected commerce platform. 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 homeware DTC retailer on BigCommerce runs AdRoll Dynamic Ads retargeting across a 1,800-SKU catalogue, mostly site-visitor and cart-abandoner audiences with a small prospecting layer. A weekend clearance sold through three hero SKUs faster than the feed refreshed. The join evaluates AdRoll’s live Dynamic Ads serving against BigCommerce stock. Account currency GBP. Window is real-time, snapshot 19 Jun 26.
What the pattern tells you:
- Three hero SKUs at quantity zero are still being served. That is roughly GBP 535 of at-risk spend in a single day on ads that cannot convert. Because these are retargeting placements, the clicks come from shoppers who already wanted the exact item, so click rates stay high and the waste accelerates. Every click sends a shopper to a sold-out product page. The waste is not hypothetical; it is billed and ongoing.
- The feed has not caught up to the stock-out. BigCommerce recorded the sell-through, but AdRoll’s catalogue still lists the three SKUs as in stock, so Dynamic Ads keep selecting them. The gap between the storefront and the synced feed is the entire problem, and feed cadence is the fix.
- A near-sibling SKU is fine. The king-size duvet set (HOM-2208) is in stock and converting normally, which proves the campaign and audience are healthy. The fault is per-SKU stock-out, not a campaign-level failure, so the action is surgical, not a campaign pause.
- The fastest mitigation is a feed re-sync. Force a catalogue push so AdRoll sees quantity zero and drops the SKUs from the dynamic pool automatically. Most stores running daily feed sync are exposed during clearance and flash events; moving to a faster stock sync closes the window.
- The structural fix is stock-aware feed rules. Configure the product feed export to exclude or suppress zero-quantity SKUs at the source, so a stock-out removes the SKU from AdRoll’s eligible pool the moment it happens rather than at the next scheduled sync.
- There may be a small residual conversion. If any of these SKUs shows an attributed conversion in AdRoll, it is almost certainly lagged Pixel credit from a click before the stock-out, not a sale of an out-of-stock item.
- Breach concentrated on hero SKUs during a promotion = feed lag against fast sell-through, tighten sync cadence.
- Breach on a single SKU = isolated stock-out, suppress that SKU in the feed.
- Breach clears after a forced feed re-sync = confirmed feed-lag cause, no campaign change needed.
- Breach persists after re-sync = the feed export is not honouring stock state, fix the feed rule.
- At-risk spend is large relative to total = your feed cadence is too slow for your stock velocity.
Sibling cards merchants should reference together
Reconciling against AdRoll
Where to look in AdRoll’s own dashboard:In the AdRoll dashboard at app.adroll.com, open Product Feed (under Audiences and catalogue settings) to see which SKUs AdRoll currently treats as available, and your commerce platform’s inventory view (Shopify Admin → Products → Inventory, BigCommerce → Products, or Adobe Commerce → Catalog → Products) for the live stock quantity.AdRoll on its own cannot show you this card, because AdRoll only knows what its synced catalogue says, not what your storefront actually has in stock at this second. That is the cross-platform gap Vortex IQ closes. To reconcile manually, take the breached SKU list from this card, look each one up in AdRoll’s Product Feed (it will show as available, which is the bug) and in your commerce inventory (it will show quantity zero, which is the truth). The mismatch between the two is exactly what this card surfaces automatically. Why our number may legitimately differ from a manual check:
Cross-connector reconciliation:
This card is inherently cross-platform; the join is its whole reason for existing: