A Google Merchant Center availability mismatch gets your products disapproved fast and, at scale, can trigger a full account review. Here is what causes it and how to fix it on every major platform.
An availability mismatch happens when the availability value in your product feed does not match what Google finds when it crawls your product page. Your feed says "in_stock" but your page shows "Out of Stock" or "Sold Out." Or the reverse: your feed marks a product as out of stock but your page still shows it as available. Either way, Google disapproves the product and eventually stops showing it in Shopping results.
A few mismatched products are an annoyance. Widespread mismatches across your catalog put you at risk of a misrepresentation flag and a full account suspension. If your disapproved products list shows "availability mismatch" as the reason for dozens of items, you need to fix the root cause before requesting any review.
The free GMCSuspension audit checks 43 policy requirements, including availability data consistency, in under a minute.
Run Free Audit →Google's Shopping crawler visits your product pages at irregular intervals to verify that the information in your feed matches what a customer would see. It checks the price, availability status, and key product details. When the crawler sees "Out of Stock" on your page but your feed still says "in_stock," it flags a mismatch and disapproves the product.
The valid availability values in a Google Shopping feed are:
Each value has a specific meaning and a corresponding expectation on your product page. If your page uses custom language like "Ships in 2 weeks" or "Available soon" without a structured availability_date in the feed, Google cannot match those states and will flag a mismatch.
This is the most common cause and the hardest to notice. Caching plugins, CDN edge nodes, and server-side rendering can serve Googlebot a cached version of your product page that shows an older stock status. If your inventory ran out last night but your caching layer holds a 24-hour TTL on product pages, Googlebot visits the page this morning, sees "In Stock" in the cached HTML, and compares it to your updated feed that now says "out_of_stock." Mismatch.
Fix: reduce your cache TTL for product pages to 4 hours or less, or configure your cache to purge product pages automatically when inventory changes. Use the Googlebot Simulator to check what Googlebot actually sees right now on your product pages.
Your e-commerce platform updates inventory in real time, but your Google Shopping feed only refreshes every few hours. If you sell out a product faster than the feed refresh cycle, Googlebot may crawl your page during the sold-out window while your feed still says in_stock. Flash sales and limited-stock drops make this worse.
Fix: enable real-time feed updates if your platform supports them. Shopify's Google and YouTube app supports near-real-time syncing. WooCommerce with Automattic's Google Listings and Ads plugin refreshes feeds every 4 hours by default; you can manually trigger a fetch from within Merchant Center under Products > Feeds > Fetch now.
Shopify, WooCommerce, and other platforms let you continue accepting orders even when inventory hits zero. If that setting is active, your platform sends "in_stock" to the feed even when you have zero units. Googlebot crawls your page, sees the product still shows as available (because the platform is still accepting orders), and compares it to the customer experience after checkout where the product may ship in weeks. Google considers this a form of misrepresentation and flags it.
Fix: disable the "oversell" or "continue selling when out of stock" setting, or use the "backorder" availability value with an accurate availability_date in your feed.
If you use a supplemental feed or a manual override in Merchant Center to hard-code availability values, those overrides stay fixed until you change them manually. Your page can update its stock status dynamically while the feed override sits unchanged. Every Googlebot visit after the page status changed becomes a mismatch.
Fix: audit your supplemental feeds and feed rules in Merchant Center. Remove or update any manual availability overrides that are not synced to your actual inventory system.
Your feed refresh runs at 2:00 AM UTC. Googlebot visits your product page at 2:15 AM UTC during the feed refresh window. The page has already updated to "out of stock" (your midnight restock ran out) but the new feed version has not yet been fetched by Merchant Center. The in-memory feed still shows in_stock. Googlebot logs a mismatch.
Fix: schedule inventory syncs 30 minutes before your scheduled feed fetch. If possible, trigger an on-demand feed fetch immediately after any bulk inventory update.
In the Google and YouTube app in Shopify Admin, go to the Products section and check which products show availability issues. For each product: (1) confirm inventory tracking is enabled, (2) confirm the "Continue selling when out of stock" checkbox is unchecked unless you specifically need backorder functionality, (3) for pre-order products, add a Metafield or custom attribute that feeds an availability_date value to the Google feed.
After making changes, go to Merchant Center, click Products > Feeds, select your Shopify feed, and click "Fetch now." This forces an immediate re-crawl. If you see persistent Shopify-related suspension issues, the availability mismatch may be part of a broader policy problem.
In WooCommerce, each product has a Stock Status field (In stock / Out of stock / On backorder). This is the value that your Google feed plugin reads. If you use WooCommerce's manual stock management (quantity-based), make sure the "out of stock threshold" is set correctly. A common mistake is setting the threshold to 1, meaning the product shows as out of stock when there is still 1 unit available, while the feed may have already sent "out_of_stock" to Google.
For WooCommerce Google Shopping integrations, use the Google Listings and Ads plugin's diagnostic view to check each product's sync status. Products with mismatch warnings show there before they appear in Merchant Center.
Magento's Google Shopping feed extensions (MageWorx, Amasty, or custom Magento Commerce feeds) read availability from the catalog_inventory_stock_item table. If your Magento indexer is not running on schedule, the stock values in the feed can lag behind real-time inventory. Run bin/magento indexer:reindex to force an immediate index update, then trigger a feed fetch in Merchant Center.
For stores using third-party warehouses or ERPs that push inventory to Magento via API, check that the ERP sync runs before the feed export job, not after.
In BigCommerce, go to Channel Manager > Google Shopping and check the product sync log. BigCommerce syncs inventory to the Google feed in near-real-time for stores on the Pro plan and above. For stores on lower plans, the sync runs every 4 hours. If you see availability mismatches, the likely cause is a product whose "Track inventory" setting is disabled, meaning BigCommerce never updates the availability field in the feed when stock changes.
Enable inventory tracking per product under Products > Edit Product > Inventory. For products that you want to keep visible as backorder items, set the inventory policy to "Allow orders when stock is 0" and use the "backorder" availability value in your feed supplemental data.
After running the audit, use the Googlebot Simulator on your key product pages to confirm that the availability status Googlebot sees now matches your feed. If the simulator shows "Out of Stock" but your feed says "in_stock," you have a caching issue that will continue causing disapprovals after any feed fix.
When you are confident all mismatches are resolved, go to Merchant Center > Products > Feeds, select your feed, and click "Fetch now." Wait 24 hours, then check the Products tab for lingering disapprovals. If the disapprovals are gone, you do not need to submit a formal appeal. Availability mismatches are item-level disapprovals, not account suspensions, so Google re-approves products automatically after the feed is corrected.
If your account has been suspended (not just products disapproved), read the suspension checklist and address all account-level issues before resubmitting a Request Review. An account suspension requires a separate appeal process from an item disapproval fix.
An availability mismatch means the availability value in your product feed does not match what Google finds when it crawls your product page. If your feed says "in_stock" but the page shows "Out of Stock," Google flags it and disapproves the product. The same happens in reverse.
Yes, indirectly. A single mismatch causes an item disapproval. But if a high percentage of your products have availability mismatches over an extended period, Google can escalate to an account-level review for misrepresentation. Keeping mismatch rates below 1% of your feed is the safe threshold.
In the Shopify Google and YouTube app, confirm inventory tracking is enabled for each product and the "continue selling when out of stock" checkbox is disabled unless you need backorder functionality. After correcting, trigger a manual feed fetch in Merchant Center under Products > Feeds > Fetch now.
Caching plugins, CDN edge nodes, and server-side rendering can serve Googlebot a cached version of your page with a stale stock status. Clear your page cache after any inventory change. Use the Googlebot Simulator to verify what Googlebot actually sees right now.
After you correct the feed and trigger a fetch in Merchant Center, Google typically re-reviews affected products within 24 to 72 hours. Products with repeated mismatches may take longer. If products are still disapproved after 5 business days, check whether any caching layer is still serving stale content to Googlebot.