Restarting catalog ads after a restock
Restarting catalog ads after a restock is not the mirror image of pausing them. 3 gates decide whether that SKU serves again, and each has its own clock.
Restarting catalog ads after a restock is not the mirror image of pausing them. 3 gates decide whether that SKU serves again, and each has its own clock.
The pallet lands Tuesday morning. By eleven it is counted in, the shop shows the bestseller as available again, and you open Ads Manager expecting the SKU that carried Q2 to earn. Two days later it has spent 60 EUR and sold four units, and you cannot tell whether the product is back in the auction or just back in your spreadsheet.
Every guide teaches the stop half. Sold out, pause it, save the money. Almost nobody writes the other direction.
Short answer: Restarting catalog ads after a restock means clearing three gates. The feed has to carry the new availability value, the product set rule has to stop excluding the item, and anything you paused at the ad set layer needs a person to switch it on. Meta reopens the first; the other two wait for you.
The takeaways
Three layers sit between a counted pallet and a served impression. Only two move without you.
The feed carries the availability value, and Meta reads the feed rather than your shop. So the flip happens on your next scheduled fetch, not at the moment the warehouse finishes counting. Pull once a day and the gap between your backend and the catalog can run close to 24 hours.
Then the product set. If yours is rule-based, it re-includes the item as soon as the value lands. Flexify's guide to excluding products gives the standard setup: for a set of in-stock items only, use the "is not" rule on Availability with the value "Out of stock". That rule runs against the current catalog, so re-inclusion is automatic.
The third layer bites. If you handled the stockout by pausing an ad set, or by hand-listing the SKU into an exclusion set, nothing re-includes it. That switch is yours.
Because that CPA was the output of an ad set that had been spending continuously, and the spending stopped. Delivery systems price you on recent behaviour. An ad set that sat still for three weeks is a different object from the one you paused, whatever the lifetime numbers say.
There is a second half nobody budgets for. The demand that was in-market during the outage did not wait. Some of it bought the substitute, some bought from a competitor, and your retargeting pools aged the whole time. What comes back first is the restock-notification list: converts beautifully, and it is tiny. On my accounts it is used up inside 48 hours, and after that you are paying cold-traffic prices again while the week-one average hides the switch.
Whether the restart also resets the learning phase is murkier than the advice admits. I went through what is documented and what is folklore in does pausing a Facebook ad reset learning?.
In waves, ranked by what the items earn. One feed update can flip hundreds of products from out of stock to in stock at once, and if they all sit in a single Advantage Plus campaign, the budget does not grow to meet them. It redistributes. The eligible pool triples in an afternoon, spend per item collapses, and the campaign hands you a week of unreadable data.
So stage it. I release the top 20 items by last-quarter revenue first and give them a full day alone before the long tail follows. Mechanically: the long tail sits in a product set attached to no live ad set, and moves across once the important items deliver steadily again. Worst case is a Friday afternoon: you get the redistribution plus the weekend, and Monday's read is worthless.
Eligibility, before performance. A weak week after a restock has two completely different explanations and they need opposite fixes, so establish which one you are in before touching a budget.
Open Commerce Manager and read three things. The timestamp of the last successful feed fetch: older than your scheduled interval means the catalog still serves pre-restock data, so nothing downstream can be trusted. The availability value on that specific SKU, against what your shop says. And the item count of the product set your ad set points at, which tells you whether the product made it through the rule.
Then the ad layer. Is the ad set still paused, is the ad still paused, was the SKU ever hand-excluded and never put back. Only once that is green does a weak CPA say anything about the market. The case where availability is simply wrong has its own post: out of stock products in catalog ads.
Not in anything I have built, and that was a decision rather than an oversight. Adscalr's rules fire on 8 metrics (CPI, CTR, hook rate, hold rate, ROAS, spend, frequency, CPM), and the only actions available to them are pause and kill. There is no resume action. There is no scale action. Every evaluation is logged, so you see what fired and when. Nothing in the system switches delivery back on.
The asymmetry is deliberate. Stopping spend on bad information costs you a day of reach. Starting spend on bad information costs cash, and the input here comes from an inventory system, usually the least reliable feed in the building. A kill stays reversible for 30 minutes, which is an undo window for a decision the system just took. It is no kind of restock mechanism, and I would rather say that plainly.
The pattern underneath: the automation layer holds a line well and judges a moment poorly. Automation and alerts keeps spend inside its guardrails and keeps a bad pause reversible while the product is gone. Deciding that it is properly back, and in what order, stays yours. Feeds say in stock long before the shelf agrees, often enough that I am fine with the split.
This is the thinking behind Adscalr.
See the product →