Merchant Center

How to Fix Price Mismatches in Google Merchant Center

How Google compares your product data with your landing pages, the common causes of mismatches, and how to fix them for one product or the whole catalog.

A price mismatch means the price Google crawled on your product page doesn’t match the price in your product data. The product can be disapproved, and Google says repeated mismatches may lead to account suspension.

The fix is rarely just changing a number. You need to find why the two prices differ, fix that cause, and then ask Google to recrawl.

Short answer: Google crawls your product page and compares the price in your data source with the price on the page and in structured data. They must match exactly, in the same currency. Find the cause (stale data, sale price handling, JavaScript-rendered prices or currency), fix it at the source, then request a website check or review. Re-crawls take a few hours or days.

Key Takeaways

  • Google compares the price in your data with the HTML the server returns and with structured data.
  • Prices added by JavaScript after the page loads can trigger mismatches.
  • If a page shows several currencies, your data must match the one shown most prominently.
  • Sale prices need sale_price in your data, with the regular price still in price.
  • Repeated mismatches can put the account at risk, so fix the process, not just the product.

How Google checks your prices

According to Google’s price mismatch fix article, Googlebot crawls your landing pages and compares the price in your data source with the price on the landing page or in structured data. If they don’t match, the product may be disapproved.

Two details matter more than most merchants expect:

  • Googlebot reads the HTML your server returns. If the price is injected with JavaScript after the page loads, this can trigger an error. The price in the HTML must match exactly.
  • Structured data counts. Google’s merchant listing structured data documentation recommends putting Product markup in the initial HTML, because JavaScript-generated markup can make Shopping crawls less frequent and less reliable for fast-changing prices and availability.

Crawling is subject to your server’s capacity. A slow or overloaded server can delay recrawls after you fix the issue.

Common causes of price mismatches

In practice, these are the causes worth checking first, roughly from most to least common:

  1. Stale product data. The site price changed, but the feed or app hasn’t updated yet.
  2. Sale price handling. The site shows a discounted price, but the data only has the regular price, or the sale dates differ.
  3. Variant prices. The link points to a page that shows a different variant (often the default one) than the product in your data.
  4. JavaScript-rendered prices. A theme, app or currency switcher writes the price after the page loads.
  5. Currency or market differences. The page shows a different currency, or a geo-based price, than the one in your data.
  6. Structured data out of date. The visible price is right but the markup still carries an old value.
  7. Rounding and formatting. Extra decimals or different rounding between systems.
  8. Caching. A CDN or page cache serves an old price to crawlers.

How to confirm the cause

  1. Open Products > Needs attention, select the price issue and note the sample products.
  2. For one sample, compare three values: the price in Merchant Center, the price shown on the live page, and the price in the page’s structured data.
  3. View the page source (not the rendered page) and search for the price. If it isn’t in the raw HTML, JavaScript is adding it.
  4. Use the URL Inspection Tool or Rich Results Test to see the HTML and structured data Google can read. Both are mentioned in Google’s landing page and structured data documentation.
  5. Open the exact URL in your link attribute, including any variant parameters, and check which variant is selected.
  6. Check the page in a private window to rule out logged-in pricing, cart discounts or cached sessions.

If the prices match when you check, the issue may already be resolved on the site. The product stays disapproved until Google recrawls it, which is why requesting a website check or review matters.

Currencies and multi-currency stores

Google asks you to use the appropriate currency for each target country. If a page shows multiple currencies, the price and currency in your data source must match the one that is most prominently displayed.

Geo-based currency switching is a frequent cause. A shopper in the US sees USD, but a crawler may be served a different default. Google’s structured data documentation recommends a distinct URL per currency, which gives each version a stable price.

If you sell in several countries, see how to handle multiple countries and currencies.

Sale prices and strikethrough prices

