Merchant Center Says “Out of Stock” but Your Product Is In Stock?

 


Merchant Center Says “Out of Stock” but Your Product Is In Stock?

You open the product page.

It says:

In stock

The Add to Cart button works.

But Merchant Center says:

Out of stock

At first this looks like a simple feed error.

Sometimes it is.

But I wouldn’t change the availability field immediately.

The first thing I’d check is whether Google and you are actually looking at the same offer.

Here’s the order I’d use.


First: Open the Exact URL From Merchant Center

Do not search for the product through your store navigation.

Open the exact URL attached to the affected item in Merchant Center.

Then open it again in an incognito/private browser window.

Check what loads by default.

Suppose your feed describes:

Blue / Size 11

but the page opens:

Blue / Size 10

Size 10 is in stock.

Size 11 is sold out.

If you casually open the product page, everything looks fine:

“The product is clearly in stock.”

But Google may be evaluating the Size 11 offer.

This is especially common on stores with:

  • clothing sizes

  • colors

  • storage capacities

  • pack quantities

  • materials

  • subscription options

Google recommends that the landing-page URL preselect the same variant represented in the product data.

So the question is not:

“Is this product in stock?”

It is:

“Is this exact submitted variant in stock?”


Then Check What the Page Tells Machines

The visible stock message is only one signal.

Your structured data may be saying something else.

For example:

What you see

In stock

Product feed

in_stock

Structured data

OutOfStock

That third value is easy to miss because shoppers never see it.

Test the product page with Google's Rich Results Test and inspect the Product / Offer information.

Look specifically at availability.

If the page says In stock but schema still says OutOfStock, I would fix the structured-data source before repeatedly resubmitting the feed.

This often happens after inventory comes back but an old theme, plugin or ecommerce integration does not update the markup correctly.


Try Buying the Product

This sounds obvious, but it catches a surprising class of problems.

Don't stop at:

“The Add to Cart button exists.”

Actually follow the buying path.

Select the exact variant.

Add it to cart.

Continue toward checkout.

Ask:

Can the customer really buy it?

A page can display:

In stock

while checkout eventually says:

This item is unavailable.

Or:

This item cannot be shipped to your location.

From a customer's perspective, that product is not truly available under those conditions.

Google expects availability information to remain consistent through the buying experience, not just on the first page.


Check Whether This Is Really a Shipping Problem

This is one of the less obvious causes.

Imagine your product is physically in stock.

But you only allow:

local pickup

while your Merchant Center offer targets customers nationally.

Or perhaps you ship to most of the country but exclude several regions.

From your inventory system, the answer is:

Yes, we have stock.

From the target customer's perspective, the answer may be:

No, I cannot actually receive this product.

Google's Merchant Center guidance specifically connects availability with supported delivery locations.

So if everything else looks correct, check:

  • the target country

  • shipping regions

  • excluded ZIP/postal codes

  • regional availability

  • pickup-only restrictions

An inventory problem and a deliverability problem can look surprisingly similar inside Merchant Center.


Finally, Check When Everything Updated

Suppose a product was sold out yesterday.

Today at 9:00 AM, new inventory arrives.

Your store updates immediately:

In stock

But your feed only refreshes once per day.

Until the next sync, Merchant Center may still receive:

out_of_stock

Nothing is “broken” in the usual sense.

Your systems are simply out of sync.

I would trace the update chain:

Inventory system

↓

Storefront

↓

Structured data

↓

Feed app

↓

Merchant Center

Then ask:

Which one updates last?

If availability changes frequently, that delay matters.

A store with ten slow-moving products may barely notice it.

A store with thousands of SKUs and rapid inventory turnover can generate mismatches constantly.


What I Would Not Do

I would not immediately switch every affected item from:

out_of_stock

to:

in_stock

just because the storefront currently looks available.

That may hide the symptom without fixing the cause.

For example, if the real problem is:

the URL opens the wrong variant

changing the feed availability could make the submitted data less accurate.

If the real problem is:

structured data still says OutOfStock

the feed wasn't necessarily the source of the mismatch.

And if the problem is:

your feed updates 12 hours after your store

you will probably see the same issue again after the next inventory change.

Find the disagreeing source first.


One Example That Looks Completely Normal

Imagine a hoodie with three sizes:

Small — In stock

Medium — In stock

Large — Out of stock

Your submitted product is:

Large / out_of_stock

But the landing-page URL opens the Medium size by default.

You visit the page and see:

In stock

You assume Google is wrong.

But both values can actually be correct.

They are describing different variants.

This is why I check the selected variant before touching the availability field.


A Fast Way to Narrow It Down

If Merchant Center says out of stock while your page says in stock, I’d check these in this order:

Exact submitted URL

Does it open the right variant?

↓

Structured data

Does Product / Offer say InStock or OutOfStock?

↓

Checkout

Can the exact item really be purchased?

↓

Shipping region

Can a customer in the targeted area actually receive it?

↓

Update timing

Did the store change before the feed updated?

Usually one of those gives you a much better lead than repeatedly changing the same Merchant Center field.


If You Want to Check the Public Product Page First

Mingche can check three product URLs from the same store for publicly accessible signals including:

  • availability

  • price

  • variants

  • structured data

That can help answer an early question:

Does the public product page itself contain conflicting product information?

Check 3 Product Pages for Free →

Open the free product-page check

If the public page is consistent but the problem sits inside your product feed, inventory source or Merchant Center configuration, you’ll need to inspect those systems separately.


Bottom Line

When Google says Out of stock but your store says In stock, don't assume one side is simply wrong.

They may be looking at:

  • different variants

  • different machine-readable data

  • different regions

  • or the same product at different moments in time

Start with the exact submitted URL.

Then follow the product all the way from:

variant → structured data → checkout → shipping → feed

That usually tells you where the two stories stopped matching.


Disclaimer

Mingche is an independent product-data readiness service and is not affiliated with or endorsed by Google.

Product-data auditing or correction does not guarantee Google approval, inclusion, ranking, traffic or sales. Google independently determines Merchant Center eligibility and policy compliance.

Comments

Popular posts from this blog

Before you upload a product feed: check the row, the variant and the page

Before importing a repaired product CSV, ask for the change log