Short answer. Commerce Manager shows “Out of stock” for products whose availability is out of stock: they are not shown in ads, and stay visible in your shop marked sold out for up to 56 days. After that they show “Out of stock for too long” and leave the shop as well. If the product is actually available, the fix is its availability value: set it to in stock in the feed and re-upload.
| Shown in Commerce Manager as | Out of stock for too long |
|---|---|
| Attribute | availability |
| Effect | Warning — Ads immediately; shop after 56 days |
| Where to find it | Catalog → Products → a product’s Status and issues; feed-level errors under Catalog → Data sources → Download issue report |
| Free check | Not something a feed file shows; see below for what the check can tell you instead |
What Commerce Manager means by “Out of stock for too long”
Meta’s products-not-showing page describes two out-of-stock states. “Out of stock” affects ads only: products whose availability is out of stock are not shown in ads, but stay in your Facebook and Instagram shop marked sold out. “Out of stock for too long” affects shops: after more than 56 days out of stock the product no longer appears in the shop either. If the product is actually available, the fix is its availability value.
The same page separates two look-alikes: “Archived” is a status you set, and the product is shown nowhere until made active; “Product expired” means an expiration date in the past, to be changed or removed.
Why it happens
- The feed has not been re-uploaded since the product came back into stock.
- An availability word Meta does not recognise, read as unavailable.
- Inventory tracking off in the store, exporting zero stock for products you sell.
- A seasonal product genuinely out for more than 56 days, now hidden from the shop.
How to fix it
In Shopify
The channel syncs inventory continuously; if a product shows out of stock, check the variant’s inventory and whether “continue selling when out of stock” is set. For feed apps, re-upload after restocking.
In WooCommerce
Our free plugin reads stock status live on each fetch, so Meta’s scheduled fetch picks up a restock without a re-export. Check the variation’s stock status in WooCommerce and Meta’s fetch schedule.
In a CSV or XML feed
Correct the availability value to “in stock” for available products, schedule the feed so restocks reach Meta within a day, and remove products discontinued for good rather than leaving them out of stock indefinitely.
How long until Commerce Manager clears it
Ads resume when the next upload says in stock. A product hidden for being out of stock too long returns to the shop once it is in stock again.
What FeedRobin does about it
The free feed check lists out-of-stock products as information rather than a defect, since being sold out is a fact about the shop, and reports availability words no channel recognises, which is the case where a product in stock is read as out. For connected stores, stock comes from the platform on every sync, so the feed Meta fetches is never a stale snapshot.
Questions merchants ask
The product is in stock in my store. Why does Meta say out of stock?
The feed says so. Either the feed has not been re-uploaded since stock came back, or the availability value is one Meta does not recognise and reads as unavailable. Open the feed and check the row.
Is “Product expired” the same thing?
No. “Product expired” means the product has an expiration_date in the past; change or remove the date. Out of stock is about availability.
Does “Archived” differ from out of stock?
Yes. Archived is a status you set (status = archived); the product is shown nowhere until you make it active. Out of stock is a fact about inventory and still shows in the shop for a while.
Sources
- Troubleshoot products not appearing in your ads or shop on Facebook and Instagram — Meta Business Help Centre
- Troubleshoot data feed errors in your catalog — Meta Business Help Centre
- Product data specifications for catalogs in Commerce Manager — Meta Business Help Centre