Sale prices are a common source of mismatches. Google’s sale_price requirements include:

  • Keep submitting the full regular price in price, and the discounted price in sale_price.
  • Show both the regular and sale price on the landing page, and only the sale price at checkout.
  • The sale price must match the landing page and checkout.
  • If an item is on sale but you don’t submit sale_price, use the sale price as price.
  • Use sale_price_effective_date with the correct time zone; without it, the sale applies immediately.
  • Sale prices can have at most two decimals (extra digits are rounded).
  • Don’t use sale_price for loyalty-member prices or promo-code discounts; those use loyalty_program and promotions.

Timing is where most sale mismatches happen: the site sale starts at midnight in one time zone and the data in another. More detail is in the sale prices guide.

Automatic item updates

Automatic item updates (the Automations tab under Products) use your landing page data, including structured data, to update price, sale_price, availability and condition. They are enabled by default.

They help, but they are not a fix for a broken process:

  • Google designed them to correct sporadic problems for a small share of products, not to replace regular data updates.
  • If prices change more than once a day, products may be disapproved instead, and Google may stop updates if there are too many mismatches. Google suggests the Merchant API for frequent changes.
  • Price automation can also update strikethrough prices. If your pages show multiple strikethrough prices, Google says not to enable price automation.
  • Map your structured data to schema.org price, priceCurrency, availability and itemCondition so the automation reads the right values.

How to fix price mismatches

One product

  1. Fix the price on the site or in your platform so the page and data agree.
  2. If the product was added directly in Merchant Center, update it via Needs attention > Edit product.
  3. Request a website check or review from the issue once the page is correct.

Many products

  1. Download the affected products from Needs attention as a .csv.
  2. Identify the shared cause (feed schedule, sale handling, variant URLs, JavaScript, currency).
  3. Fix that cause in your platform, feed tool or theme.
  4. Re-upload or resync the data source, then request a review.

Shopify and WooCommerce

For third-party platforms, Google says to follow the platform’s instructions. In practice that means editing prices in the store and letting the Google app or extension sync, and checking that theme or currency apps don’t rewrite prices with JavaScript. See Shopify troubleshooting and WooCommerce feed errors.

After the fix

Google re-crawls disapproved products over the next few hours or days, and they are reapproved after the re-crawl if the prices match. A website check can take up to 12 hours, and you can’t submit another during that time.

Preventing price mismatches

  • Update product data at least as often as prices change on the site.
  • Render the price and Product structured data in the server HTML.
  • Schedule sales with explicit start and end times in both the store and the data.
  • Give each variant its own URL with the correct price selected.
  • Exclude crawlers from geo-based currency redirects, or use distinct URLs per currency.
  • Re-test a few product pages after theme, app or pricing changes.

Aligning page data and feed data is covered more broadly in how to align website data and product feeds.

When to get help

Get help when mismatches keep returning after fixes, when they affect a large share of the catalog, or when the cause is in theme code or apps. Because repeated mismatches can lead to suspension, it’s better to fix the process early. Our disapproval service covers diagnosis, fixes and review requests; Google makes the final decision.

Frequently asked questions

Why does Merchant Center say my price is wrong when the page looks right?

Googlebot reads the HTML your server returns and your structured data. If the price is added by JavaScript, cached, or differs in markup, Google may see a different value than you do.

How long after fixing a price mismatch will my product be approved?

Google says it re-crawls disapproved products over the next few hours or days and reapproves them if the prices match. A website check can take up to 12 hours.

Can a price mismatch get my account suspended?

Google states that repeated price mismatches may lead to account suspension.

Should I turn on automatic item updates?

They are on by default and help with occasional mismatches. They don’t replace regular data updates, and Google says not to enable price automation if pages show multiple strikethrough prices.

Which currency should my feed use if my site shows several?

The currency that is most prominently displayed on the page, and the appropriate currency for the target country.

Price mismatches keep coming back?

We find why your site and product data disagree, fix the process behind it and request a review once it’s corrected.

Sources

Last reviewed October 10, 2026 against the official documentation listed above. Google changes Merchant Center features and policies regularly — always confirm details in your own account.

Similar Posts