The Monday report shows a drop in sales, the team looks for culprits in bids and creatives, and the cause sits one level lower: the bestseller has had zero stock since Thursday and has quietly disappeared from ad delivery. This guide shows how stock levels steer product campaigns, what days of cover are and which threshold rules let you spend budget only on goods you can actually sell.
Source data
Stock levels in data: from shop to feed
Before stock affects a campaign, it travels a short path: from the shop system to the feed, and from the feed to the ad platforms.
Definition
Stock level in e-commerce data is the number of units available for sale, tracked per SKU and variant (size, colour, capacity). In the product feed it translates into the availability attribute (in_stock / out_of_stock), and in analytics it works best as a daily snapshot: a record of each product’s stock at the end of every day, which shows the history rather than just the present moment.
Three details determine the quality of this data. Variant level: customers buy sizes, not a “product”, so aggregated stock per SKU hides shortages of the most popular variants. Frequency: a feed refreshed once a day can advertise goods that are no longer there for many hours. History: without daily snapshots you cannot tell since when a product was missing or how many days of ad delivery were lost. The mechanics of the feed itself and the availability attribute are covered in the guide to the product feed.
Mechanics
How out-of-stock items switch off product campaigns
Zero stock stops ad delivery without any notification. Google suspends a product marked as unavailable (in campaigns and in free listings), Meta removes it from product sets filtered by availability, and the campaign budget quietly shifts to the rest of the catalogue. At account level nothing raises an alarm: spend matches, only the delivery mix changes. This is what a typical fourteen days in the life of a bestseller looks like:
14 days of a bestseller · wireless headphones · €37.25electronics shop · illustrative data
Days 6–9: delivery suspended. The last unit sold on the afternoon of day 5; the feed processed zero stock the next morning. Ads and free listings go dark without any message.
Day 10: delivery arrives. Stock is available from the morning, but ads return only after the feed is updated and processed in Merchant Center, in the evening.
Days 11–14: ramping up. Systems rebuild their signals and competitors have taken part of the demand. Sales recover gradually, not in one jump.
The cost of four days out of stock: at an average of 8 units a day, that is about 32 unsold units, or nearly €1,200 in revenue, plus a week of rebuilding sales momentum afterwards. The cost of a stock-out almost always exceeds the cost of reordering earlier.
The other side of this mechanism is often quieter: remarketing without exclusions keeps showing customers a product they cannot buy, and a product page missing its most popular variant collects visits and basket additions without checkouts. This second symptom is clearly visible in the funnel: rising add-to-baskets without purchases at low stock are covered in the guide to connecting the funnel with sales.
The campaign cannot see the warehouse. It sells the last two units with the same enthusiasm it showed when there were two hundred.
Low stock
Low stock: the campaign sells what you cannot deliver
Between a full warehouse and zero lies a zone where the most expensive mistakes happen. A campaign scaled on four days of stock ends at the worst possible moment: advertising builds demand, the product runs out at the peak, and delivery stops exactly when it was performing best. A view combining stock level, sales velocity and days of cover shows the problem immediately:
Real risk
Scaling campaigns without looking at days of cover spends budget on future stockouts. A case with four days of cover and a growing budget guarantees the scenario from the timeline above: ads stopped at the peak, customers lost to competitors and a week of ramping up again after delivery. Marketing and purchasing need to look at the same number.
Metric
Days of cover: one metric linking stock and budget
Stock in units alone says little: 46 units is plenty for a product selling two a day and an alarm for a bestseller selling eleven. That is why the common language of warehouse and marketing is stock converted into days of sales:
Formula · days of cover (stock cover)
days of cover = stock level / average daily sales (e.g. over 28 days)
Example: 46 units / 11 units per day = 4 days. Calculated per SKU and variant, based on paid shop orders.
A second metric completes the picture on the money side: the share of budget on low stock. What proportion of weekly spend on product campaigns goes to products with cover below the threshold (e.g. 7 days)? This single number shows how much budget is working towards sales the warehouse may not be able to fulfil, and it is an excellent anchor for a weekly review between marketing and purchasing.
Methodological note: days of cover are based on an average, so seasonality, promotions and days of the week distort them. When demand changes quickly, calculate the average over a shorter window and treat the metric as an early warning system rather than a day-accurate forecast. Per-product accuracy also requires stock levels per variant.
Playbook
Threshold rules: what to do with campaigns at each stock level
Thresholds are worth setting once and monitoring jointly (marketing, purchasing, warehouse). A sensible starting point looks like this:
| Days of cover | Signal | Campaign action |
|---|---|---|
| Above 21 | safe stock | the product can enter scaling campaigns without restriction |
| 8–21 | normal zone | keep current budgets; if you plan to scale, confirm the delivery first |
| 7 or fewer | low stock | a label such as low-stock, exclusion from scaling campaigns, reduced budget or target |
| 0 | out of stock | availability stops ads from serving; pause product remarketing and show the delivery date on the product page |
| Back after zero | restart | update the feed as soon as the delivery is received; give the product higher priority for a few days until velocity returns |
These rules reach campaigns through stock labels in the feed (e.g. full-stock, low-stock, last-units): they let you split product groups in Google Ads and sets in Meta without manually excluding individual SKUs. The labels reach Merchant Center via a supplemental feed, for example a Google Sheet, as described step by step in the guide to Merchant Center. Remaining stock follows a separate rule: clearing the last units is done in a dedicated campaign with a cap, not in a scaling campaign.
Key takeaway
Scale down gradually instead of switching off. Abruptly pausing a campaign at low stock loses its history and makes the return harder. The sequence is gentle: label and exclusion from scaling, then a lower budget, and leave stopping ads to the availability attribute, which does it automatically at zero.
DataOrganizer
How DataOrganizer links stock levels with campaigns
All the numbers in this guide come from three sources that DataOrganizer brings together automatically. The shop integration supplies a daily catalogue snapshot with stock per SKU and variant, paid orders provide sales velocity (and therefore days of cover), and ad platforms provide campaign spend. Combining them produces views that no single dashboard offers: products advertised on low stock, stockout history and its cost, returns after zero and the share of budget on low cover.
Stock labels return to campaigns the same way as margin labels: through a Google Sheet connected in Merchant Center as a supplemental feed, with values refreshed together with the data. You can also simply ask about the current situation:
Three products combine active spend with less than 7 days of cover:
| Product | Stock | Days of cover | 7-day spend (Google) |
|---|---|---|---|
| MagSafe case | 46 | 4 | €153 |
| Bike phone mount | 28 | 5 | €87 |
| Tempered glass 6.7″ | 60 | 6 | €72.75 |
In total, €312.75 per week is working towards sales the warehouse may not be able to fulfil. If deliveries are not confirmed for the coming days, I can tag these products with the low-stock label in the Merchant Center sheet so they drop out of scaling campaigns until the delivery arrives.
Key takeaway
Warehouse and marketing stop arguing once they look at the same numbers. Days of stock per product, the share of budget on low cover and the stockout history from daily snapshots turn the conversation about “why sales dropped” into specifics: which product, from which day, at what cost.
FAQ
FAQ: stock levels in product campaigns
What happens to ads when a product is out of stock?
A product marked as out_of_stock stops serving in Google product ads and in free listings, and in Meta it drops out of sets filtered by availability. The campaign does not report this as an error: the budget quietly flows to the rest of the catalogue. Keep a separate eye on remarketing, which without exclusions can keep showing a product that cannot be bought.
How do you calculate days of stock cover?
Divide current stock by average daily sales from paid orders (e.g. over 28 days): 46 / 11 = 4 dni. Calculate per SKU and variant, because sizes and colours sell at different rates. With strong seasonality, use the average from a shorter, recent window.
Should you pause a campaign when stock is low?
Usually not: switching off abruptly loses the accumulated history and makes recovery after delivery harder. A graduated approach works better: a low-stock label and exclusion from scaling, then a lower budget, while stopping delivery at zero is left to the availability attribute. The exception is end-of-line stock that you deliberately sell off through a separate, capped campaign.
Why does a product not sell as before once it is back in stock?
Ads only resume once the feed has been processed, ad systems gather signals again, and competitors have served part of the demand during the stockout. Sales return gradually. A recovery plan helps: update the feed immediately after delivery, give the budget temporarily higher priority and message customers who added the product to their basket during the stockout.
How should you advertise end-of-line stock?
Separately from the rest of the catalogue: a label such as ostatnie-sztuki and a dedicated clearance campaign with a limited budget. A scaling campaign should not spend full bids on stock that is about to run out. Watch variants too: a product with only one size available still looks fully available in the ad, while the product page conversion rate drops.
Cheat sheet for the whole guide
Three rules for linking stock with campaigns
1. Track stock per variant and record it daily. A daily snapshot per SKU and variant is the only way to see the history of stockouts, their cost and how quickly products recover. The feed translates stock into availability, so its freshness determines whether you are advertising goods that actually exist.
2. Days of stock are the common language. Stock divided by daily sales turns units into time and lets you set simple thresholds: above 21 days scale, below 7 turn down and label, at zero the feed stops delivery. The second metric for the weekly review is the share of budget spent on products with low cover.
3. Graduate, do not switch off. Stock labels in the feed (via a spreadsheet and Merchant Center) steer campaigns without losing history, and a post-delivery recovery plan shortens the ramp-up. DataOrganizer keeps it all running automatically: stock, sales velocity and campaign spend in one model, with answers in the chat.
DataOrganizer · warehouse and marketing on the same numbers
Connect your shop and ad platforms: days of stock per product, budget on low cover and stockout history are calculated from your data. Demo account available instantly; you pay only for connected sources.