A price mismatch happens when the price in your product feed does not match the price on your live product page when Google's crawler checks it. It sounds simple. The causes are not.
Google's Shopping ads are a contract with the consumer: the price in the ad is the price on the product page. When those prices diverge, Google flags it as a policy violation. Individual mismatched products get disapproved. If the problem spreads across enough of your catalogue or persists after warnings, the entire Merchant Center account can be suspended under the Misrepresentation policy.
In 2026, Google crawls product prices more frequently than in previous years. The March 2026 buy-button rules also introduced stricter matching requirements for availability, which means a feed that was previously acceptable may now generate mismatches. Catching price discrepancies early, before they trigger a suspension, is significantly easier than fixing them after the fact.
This guide covers what actually causes price mismatches (there are more causes than most merchants expect), how to find every affected product, and the exact steps to fix them on Shopify, WooCommerce, and Magento.
Google's crawler visits your product landing pages and compares the price it finds there to the price in your feed. A mismatch is flagged when these do not match. Google expects:
Even a $0.01 difference can trigger a disapproval. Google does not apply a tolerance threshold for pricing.
Prices changed on the site but the feed was not updated. Most common with manual CSV/TSV feed uploads.
Feed submits prices ex-tax, site displays prices inc-tax (or vice versa). Common in EU stores.
Site shows different prices based on login status, membership, A/B test, or geo. Google sees the anonymous visitor price.
A promotion reduced prices on the site but the feed still shows the original price. Or the reverse: sale ended but the feed still shows the discount.
Price is loaded by client-side JS. Google's crawler may not execute JS, so it sees no price or an old cached price.
Feed currency and site display currency do not match for a given target country. A common multi-market issue.
Feed price accidentally includes shipping costs, but the product page shows the base product price only.
Automated feed refresh is set to weekly or monthly, but prices change daily. The feed lags behind the live site.
In Merchant Center, go to Products > Diagnostics. Filter by "Price mismatch" issues. This shows which specific products are affected and the price Google found versus the price in your feed. Write down the affected product IDs and the discrepancy amounts before you start fixing.
Go to Products > All Products and filter by "Disapproved" status. For each disapproved product, check the listed reason. Price-related disapprovals are labeled clearly. Export this list if you have more than 20 affected products so you can track your fix progress.
For your top 20 products by revenue, manually visit each product page in an incognito browser window and compare the price shown to the price in your feed. Incognito mode is important here: it removes your session, login state, and cached prices so you see exactly what Google's crawler sees.
Open your product page in Chrome, right-click and choose "View page source" (not "Inspect"). In the source, search for the price value. If the price is not present in the page source (only visible after JavaScript executes), that is a risk factor for mismatch detection. Use Google's Rich Results Test to verify Google can read your prices correctly.
sale_price and price attributes.One of the most common feed errors that causes price mismatches around promotions is using the wrong attribute. When you run a sale, the correct approach is:
price attribute set to your regular (non-sale) pricesale_price attribute set to the current discounted pricesale_price_effective_date to define the sale windowIf you change the price attribute to the sale price for the duration of the promotion, you create a double risk: a mismatch when the sale starts (if the feed update lags behind the site update) and another mismatch when the sale ends (if you forget to update the feed back). The sale_price attribute was designed specifically to avoid this problem.
If your prices are only visible after JavaScript executes, you have two reliable options:
Offer containing the correct price in the server-rendered HTML. This gives Google a machine-readable price it can see without executing JavaScript. Verify it with Google's Rich Results Test.Avoid relying on Google eventually executing your JavaScript. Google does crawl JavaScript, but there are delays and inconsistencies in how quickly it processes JS-rendered content. For pricing data specifically, server-rendered HTML is far more reliable.
The March 2026 buy-button policy update brought availability mismatches into the same enforcement tier as price mismatches. If your feed says a product is "in stock" but the product page shows "out of stock" or has the add-to-cart button disabled, that is now treated as a misrepresentation violation.
The fix is the same in principle: make sure your feed refresh frequency matches how quickly your stock status changes. If you sell products that go out of stock within hours, you need near-real-time feed updates. The Google Content API for Shopping allows product-level availability updates in real time without uploading a full feed file.
GMCSuspension.com scans your live store and product feed against every Google Merchant Center policy requirement, including price and availability accuracy. See exactly what is mismatched before you appeal. Free preview, results in 60 seconds.
Run the free GMC suspension audit →Free preview available. No account required.
Any difference at all can trigger a mismatch disapproval. Google does not apply a tolerance threshold for pricing. Even a $0.01 difference between your feed price and your live product page price can result in a disapproval. The match needs to be exact, down to the cent and currency symbol.
Yes. If price mismatches affect a significant portion of your product catalogue, or if individual product disapprovals are not resolved after warnings, Google can escalate to an account-level suspension under the Misrepresentation policy. Individual product disapprovals from price mismatches are a warning sign to take seriously, not a minor inconvenience to ignore.
A price mismatch is when the price in your feed does not match the price on your product page. An availability mismatch is when the stock status in your feed (in stock, out of stock, preorder) does not match the actual status on your product page. Since the March 2026 buy-button rule update, both types are enforced equally as Misrepresentation violations.
After you fix the mismatch and update your feed, Google needs to re-crawl your product pages and confirm the prices now match. You can speed this up by using the "Request re-crawl" feature in Merchant Center (Products > select affected products > Re-fetch). Without requesting a re-crawl, approval can take several days to a few weeks depending on Google's crawl cycle for your domain.
It depends on your target market. For US-based merchants, feed prices are typically submitted excluding tax, and tax is configured separately in Merchant Center's tax settings. For EU merchants where consumers see prices including VAT, the feed price must match the displayed price (including VAT) unless you configure the tax settings in Merchant Center to handle the calculation. The key rule: the price Google shows in Shopping ads must match what the consumer sees on your product page.
Related articles