Skip to content

Stockout or Meta reset? How to read a revenue drop

A stockout and an ad platform problem both look like falling ROAS, but they leave different marks: which channels fell, which products fell, and on which day. Check those in GA4 before you touch the ads.

By , Founder & CEOPublished 6 min read

Run the numbers for your store: the free break-even ROAS calculator.

If revenue fell in a month you also ran out of stock, the stockout is your first suspect, not the algorithm. A stock problem and an ad platform problem both show up as falling ROAS. They leave different marks in your own data, and you can read those marks before you change a single ad.

A monthly store breakdown doing well on ecommerce YouTube this week makes the case in public. The creator puts a weak month down to stockouts and to what they describe as an industry-wide Meta ads algorithm reset, then walks through back-in-stock flows and a rare mid-year discount (the video). Whatever happened in that store, the two explanations call for opposite responses. One says fix the shelf. The other says change the ads, or wait. It pays to know which one you have.

Why a stockout looks like an ad problem

An ad for a product nobody can buy cannot convert. When a best seller sells out while campaigns keep running, spend carries on, purchases fall, and the dashboard reports that the ads got worse. Nothing about the ads changed. The thing they sell did.

Catalog ads can take sold-out items out of rotation, but only if your feed says they are sold out. Meta's catalog reference says items marked out of stock display as sold out in your shop and do not display at all in your ads (Meta for Developers). Google Merchant Center handles the same thing through its availability attribute, where out_of_stock means you are not accepting orders for the product (Merchant Center Help). If your feed updates on a schedule, an item can sell out between updates. And ads that point straight at a product page, such as a video or a static image, keep sending people to the sold-out page whatever the feed says.

The rest of the store feels it too. Email flows keep featuring the item, organic visitors land on the sold-out page, and returning customers cannot reorder. A stockout hits every channel that sends people to that product, not only paid social. That is the tell.

What you seePoints to a stockoutPoints to the ad platform
Which channels fellPaid, organic, direct and email, for the same productsMostly that platform's own traffic
Which products fellThe sold-out items, and the pages that led to themIn-stock and sold-out items alike
When it startedThe day the item sold outA day when stock was fine
Conversion rateFalls on the sold-out pagesFalls across the account

Four checks before you blame the platform

All four come from your own GA4 and your own stock records:

  1. Which channels fell. Open the traffic acquisition report by session default channel group and compare the weeks before and after the drop. GA4's default channel group rules put organic search, direct, email and paid social in separate rows, so you can see whether the drop sits in one of them or in all of them.
  2. Which products fell. Split revenue into items that stayed in stock and items that sold out. If the in-stock items held and the drop sits in the sold-out ones, you have your answer.
  3. When it started. Put the sell-out date next to the first day of the drop. A drop that begins the day your hero product sells out is a stock story. Watch the conversion rate on that product's page for the same days.
  4. What else changed. New creative, new budgets, a price change, a site release, a discount that ended. Write each one down with its date. Any of them can move revenue, and each one is a confounding variable until you rule it out.

An industry-wide reset is the one explanation you cannot check from inside your store. That does not make it false. It makes it the last one to reach for, after the four checks above have come back clean.

The comfortable story

An algorithm reset blames nobody you employ, and it asks you to wait. It is also the story the platform's own reporting will quietly support. The ads dashboard counts the purchases it can claim, so a sold-out best seller shows up there as a worse campaign, not as an empty shelf. The platform has no reason to tell you the problem was your stock. Its business is your next budget.

None of this is a failure of the person running the store. The reports are built to show ads, not shelves.

What to do this week

  • Mark the stockout dates in GA4. Annotations let you add notes to reports to explain changes in the data (Analytics Help). Mark when each key item sold out and when it came back.
  • Rebuild last month without the sold-out weeks, or without the sold-out items, and compare the channels again. If the channel story changes, the stockout was driving it.
  • Check the feed. Sold-out items should be marked out of stock in your catalog and in Merchant Center.
  • Pause or redirect the non-catalog ads that point at sold-out pages.

What to test when stock returns

Bring the stock back before you touch anything else. Hold the ads unchanged for a stretch after the restock, so the recovery reads as stock and not as whatever else you changed that week. Then change one thing at a time.

Keep the stockout window out of any test or read of channel performance. If a holdout or a budget test overlapped the stockout, rerun it. A before-and-after read around a dated event is an interrupted time series, and it only works when you know the date and nothing else moved at the same time.

Expect the back-in-stock email to look like your best flow of the month. It emails people who asked to be told when the item returned, and part of that group would have come back on its own. What the flow adds is a separate question, and a holdout answers it.

Where a read fits

Later, when the shelves are full and you want the channel question answered properly, a causal attribution tool like Causality Engine reads one file, your GA4 Attribution paths export, and shows what each channel caused next to what last-click gave it, with a data-health score and a next step for every channel. Keep your stockout dates beside it: a week with an empty shelf is a week in which no channel could do its job. The read is EUR 99 once per upload, excluding VAT, with a full refund within 30 days and no questions asked.

Frequently asked questions

  • Can a stockout lower ROAS on products that are still in stock?
    It can, when the sold-out item was the one your ads and emails pointed at. Visitors who came for it and found it gone may leave without buying anything else, so the whole account reports a worse return. Split revenue into in-stock and sold-out items to see where the drop actually sits.
  • How do I tell a platform delivery problem from a stock problem?
    Look at which channels fell. A platform change mostly touches that platform's own traffic, while a stockout touches every channel that sends people to the sold-out item, including organic search, direct and email. Then check whether the drop started on the day the item sold out.
  • Should I pause ads during a stockout?
    Pause or redirect the ads that send people to sold-out pages. Catalog ads leave out items that your feed marks as out of stock, so make sure the feed marks them. Keep the stockout dates, because any later read of channel performance has to leave those weeks out or account for them.
  • Is a back-in-stock email flow incremental?
    Not automatically. It emails people who asked to be told when the item returned, and part of that group would have come back on their own. It will look strong in your email tool's report, so use a holdout if you want to know what it adds.

Go deeper: Causal attribution, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.