All posts

2026-11-08

Mismatched price in Google Merchant Center on Shopify — why the page price differs

Google requires that the price in your product data matches the price a shopper sees on the landing page. When the crawler sees a different price, Merchant Center can report a mismatch, and the item can be disapproved or have its price updated by Google.

Google's pages for this are How to fix: Mismatched product price and How to fix: Inaccurate price status due to inconsistency between feed and landing page. Merchants often see the account label Mismatched value (page crawl) [price] for the same kind of disagreement. Price mismatches are easy to create on Shopify without noticing.

What Google compares

Google compares the price, and the sale price when you send one, with:

  • the price visible on the landing page, and
  • the price in the page's structured data, which many themes output automatically.

The attribute rules are [Price [price]](https://support.google.com/merchants/answer/6324371?hl=en) and [Sale price [sale_price]](https://support.google.com/merchants/answer/6324471?hl=en). How to fix: Mismatched product price says Googlebot reads the HTML the server returns, and that a price inserted only after the page loads, with JavaScript, will not match. The price has to use the currency of the country you are targeting and match the price shown on the landing page. Set up structured data for Merchant Center and Product structured data describe the markup.

The common Shopify causes

1. The URL points to a different variant

Shopify product pages show a default variant when the link has no `?variant=` parameter. If your feed item is a higher-priced variant and the link omits that parameter, the page shows another price. How to fix: Inaccurate price status due to inconsistency between feed and landing page tells you to preselect the variant the feed item is for.

Fix: include the correct variant id on each feed item's link.

2. Structured data shows a different price than the visible page

Some themes output JSON-LD with the first variant's price, or a price range, regardless of the variant in the URL. The visible price can be right while the structured data is not.

Check: view source on a variant URL and search for `"price"`. Compare it with that variant's price in Shopify admin.

Fix: output the selected variant's price in the offer markup. Set up structured data for Merchant Center is the setup guide.

3. Sales and compare-at prices

If you run a sale by changing the Shopify price, or an app changes the price on the page with JavaScript, the feed can still have the old price until it syncs. An app that discounts only the page, and not the Shopify price, is a frequent cause. How to fix: Mismatched product price says the HTML price has to match the price attribute exactly.

Fix: the price Google receives should be the price on the page. If the discount applies only at checkout, for example a code, the page price and the feed price should both be the price before that code. When the page shows a reduced price and a crossed-out original, send the original as price and the reduced price as sale price. [Sale price [sale_price]](https://support.google.com/merchants/answer/6324471?hl=en) is the attribute. Check your feed app for how it maps Shopify's compare-at price.

4. Currency and Markets

With Shopify Markets, the same product can show different currencies and prices by country. If your feed sends one currency and the crawler opens a page in another, the prices will not match. [Price [price]](https://support.google.com/merchants/answer/6324371?hl=en) says not to change the price on the landing page based on the visitor's location. Shopify's market pricing notes are Pricing in local currencies and Managing and editing markets.

Fix: send country-specific data for each target country, and link to that market's URL.

5. Tax display

A shopper-facing price that includes tax, and product data that does not, will not match. Shopify sets that per market in Setting up duties and taxes for markets. Check the tax display for each market you advertise, and make the feed price the same figure the page shows.

How to check it yourself (no app needed)

  1. In Merchant Center, filter products by the price mismatch and note a few examples, including the price Google says it found.
  2. Open the exact landing URL, with `?variant=`, in a private window. Use the market URL for the country you are advertising when you can.
  3. Compare the visible price, the structured-data price (view source, search `"price"`), the Shopify variant price, and the feed price.
  4. Fix the cause at the source, then request a review where Merchant Center offers one, or wait for the next crawl. How to fix: Mismatched product price says Googlebot re-checks over the next few hours or days. Exact timing still varies.

Prevention

  • Before a sale, decide whether prices change in Shopify, which the feed can sync, or only at checkout.
  • After a theme update, re-check structured data on a few variant URLs.
  • Avoid apps that change the displayed price in the browser without updating the Shopify price, if you advertise those products.

FAQ

Will Google fix the price for me?

If automatic item updates are on, Google can replace the price with what it read on the landing page. That case is How to fix: Automatic updates: Mismatched price. That page still treats a price mismatch as a critical error that can lead to account suspension. Fix the source.

Does a mismatch always mean disapproval?

Not always. Depending on the case, Google may update the item, show a warning, or disapprove it. Treat a price mismatch as urgent during a promotion, because ads can stop when you most want them.

I fixed the page. How long until the issue clears?

It clears after Google re-crawls the page or re-processes your product data. Requesting a review, where Merchant Center offers it, can speed that up. How to fix: Mismatched product price describes a re-crawl over the next few hours or days. Exact timing is set by Google and varies.

Do sale prices need sale_price?

If the page shows a reduced price and the original crossed out, send the original as price and the reduced price as sale price, with sale dates when you know them. See [Sale price [sale_price]](https://support.google.com/merchants/answer/6324471?hl=en).

Where PageCop fits (PageCop is our app)

PageCop checks your live Shopify product pages and flags when the page's structured-data offer does not match the Shopify variant, for price and availability, with the evidence and a fix to try. It is read-only, does not sign in to Google, and does not read your feed or Merchant Center. It complements Merchant Center's diagnostics.

The short guide is [Mismatched value (page crawl) [price]](https://pagecop.com/guides/mismatched-value-page-crawl-price).

PageCop on the Shopify App Store

Sources

Check a product URL · Install on the Shopify App Store