Merchant Center

Google Tightens Out-of-Stock Rules: What Your Product Pages Must Show

March 23, 2026 · 9 min read · Last updated: March 23, 2026
Samuli Kesseli
Samuli Kesseli

Senior Consultant, Marketing Technologies | Founder, SKU Analyzer

On March 19, 2026, Google tightened its Merchant Center availability requirements with a significant policy update targeting out-of-stock product pages. The core change: if a product is marked as out_of_stock in your feed, the landing page must display a visibly grayed-out, disabled buy button. Active buy buttons and hidden buy buttons are both non-compliant. The availability text shown on the page must exactly match the value in your product feed.

This is not a suggestion. As Search Engine Land reported, the updated policy classifies active buy buttons on out-of-stock pages under Google's misrepresentation category — one of the most serious violation types in Merchant Center. If you run Google Shopping ads and have products that go in and out of stock, this change demands immediate attention.

The policy update follows years of shopper complaints about clicking Shopping ads only to discover the product is unavailable, sometimes after attempting to complete a purchase. Google's response is blunt: if the product is out of stock, the page must make that unmistakably clear before a shopper even thinks about clicking "Add to Cart."

What Changed: Three Rules That Got Stricter

The March 19 update tightened three specific requirements within Google's existing availability policy. None of these are entirely new concepts, but the enforcement bar has been raised significantly.

1. The Buy Button Must Be Visibly Disabled

Previously, Google tolerated a range of approaches for handling the buy button on out-of-stock pages. Some retailers hid the button entirely. Others left it active but showed an error message at checkout. Both approaches are now non-compliant. The updated policy requires a visually grayed-out, disabled buy button that is still visible on the page but clearly cannot be clicked. The button must look inactive — grayed out, dimmed, or otherwise visually distinct from an active state — and must have the HTML disabled attribute set.

As PPC Land covered, this is a deliberate UX requirement, not just a technical one. Google wants shoppers to see the button, understand the product exists, but immediately recognize that it cannot be purchased right now. Hiding the button creates confusion. Leaving it active creates frustration. The grayed-out state is the middle ground Google is now mandating.

2. On-Page Availability Must Match the Feed Value

Your product feed sends an availability attribute to Merchant Center with one of four values: in_stock, out_of_stock, preorder, or backorder. The updated policy requires that the text displayed on your product page matches this value. If your feed says out_of_stock, the page must clearly state the product is out of stock — not "temporarily unavailable," not "check back soon," and certainly not "in stock" with a broken checkout flow.

This matching requirement works both ways. If a product is actually in stock on your site but your feed still says out_of_stock because of a stale feed update, that's also a mismatch. The principle is straightforward: feed and page must agree at all times.

3. Active Buy Buttons on OOS Pages = Misrepresentation

The most consequential change is the reclassification. An active, clickable buy button on an out-of-stock product page is now treated as a misrepresentation violation. This is a significant escalation from how these issues were previously handled. Misrepresentation is one of the policy categories that can lead to account-level suspension, not just individual product disapprovals. Google is sending a clear message: misleading shoppers about product availability is no longer treated as a minor feed quality issue.

Side-by-side comparison of three buy button states: compliant grayed-out disabled button, non-compliant hidden button, and non-compliant active button on out-of-stock product pages
Only one approach is compliant under the updated policy: a visible but grayed-out, disabled buy button. Hidden buttons and active buttons both violate the new rules.

Why Google Made This Change

The motivation behind this update is straightforward: poor user experience at scale. Google Shopping ads drive millions of clicks per day, and a meaningful percentage of those clicks land on product pages where the item cannot actually be purchased. Every failed checkout attempt erodes trust — not just in the retailer, but in Google Shopping as a channel.

Consider the shopper's journey. They see a product in Google Shopping results, click through, find the item they want, add it to their cart, enter their shipping information, enter their payment details — and then get an error message saying the product is out of stock. That's a terrible experience. It wastes the shopper's time, damages the retailer's brand, and makes Google Shopping look unreliable.

