Mismatched value (page crawl) [price] on Shopify
What Google compares, the causes on Shopify stores, and how to check your own product pages. Last updated 4 October 2026.
Google Merchant Center shows Mismatched value (page crawl) [price] when the price it holds for a product is not the price it found on that product’s page. The product can be disapproved until the two agree, and Google’s own help page says this may lead to an account suspension.
On this page
What Google comparesCauses on Shopify stores
Check one product by hand
Check 20 products at once
How common the page-side cause is
What to change
When the page is fine and the feed is not
What Google compares
There are two prices. One is in your product data in Merchant Center, which on Shopify usually arrives through the Google & YouTube channel or a feed app. The other is on the product page itself. Google’s crawler opens the link from your product data and reads the price from the page, using the structured data markup when the page has it.
Three details from Google’s documentation matter in practice:
- The crawler reads the HTML your server returns. A price that JavaScript changes after the page has loaded is not the price Google sees.
- The mismatch was recorded at a specific moment. The product may already match again; Google rechecks disapproved products over the following hours or days and reapproves them when the prices agree.
- Currency counts. A page that shows a different currency to the crawler than the one in your product data is a mismatch even when the amounts are equivalent.
Source: How to fix: Mismatched product price in Google Merchant Center Help.
Causes on Shopify stores
1. A discount that exists on the page but not in the product price
Some discount apps and theme customisations write the discounted price into the product page, including its structured data, while the variant price in Shopify stays at the full amount. We have seen a page tell Google 70.00 for a variant whose product data said 140.00. If your feed is built from the variant price, Google holds 140.00 and reads 70.00. If your feed sends the discounted price as a sale price, the two agree and there is nothing to fix.
2. Variants that share one price in the structured data
A feed usually links each variant to its own address, ending in
?variant= and a number. The page behind that link has to state that
variant’s price. A theme that lists only the first variant, or repeats one price
for all of them, is correct for one variant and wrong for the rest whenever variants are
priced differently.
3. A different currency for the crawler
Google’s crawler mostly visits from the United States. A store that picks the currency from the visitor’s location can show the crawler US dollars for a product whose feed targets another country. The link in your product data has to open the page in the currency of that feed, for any visitor.
4. Timing
You changed a price in Shopify and Google crawled the page before your product data caught up, or the other way round. This one clears by itself once both sides have updated, and it is the first reason Google lists.
5. Sale dates
If your product data carries a sale price with effective dates, a wrong start date or time zone makes Google apply the sale earlier or later than your store does.
6. A price added by JavaScript
If the price a shopper sees is put there by a script after the page loads, and the HTML from the server says something else, Google compares against the HTML.
7. No Product structured data at all
Some themes output no Product structured data, or only the older microdata form. Google then has to work the price out from the visible page, which leaves more room for it to pick up a compare-at price or another product’s price.
Check one product by hand
- In Merchant Center, open the disapproved product and copy its link exactly as it is there, including anything after the question mark.
-
Open that link in a private window, then view the page source and search for
application/ld+json. Find the block whose type is Product. - In its offers, find the one for your variant and read its price, currency and availability.
- Compare that with the variant’s price in Shopify admin and with the price Merchant Center shows for the product. All three should be the same amount in the same currency.
- Run the same link through Google’s Rich Results Test to see the structured data as Google reads it.
Check 20 products at once
The free store check does the page-side part of that for a sample of your catalogue. You enter your store address. It reads up to 20 public product pages, matches each offer in the structured data to its variant, and compares price and availability with your store’s own public product data.
- It needs no install, no login and no access to your store or your Google account.
- It reads only pages anyone can open, and changes nothing.
- It confirms each difference a second time before showing it. When it cannot be sure, for example because the page is in another currency or the theme has no Product structured data, it says it could not verify that product.
- It does not read Merchant Center, so it cannot tell you what your feed sent. It tells you whether the page side is consistent with your store.
- It is a sample of 20 products, not an audit of the whole catalogue.
How common the page-side cause is
Less common than the forum threads suggest. In October 2026 we ran the check on 69 Shopify stores that were advertising on Google Shopping at the time. None of them had a price or availability difference between the page’s structured data and the store’s product data. The clear case we have seen, outside that sample, was the discount described in cause 1.
So if your pages come back clean, look at the other side: what your product data in Merchant Center says, when it was last updated, and which currency and sale dates it carries.
What to change
| If the cause is | Change this |
|---|---|
| A page-level discount | Make the feed send the same discounted price as a sale price, or put the discount into the variant price and compare-at price in Shopify so both sides read it from one place. |
| Variants sharing one price | Have the theme’s structured data list one offer per variant, each with its own price and its own link. |
| Currency | Make the link in your product data open the page in the feed’s currency without depending on where the visitor is. |
| Timing | Update product data more often. Merchant Center’s automatic item updates can also correct the price from the page, which helps only when the page is the side that is right. |
| Sale dates | Correct the sale price effective dates and their time zone in the product data. |
| JavaScript price | Render the real price in the HTML the server returns. |
| No structured data | Add Product structured data to the theme, with one offer per variant. |
When the page is fine and the feed is not
The other half of this problem is the product data Google holds: a price that never updated, a product still listed after you archived it, an item in stock on Google and sold out in your store. Checking that means reading Merchant Center, which the free check does not do.
FeedParity is a read-only Shopify app that does. It compares your Shopify catalogue with what Merchant Center holds and lists each difference with the value from both sides. It does not edit your products, your feed or your Google account. One complete scan is free.