Skip to main content

Variant stock status: Merchant Center data vs product page

Each variant you submit is its own item, so its availability has to match that variant on the product page, not the product as a whole. Link each item to its own variant, make sold-out options unbuyable, and test the sizes that sell out. The parent product always looks fine; the trouble lives in size 8.

Critical4 min read

You run this check yourself

Our scanner can’t see inside your Google accounts, so this one’s on you. Work through the checklist below without running a scan.

Why this matters

Google's “Availability [availability]” page lists this in its best practices: “Product variant availability in the data source should match the availability on the landing page.” It also says how a sold-out variant can look: “If a page features multiple variants, you can disable specific options in the selection grid to indicate they are unavailable.” A size that is gone but still clickable, or still sent as in_stock, is where stores come unstuck.

The landing page requirements add two rules that variant stores run into. “Pre-select the correct product variant in your landing page URL”, so the item a shopper clicks is the variant they land on. And “Do not change displayed product information after initial loading. This includes and is not limited to availability, pricing and the selected variant.” A page that opens on the first in-stock size, then jumps to the one in the link, shows two states, and the first may be the wrong one.

On the data side, each variant is its own item with its own [id] and [link], tied to its siblings by [item_group_id], exactly as the variant examples on the “Price [price]” page are laid out. Availability then follows the variant, not the parent: one sold-out colour means one item set to out_of_stock while the rest stay in_stock. For the general stock rules, preorders and sold-out products, see availability in Merchant Center; for prices that differ by variant, variant pricing.

This is a manual feed audit: StoreVerifier cannot see your product data, so the variant-by-variant match against Merchant Center is yours. The free scan covers the public side. It reports structured data that contradicts the stock state on the page, and a product offered for sale while out of stock, as failures. Every stock check is listed on the misrepresentation checker.

Typical evidence

Eight variants — two misrepresented

The feed submits one availability for all 8 sizes. Sizes XS and XL sold out since the last regeneration. Two of eight variants are advertising availability they cannot fulfil.

XS
Feed: in_stock
Page: sold out
MISMATCH
S
Feed: in_stock
Page: in stock
M
Feed: in_stock
Page: in stock
L
Feed: in_stock
Page: in stock
XL
Feed: in_stock
Page: sold out
MISMATCH
XXL
Feed: in_stock
Page: in stock
3XL
Feed: in_stock
Page: in stock
4XL
Feed: in_stock
Page: in stock
Submit each variant as a separate feed item. Connect inventory events to feed regeneration so a sell-out triggers an update within minutes, not the next morning.

The public signals this check looks for:

  1. A size or colour sells out on the site, but the product data still sends that variant as i…

    A size or colour sells out on the site, but the product data still sends that variant as in_stock.

  2. Every variant in the product data links to the same product URL, so the page opens on whic…

    Every variant in the product data links to the same product URL, so the page opens on whichever option the theme picks first.

  3. The page loads with one variant selected, then switches to another once a script runs

    The page loads with one variant selected, then switches to another once a script runs.

  4. Sold-out options stay clickable with a working Add to cart button, and the order fails lat…

    Sold-out options stay clickable with a working Add to cart button, and the order fails later.

  5. The platform tracks stock per product while the product data sends one item per variant

    The platform tracks stock per product while the product data sends one item per variant.

What it looks like once it is right

Each size has its own item and a link that opens that size pre-selected. Size 8 shows “Sold out” with the button disabled, its structured data says OutOfStock, and the next upload sends out_of_stock for that one item.

Common mistakes

Common mistake

A trainer comes in sizes 6 to 11 and size 8 sold out on Friday. The product data still says in_stock for size 8, and its link opens the page on size 6, which is in stock, so the item and the page never describe the same shoe.

Self-check steps

One feed item per variant — the correct structure

Each size is a separate feed item with its own availability attribute. When XS and XL sell out, only those two items update — the remaining six continue showing as available correctly.

item_iditem_group_idsizeavailability
TSH-123-XSTSH-123XSout_of_stock
TSH-123-STSH-123Sin_stock
TSH-123-MTSH-123Min_stock
TSH-123-LTSH-123Lin_stock
TSH-123-XLTSH-123XLout_of_stock
TSH-123-XXLTSH-123XXLin_stock
XS and XL correctly marked out_of_stock. Other sizes continue advertising. Zero mismatch.
The item_group_id links all variants to the same product. GMC uses this to show the product once in search results while routing buyers to the correct available variant.

Questions merchants ask

Does each variant need its own availability in Merchant Center?

Yes. Each variant is submitted as its own item, grouped with [item_group_id], and Google's availability page says product variant availability in the data source should match the availability on the landing page. A sold-out size needs out_of_stock on its own item, even while other sizes are in stock.

How should a sold-out variant look on the product page?

Google's availability page lets you disable specific options in the selection grid to show they are unavailable, or show clear text such as sold out. Whichever you choose, the option should not be buyable, and Add to cart should not work for it.

Why does the product link need the right variant pre-selected?

Because the item and the page have to describe the same thing. Google's landing page requirements ask you to pre-select the correct product variant in your landing page URL, so the variant in your product data is the one a shopper sees by default, with its own price and stock state.

Remediation

Risk signal

Variants are where stock data quietly goes wrong, because the parent product looks healthy. Treat each size and colour as its own listing, because in Merchant Center it is one. Test the sold-out options first; they are the ones shoppers complain about.
PriorityTreat this and any other highest-severity findings as first-priority work, then document each fix.
EvidenceRecord the current state before each change, apply the fix, then capture the corrected state so every change is evidenced.

Similar cases

Sources

  1. Availability [availability] — in stock, out of stock, preorder, backorderGoogle Merchant Center Help — support.google.com
  2. About landing page requirementsGoogle Merchant Center Help — support.google.com
  3. Price [price] — submitting accurate product pricesGoogle Merchant Center Help — support.google.com

Last reviewed 23 Sep 2026.

That is one issue. The library documents 134.

The free scan lists what it finds on your store. The paid report adds the affected pages, captured evidence and step-by-step fixes. Start free, with no account needed.