Google has been moving toward stricter landing page quality requirements across all of Shopping for several years. The feed error and diagnostic systems already flag availability mismatches, but enforcement was inconsistent. This policy update formalizes what Google has been signaling: landing page experience is not optional, and availability accuracy is the baseline requirement.

There's also a competitive dimension. As agentic commerce surfaces like AI Mode and free listings become more prominent, Google needs reliable availability data to power those experiences. An AI agent recommending an out-of-stock product is an even worse experience than a human clicking a Shopping ad for one. Strict availability enforcement benefits every surface Google serves products on.

What Happens If You Don't Comply

The enforcement follows Merchant Center's standard escalation path, but the misrepresentation classification makes it steeper than typical feed quality issues.

The key takeaway: this is not a "fix it when you get around to it" issue. If you have out-of-stock products in your feed with non-compliant landing pages, prioritize fixing them immediately. The misrepresentation classification means the consequences escalate faster than a typical policy issue.

How to Fix Your Product Pages

The good news is that the technical implementation is straightforward. The challenge is ensuring it's applied consistently across your entire product catalog, especially if you have thousands of SKUs that move in and out of stock frequently.

Step-by-step compliance checklist for out-of-stock product pages covering CSS changes, HTML disabled attribute, availability text, feed sync, and platform-specific implementation
A compliance checklist for ensuring your out-of-stock product pages meet Google's updated requirements.

CSS and HTML: Gray Out the Button

The core fix is CSS and HTML. When a product is out of stock, your buy button needs two things: a visual grayed-out appearance and the HTML disabled attribute. Here's the minimal approach:

Match Page Text to Feed Value

Your product page must display availability text that matches your feed. If your feed sends out_of_stock, acceptable on-page text includes "Out of Stock," "Sold Out," or "Currently Unavailable." What's not acceptable: vague language like "check availability" or "limited stock" when the product is genuinely out of stock. The text should be visible near the buy button area — not buried in a footer or hidden behind a click.

Keep Your Feed in Sync with Real-Time Updates

The page-to-feed matching requirement means your feed must accurately reflect your current inventory at all times. If a product sells out at 2 PM but your feed doesn't update until midnight, you have an eight-hour window of non-compliance. Use the Content API for Shopping to push real-time availability updates rather than relying on scheduled feed uploads. For most retailers, combining a primary scheduled feed with Content API updates for availability changes is the most reliable approach.

Track availability changes and feed sync timing with a feed intelligence tool so you can identify products where the page and feed fall out of sync. The feed change tracking guide explains how to monitor these mismatches systematically.

Flow diagram showing how availability values flow from inventory system to product feed to Merchant Center to landing page, with sync checkpoints at each stage
Availability must match at every stage: inventory system, product feed, Merchant Center, and landing page. A mismatch at any point creates compliance risk.

Platform-Specific Implementation

Shopify: Shopify's default behavior already grays out the buy button and shows "Sold Out" when a variant is at zero inventory, provided you have inventory tracking enabled. Verify that your theme hasn't overridden this default behavior with custom JavaScript. Check your theme's product-form.liquid or buy-buttons.liquid snippet to confirm the disabled state is properly implemented. If you use a third-party theme, test the OOS behavior explicitly.

WooCommerce: WooCommerce's default templates show "Out of Stock" text and remove the add-to-cart button entirely when stock reaches zero. Under the new policy, removing the button is non-compliant. You'll need to modify the template to show a grayed-out, disabled button instead. Override the woocommerce_single_product_summary hook or modify your theme's single-product/add-to-cart/simple.php template to render a disabled button rather than removing it.

Custom platforms: If you've built a custom ecommerce frontend, audit every product template to ensure the OOS state includes a visible disabled button and matching availability text. Pay special attention to single-page applications (SPAs) where the buy button state might depend on client-side JavaScript — Google's crawler needs to see the disabled state in the rendered DOM.

Monitoring and Prevention

Fixing existing non-compliant pages is step one. Preventing future violations requires ongoing monitoring, especially for catalogs with high inventory turnover.

