Short answer. Merchant Center disapproves a product with “Missing value [availability]” when the availability attribute is absent; it is required for every product and takes in_stock, out_of_stock, preorder or backorder. Add the column to your export, derived from stock status, and re-fetch the feed.
| Shown in Merchant Center as | Missing value [availability] |
|---|---|
| Attribute | availability |
| Effect | Product disapproved |
| Where to find it | Products → Needs attention, then filter by this issue |
| Free check | Not something a feed file shows; see below for what the check can tell you instead |
What Merchant Center means by “Missing value [availability]”
The availability specification marks the attribute as required for every product, with four values (in_stock, out_of_stock, preorder, backorder). A row without it is reported through the Content API’s generic pattern for absent required attributes as “Missing value [availability]”, and the product is disapproved. Google does not default a missing value to in stock.
Not to be confused with a value Google does not recognise (“available”, “yes”), which is “Invalid value [availability]”. Missing means the field is not there at all.
Why it happens
- The export has a stock quantity but no availability column, and nobody derived one.
- A header typo:
availabilty,stock_status,availabilitywith a trailing space. - Empty cells for variants when stock is tracked at the parent.
- A comparator-format feed reused for Google, where availability is expressed as a delivery time rather than a word.
How to fix it
In Shopify
Shopify’s channel and our integration derive availability from inventory quantity and the “continue selling when out of stock” setting on every variant, so the field is never empty. A third-party export that leaves it blank needs its mapping fixed to derive from inventory.
In WooCommerce
Our free plugin maps WooCommerce’s stock status (in stock, out of stock, on backorder) to Google’s words for every variation. If another export leaves the column empty, add the mapping from stock status; a quantity alone is not enough.
In a CSV or XML feed
Add an availability column (spelt exactly) and fill every row with one of the four values, derived from your stock: quantity above zero or unlimited is in_stock; zero is out_of_stock, or backorder if you keep taking orders; a future release is preorder with an availability_date. Then re-fetch.
How long until Merchant Center clears it
On the next fetch with the attribute present, within 24–72 hours. Products that are out of stock are then correctly excluded from ads, which is a smaller approved count and a truer one.
What FeedRobin does about it
The free feed check reads a missing availability as the specification’s default and does not count it as a defect, because plenty of feeds for other channels leave it out on purpose; it does report every value no channel recognises and offers the translation. In the feeds we serve, every product carries an availability derived from the store, in the spelling each channel documents.
Questions merchants ask
Does Google not assume in stock when the field is empty?
No. The attribute is required, and an empty value is reported as missing rather than defaulted. Some other channels default it; Google does not.
My export has a stock quantity column. Is that enough?
Not as-is. Google wants one of four words, not a number. Map quantity above zero to in_stock and zero to out_of_stock (or backorder, if you keep selling), and write that into an availability column.
What about products that are always available, like digital goods?
They still need the attribute, set to in_stock. Required means present on every row.
Sources
- Availability [availability] — Google Merchant Center Help
- Product issues (Content API for Shopping): the issue codes and the titles Merchant Center shows — Google Merchant Center Help
- Product data specification — Google Merchant Center Help