All Merchant Center guides

Invalid value [availability]

Invalid value [availability] means the availability value could not be read as one of Google’s supported values. The fix guide is How to fix: Invalid product availability. Feed values are `in_stock`, `out_of_stock`, `preorder`, and `backorder`, documented in the product data specification. On the page, schema.org ItemAvailability URLs such as `https://schema.org/InStock` and `https://schema.org/OutOfStock` are the values Google maps. A word the theme invented, or a truncated URL, does not map.

Shopify causes

The theme prints a label instead of a schema.org URL. Values such as `available`, `sold out`, `pending`, or `yes` show up in JSON-LD when a custom section builds the offer by hand.

The availability string is cut off. A liquid filter or a JSON escape can emit `https://schema.org/InSto` or `InStock` without the schema.org prefix. Google’s mapping expects the ItemAvailability URL.

Two offers disagree. One block says InStock and a microdata tag says a custom string. The crawler can take the one that does not map.

Invalid JSON hides the real value. If the JSON-LD block fails to parse, the crawler may fall through to a partial microdata tag. Validate the script first. See Missing microdata for condition.

What to change

  1. Search the product template for `availability` and replace custom strings with `https://schema.org/InStock`, `https://schema.org/OutOfStock`, or `https://schema.org/PreOrder`.
  2. Match that value to the variant inventory policy, using the same rules as Inaccurate availability.
  3. Remove a second offer that uses a different availability string.
  4. If the feed itself contains `pending` or another unsupported word, change the feed value to one of the four supported availability values. This app does not edit the feed.
  5. Recrawl the variant URL and confirm the page source shows one availability URL.

How PageCop detects it

The app parses JSON-LD and microdata offers. An availability string that is not a recognized schema.org InStock, OutOfStock, or PreOrder value is filed as Invalid value [availability], and the evidence includes the string from the page. A page with no offer at all is missing structured data, not an invalid value.

FAQ

Is PreOrder valid?

The app treats `https://schema.org/PreOrder` as a recognized page value. Google’s feed still needs `preorder` or `backorder` plus an availability date when you use those states. A page that says PreOrder while the feed says `in_stock` can still become Inaccurate availability.

Can the add-to-cart button text be the availability value?

No. Button text is a hint. Google’s structured-data mapping uses the offer availability. Put the schema.org URL in the offer.

Check a product URL · Install on the Shopify App Store