Check Merchant Center diagnostics daily. The Diagnostics tab in Merchant Center surfaces availability mismatch issues. After the policy update, pay close attention to any new warnings in the "Landing page" or "Misrepresentation" sections. These are early indicators that Google's crawler has found non-compliant pages.

Set up feed optimization alerts. Configure your feed management tool to alert you when products change availability status. Every availability change is a potential compliance risk if the page doesn't update in sync. Automated alerts let you catch and fix mismatches before Google's crawler does.

Monitor feed-to-page sync latency. Track the time between an inventory change in your system and the corresponding feed update reaching Merchant Center. If this latency is more than a few hours, you're operating in a risk window. Use the Content API to push critical availability changes in real time, and rely on scheduled feeds for less time-sensitive updates like price changes. Our feed update recovery guide covers how to minimize the performance impact when availability changes cause temporary disruptions.

Audit your templates periodically. Theme updates, plugin changes, and frontend deployments can inadvertently break the OOS button behavior. Add a check to your QA process: after any frontend deployment, verify that an out-of-stock product page still shows a disabled buy button with matching availability text. The custom labels feature can help you segment products by availability status so you can quickly pull up a list of OOS products to spot-check after deployments.

For retailers with large catalogs, consider building or using automated page auditing that crawls your OOS product pages and verifies the button state and availability text match. Tools like Screaming Frog or custom scripts using Puppeteer can render pages and check for the disabled attribute and the presence of availability text. This proactive approach catches issues before Merchant Center's crawler flags them, giving you time to fix problems before they become disapprovals.

The broader lesson from this policy update is one that applies to all Merchant Center management: your product feed and your landing pages are two sides of the same coin. When they disagree, problems follow. Treat availability accuracy as a core operational metric alongside revenue and ROAS, and monitor it with the same rigor. The retailers who take competitive pricing and availability alignment seriously are the ones who avoid policy surprises like this one.

Frequently Asked Questions

What exactly changed in Google's out-of-stock policy on March 19, 2026?

Google now requires that out-of-stock product pages display a visibly grayed-out or disabled buy button. Previously, hiding the buy button entirely or leaving it active but non-functional were tolerated. Under the updated policy, both of those approaches are non-compliant. Additionally, the on-page availability text must exactly match the availability value in your product feed.

Will my products be disapproved immediately if my buy button is not grayed out?

Google typically issues warnings before disapprovals for newly enforced policies. However, the misrepresentation policy category is one of the most serious in Merchant Center. If your out-of-stock pages show an active buy button, you risk product-level disapprovals that can escalate to account-level suspension if the issue is widespread and not corrected promptly.

Does this policy apply to products marked as 'preorder' or 'backorder'?

The updated rules specifically target products with an availability value of 'out_of_stock' in the feed. Products marked as 'preorder' or 'backorder' have their own requirements: the buy button can remain active, but the page must clearly display the expected shipping date and the feed availability value must match. The key principle is that whatever your feed says must match what the shopper sees on the page.

How do I handle variant-level availability (e.g., some sizes in stock, others not)?

Each variant that has its own product feed entry must have its landing page reflect that specific variant's availability. If size L is out of stock and has its own feed entry marked 'out_of_stock', the page must show a disabled buy button when size L is selected. If your page defaults to an in-stock variant, the selected variant's availability must still match its feed value when a shopper selects the out-of-stock option.

Can I just remove out-of-stock products from my feed instead?

You can, but it is not always the best strategy. Removing products from the feed means losing their performance history and quality scores in Merchant Center. Google recommends keeping products in the feed with the correct 'out_of_stock' availability value and ensuring your landing page complies. This preserves your product data and allows faster reactivation when the product is back in stock.

Keep Your Feed and Pages in Sync

SKU Analyzer tracks feed changes, monitors availability mismatches, and alerts you before Merchant Center flags compliance issues. Stay ahead of policy updates with real-time feed intelligence.

Try Demo →

Related Articles