The classic scenario
Friday, 6 p.m. The e-commerce team has left the office. A best-seller's stock drops to zero. Google Shopping campaigns keep serving the ad. Each click costs between €0.60 and €1.50.
Monday, 9 a.m. The traffic manager discovers that 2,400 clicks were billed on a product nobody could buy. At an average CPC of €0.85: €2,040 of budget wasted in one weekend.
Why it happens so often
Product feeds aren't synced with inventory in real time:
- Merchant Center feeds update 1 to 4 times a day
- Some e-commerce platforms only push the out-of-stock status in the next batch
- Partially out-of-stock products (some sizes/colors) stay visible
- Exclusion rules in campaigns aren't always up to date
The result: there is almost always a lag between actual stock and what the ad platforms see.
The real financial impact
For a site with 85 active products in Shopping and a €15,000/month budget:
| Out-of-stock duration | Wasted clicks | Budget lost |
|---|---|---|
| 6 hours | 120 | €102 |
| 24 hours | 480 | €408 |
| Weekend (48h) | 960 | €816 |
| 5 days | 2,400 | €2,040 |
And that's for a single product. On a catalog of several hundred SKUs with regular stock-outs, the annual cost can reach €15,000 to €30,000 in wasted clicks.
How to detect it
Monitoring paid traffic on product pages lets you cross-check two signals:
- The visitor comes from a paid campaign (UTM, gclid, fbclid)
- The page shows an out-of-stock state (disabled button, "unavailable" message)
When both conditions are met, every click is a dead loss. The alert has to be immediate, with the euro amount to trigger action: pause the campaign, exclude the product from the feed, or redirect to an alternative.
Key takeaways
- The lag between actual stock and product feeds is structural: it will always exist
- Every paid click to an out-of-stock product is budget thrown away
- Automatically detecting "paid traffic + out of stock" is the only way to limit the losses
- The alert has to arrive within minutes, not days