Stall library · Evaluate
Stock status is not exposed to AI agents
Missing availability means your product markup does not say whether an item is in stock, so an AI agent cannot tell a live product from a sold out one. The agent then faces a choice it resolves conservatively: recommend a product that may be unavailable and risk a failed purchase, or recommend a competitor whose stock status it can read.
Why the agent stops
Availability is the field that decides whether a recommendation is safe. An agent that recommends a sold out item wastes the shopper trip it was asked to prevent, so agents weight unknown availability towards not recommending.
This bites hardest on stores where sold out variants stay listed, which is most stores. The catalogue looks large and healthy to a person browsing it, and reads to an agent as a set of products whose purchasability is unknown.
How often we see this
Not stated here. A frequency means nothing without the cohort it was counted over, and this page is about one stall rather than one category. Where a category has enough stores measured at every stage, the share of them showing this stall is published on its benchmark page, with the methodology beside it.
See it for yourself
- Fetch a product page you know is in stock and read the offers object in its JSON-LD.
- Check offers.availability is present and set to https://schema.org/InStock.
- Now do the same for a product you know is sold out. It should read OutOfStock rather than being absent or still InStock.
- For a product with variants, check whether availability is stated per variant or only once for the whole product.
What to change
- Set offers.availability on every product, using the schema.org InStock and OutOfStock values.
- State availability per variant where variants differ, since a product being partly in stock is not the same as being in stock.
- Make sure availability reflects the same source of truth as the storefront, not a cached value.
- Expose stock in your product feed as well as in page markup. Agents commonly read the feed first.
What Ottom looks at
Ottom counts, among pages carrying structured data, how many state no availability, and names the count and an example URL. Feed level stock is read as well, so a store that answers in the feed but not in the page markup is described accurately rather than failed twice. Stock stated on each variant rather than on the product counts as answering.
Questions
Can I leave out availability to avoid showing low stock?
It is a reasonable worry and it does not apply here. The schema.org values are deliberately coarse: InStock and OutOfStock say nothing about quantity, so stating availability publishes no inventory level and tells a competitor nothing they could not learn by adding the item to a basket. What omitting it does is remove you from consideration, because an agent that cannot tell whether something is buyable will usually recommend one that says so.
How should I mark preorder and backorder availability?
Both have schema.org values, and using the accurate one is better than leaving the field out. An agent can decide whether a shopper who wants an item next week should be shown a backordered one. It cannot decide anything from an absent field.