Stock & inventory automation

Shopify Google Shopping out of stock errors: fixing availability mismatch

You open Google Merchant Center and there they are: items disapproved for "availability mismatch", ads paused, free listings pulled, on products you're fairly sure are fine. This is the most common Merchant Center complaint I hear from Shopify merchants, and it's almost never a mystery once you understand one thing: your feed is a delayed copy of your store, and Google punishes the delay. Here's where the lag comes from and the fixes, in order of effort.

Run the free stock checker →

In short: Availability mismatch means Google crawled your product page and it disagreed with your feed. Fix it by shrinking the disagreement window: use the official Google & YouTube channel (or tighten your feed app's refresh cadence), switch on automatic item updates for availability and price in Merchant Center, and make sure your theme's structured data reports availability correctly. If stock reaches Shopify late in the first place, because you sell on other channels or rely on supplier feeds, no Merchant Center setting fixes that: you need a sync layer.

What "availability mismatch" actually means

Merchant Center holds a copy of your catalogue, the feed. Google also crawls your actual product pages. Periodically it compares the two, and when the feed says in_stock while the landing page says sold out (or the other way round), the item gets disapproved for availability mismatch. Google's logic is fair enough: an ad that says "in stock" landing on a sold-out page is a bad experience it doesn't want to serve. The disapproval isn't claiming your store is wrong. It's claiming your store and your feed disagree, and during any stock change there's always a window where they genuinely do.

So the whole game is window-shrinking. A store where stock changes reach Merchant Center in minutes almost never sees these errors. A store whose feed refreshes once a day, selling fast-moving lines, sees them constantly, because every sell-out sits misrepresented in Google for up to 24 hours.

Where the lag comes from on Shopify

With the official Google & YouTube sales channel app, Shopify pushes product changes to Merchant Center on an ongoing basis, and for most stores propagation is minutes. But it is not a live wire. Bulk edits, large catalogues, app hiccups, and Merchant Center's own processing queue can stretch it to hours, occasionally a day. If you're using a third-party feed app or a scheduled feed URL instead, the cadence is whatever the schedule says, commonly daily, and that alone explains a steady drip of mismatches. Check which route you're actually on: Shopify admin > Sales channels > Google & YouTube, versus a feed app, versus a feed URL registered under Products > Feeds in Merchant Center. I regularly meet stores running two of these at once, feeding conflicting data into the same Merchant Center account, which multiplies the errors rather than halving them. Pick one source and remove the other.

Then there's the lag Google can't see and Shopify can't fix: stock arriving into Shopify late. If you also sell on eBay or Amazon, or your stock truth lives in a supplier's daily CSV, Shopify's own numbers are stale until that update lands. Merchant Center is then a delayed copy of a delayed copy. This is the case that no amount of Merchant Center fiddling resolves, and I'll come back to it.

Price mismatch: the same fault wearing a different badge

If you're getting availability mismatches, check your disapprovals for price mismatch too, because they're siblings. Same mechanism: crawled page disagrees with feed, this time on price. Same causes: feed lag around a price change, a sale that started on the store before the feed refreshed, currency or tax settings making the feed price differ from the displayed price (UK stores showing VAT-inclusive prices while a misconfigured feed sends ex-VAT is a classic). If you fix the lag for availability you usually fix it for price at the same time, so treat them as one fault when you diagnose.

The fixes, cheapest first

1. Tighten the cadence. If you're on a daily third-party feed, either move to the official channel app or crank the refresh to the fastest your app supports. Every hour off the refresh interval is an hour off your average misrepresentation window.

2. Switch on automatic item updates. Merchant Center > Settings (the gear) > Automatic improvements > Item updates: enable for both availability and price. With this on, when Google's crawler finds the page disagreeing with the feed, it updates the served item from the page instead of disapproving it. It's a genuinely effective safety net and I turn it on for every store I touch. Two caveats: it patches individual crawled items, not your whole catalogue, and it only works if the page tells the truth in a form Google can read, which is the next fix.

3. Verify your structured data. Automatic item updates read the product page's schema.org markup: the Offer's availability and price properties. Standard Shopify themes output this correctly; heavily customised themes, page builders, and some apps break or duplicate it. Run one in-stock and one sold-out product URL through Google's Rich Results Test and confirm availability flips between InStock and OutOfStock. If your sold-out pages claim InStock in schema, you've built the mismatch into the page itself, and the safety net in fix 2 makes things worse rather than better.

4. Re-request review only after the data is fixed. Disapproved items clear automatically once a fresh feed and crawl agree. Manually requesting review on items whose underlying data still disagrees just burns the request.

When the problem is upstream and you need a sync layer

If you've done all four and the mismatches keep coming, stop looking at Merchant Center. The pattern to check: are the disapproved items the ones that sell on your other channels, or the ones fed by a supplier file? Then the sequence is: item sells out on eBay at 9am, the eBay-to-Shopify update lands at 6pm, the Shopify-to-Google push follows, and for nine hours Google was advertising stock you didn't have. Shopify was never wrong exactly, just late, and every downstream copy inherited the lateness. Multi-channel stock movement is its own subject (the mechanics are in my Shopify to eBay inventory sync guide), but the Merchant Center consequence is simple: your disapproval rate is set by your slowest sync hop, not by your feed settings.

A sync layer, whether a decent multi-channel app or a bespoke build listening to webhooks from every channel and writing stock everywhere within minutes, closes that hop. It's the difference between mismatches as a monthly annoyance and mismatches as a structural feature of your setup. The same event-driven pattern applies whatever the platform pairing; I've described the WooCommerce equivalent in the WooCommerce eBay stock sync guide.

Why this is worth fixing beyond the ads

Merchant Center disapprovals are the visible symptom because Google emails you about them. The invisible version is worse: sold-out products sitting live in organic search, taking clicks and bouncing shoppers, with no email from anyone. When I manually scanned 135 UK online shops, 4 in 10 had sold-out products still live and ranking on Google. One aquatics store had 360 dead listings, including a £1,085 item still pulling search clicks into a page that couldn't sell it. The full cost breakdown is in what dead listings cost, and the organic-side cleanup for Shopify is covered in Shopify products still on Google after selling out. If you want to know where your own store stands before touching anything, the free stock checker scans your live catalogue and shows you in minutes.

Why does Google Merchant Center say availability mismatch on my Shopify products?

Google crawled your product page and found it disagreeing with your feed: usually the feed says in stock while the page says sold out, or the reverse. The feed is a snapshot that lags your live store, so any stock change between feed refreshes creates a window where the two disagree.

How often does the Shopify Google channel update the feed?

The Google & YouTube app syncs product changes to Merchant Center continuously in normal operation, but propagation is not instant and can take from minutes to a day or more for large catalogues or after bulk edits. Third-party feed apps and manual feeds often refresh only daily, which widens the mismatch window a lot.

Should I turn on automatic item updates in Merchant Center?

Yes, for both price and availability. When Google's crawler finds the landing page disagreeing with the feed, it patches the served ad from the page's structured data instead of disapproving the item. It is a safety net that reduces disapprovals, but it depends on correct schema and it does not fix stale data at the source.

Why do I keep getting these errors even though Shopify stock is correct?

Because Shopify itself is being updated late. If you sell on other channels or take stock from a supplier feed, and those updates reach Shopify slowly, the whole chain into Merchant Center inherits the delay. The mismatch is upstream of Shopify, and only a proper sync layer closes it.

About the author

Jordan Bee builds automation for UK online retailers at GlideOps. In June 2026 he manually audited 135 UK online shops, finding 4 in 10 showing sold-out products still live and ranking on Google, research that underpins these guides and the free dead-listing checker. He has built stock-sync systems covering 91,000+ products for UK retailers.

See what Google is showing for your store right now

The free checker scans your live store and shows every product that's sold out but still publicly listed as buyable, the exact mismatch Merchant Center penalises, in minutes, no changes made.

Run the free stock checker →