Google merchant center - Mismatched value (page crawl) [price] error fix


Google Merchant Center is a tool that helps merchants upload their store information and products to Google in order to make them available for purchase and shopping ads.

Once submitted, the products will be made available to all of the Google services, but only if the submissions are error-free of course. One of the most common errors any merchant can get is the Mismatched value (page crawl) [price] error.

This means that the initial specified price does not match the value present on the shop. Google periodically crawls each product page and looks for information in the structured data present on the product page.

Schema structured data is an advanced markup code added to your website. Websites with Schema are easier for search engines and other crawlers to index, meaning it’s easier for them to understand the content of your store, and serve it to more relevant people. In this particular case it is also used to match information provided in the Google merchant console, with the information on the shop.

Usually the Mismatched value (page crawl) [price] error is prone to show up for products containing multiple variants that differ by size, colour or small details and each of them has a different price. Even if the default price is the same for all of them, one of them may be on offer for a limited time and a mismatched value error can come up.

One step at a time

So to take things one at a time, the first thing to check is that your website does indeed have a valid schema structured data markup present on the product pages. This is a mandatory requirement since Google will use it to sync all data.

To check this, you can use the structured data testing tool. Just copy-paste the product page url in the tool and it will show the existing structured data markup. If any of course.

If your website does not have any structured data markup, now would be a great time to add it.

For Shopify store owners this is as easy as installing an app: Schema & Breadcrumbs. For other platform users you can  follow the official guidelines in building a comprehensive structured data markup for your store.

If your store does have the markup set up but it shows errors, it will be a good time to fix them now.

Still not working

Even if the structured data markup is properly set up, it does not mean this particular error will go away. 

One way of getting rid of it is to manually update the prices in the merchant center for all the products and variants, but that would mean some tedious work since every time you have an offer or change something to a product, you have to manually change values in the merchant center.

The more automated approach would be to yet again, change your structured data markup and instead of one product having an "Offer" attribute for each variant, you should make a "product" object for each variant and make use of the "inProductGroupWithID"  property to group them on the main product.

An  example using "inProductGroupWithID" will look like this:

[
  {
    "@context": "https://schema.org/",
    "@type": "Product",
    "sku": "44E01-M11000",
    "gtin14": "98766051104218",
    "inProductGroupWithID": "44E01",
    "image": "https://www.example.com/coat_small_green.jpg",
    "name": "Small green coat",
    "description": "Small wool green coat for winter",
    "brand": {
      "@type": "Thing",
      "name": "Good brand"
    },
    "audience": {
      "@type": "PeopleAudience",
      "suggestedGender": "unisex",
      "suggestedMinAge": 13
    },
    "color": "green",
    "size": "small",

    "offers": {
      "@type": "Offer",
      "url": "https://www.example.com/coat?s=s&c=g",
      "priceCurrency": "USD",
      "price": 39.99,
      "itemCondition": "https://schema.org/NewCondition",
      "availability": "https://schema.org/InStock"
    }
  },
  {
    "@context": "https://schema.org/",
    "@type": "Product",
    "sku": "44E01-K11000",
    "gtin14": "98766051104201",
    "inProductGroupWithID": "44E01",
    "image": "https://www.example.com/coat_small_darkblue.jpg",
    "name": "Small dark blue coat",
    "description": "Small dark blue coat for winter",
    "brand": {
      "@type": "Thing",
      "name": "Good brand"
    },
    "audience": {
      "@type": "PeopleAudience",
      "suggestedGender": "unisex",
      "suggestedMinAge": 13
    },
    "color": "light blue",
    "size": "small",

    "offers": {
      "@type": "Offer",
      "url": "https://www.example.com/coat?s=s&c=lb",
      "priceCurrency": "USD",
      "price": 39.99,
      "itemCondition": "https://schema.org/NewCondition",
      "availability": "https://schema.org/InStock"
    }
  },
  {
    "@context": "https://schema.org/",
    "@type": "Product",
    "sku": "44E01-X1100000",
    "gtin14": "98766051104391",
    "inProductGroupWithID": "44E01",
    "image": "https://www.example.com/coat_large_darkblue.jpg",
    "name": "Large dark blue coat",
    "description": "Large dark blue coat for winter",
    "brand": {
      "@type": "Thing",
      "name": "Good brand"
    },
    "audience": {
      "@type": "PeopleAudience",
      "suggestedGender": "unisex",
      "suggestedMinAge": 13
    },
    "color": "light blue",
    "size": "large",

    "offers": {
      "@type": "Offer",
      "url": "https://www.example.com/coat?s=l&c=lb",
      "priceCurrency": "USD",
      "price": 49.99,
      "itemCondition": "https://schema.org/NewCondition",
      "availability": "https://schema.org/InStock"
    }
  }
]

The main  differences here are the square brackets that contain all the product objects, the inProductGroupWithID property that is used to give information regarding to the main product id and also the color and size properties that give information about the differences between the variants.

This markup will result in a "product" object for the main product and each of the variants, each of them having different url's, prices, or other attributes, but they will be all grouped under the same main  product. 

Following this approach will "instruct" Google to crawl each variant individually and the Mismatched value (page crawl) [price] error will now go away for each of the products.

Know a more interesting approach? Feel free to let us know in the comments below.


Leave a comment


Please note, comments must be approved before they are published