How to resolve mismatched value (page crawl) issue on Google Merchant Centre?

DaveLister
New Member
9 0 0

This has been addressed here numerous times, I've read the answers and I'm still lost what to do next.

 

I have a  store selling products with size variants.  The different sizes are different prices.  I have just installed Google Sales Channel and waited a week for my products to update.  

 

On Google Merchant Centre I am getting....

Mismatched value (page crawl) [price] 

 

...on every product with a variant.  The crawl has read the price on the landing page and ignored the variants.

If I use  the Google Rich Results Test on the landing page, it correctly sees all the variants and their prices.  Merchant does not.

 

What do I need to do?  In layman's terms please!

Replies 9 (9)

claricelin
Shopify Partner
146 18 30

Hi @DaveLister 

 

Head to the top right hand corner of the Merchant Center - click on the "wheel" settings icon.

Click on Automatic Improvements.

 

Make sure everything under Automatic updates are turned on. That would be a quick workaround.
For each variant (item), double check to make sure the link attribute is set as up as the variant item URL.

Screenshot 2023-11-19 at 18.22.07.png

 

Best,

Clarice

I help store owners to double their traffic and sales by getting on Google and YouTube page one. Check out my YouTube channel for more tips and tactics to drive traffic and sales ➤ https://youtube.com/claricelin

Download my Shopify Marketing Guide to learn both FREE & PAID ways to drive visitors to your store that convert into paying customers. ➤https://claricelin.com/shopify-marketing-guide/
DaveLister
New Member
9 0 0

Could you please clarify "double check to make sure the link attribute is set as up as the variant item URL." 

 

Where do I do that? I turned off the automatic prices updating as it was re-pricing items with the wrong price.  i.e. Making all the variants the same price, the first one it saw on the landing page. 

 

Thankyou.

EmmanuelFlossie
Shopify Partner
3106 228 742

You said, It correctly sees all the variants. 

This is your problem.

Google should only see 1 variant per page URL.

 

Your structured data is incorrectly set up. Remove your current structured data and instead use:

 

<!-- Copyright FeedArmy 2023 Version 3.21 -->
<!-- FeedArmy tutorial found at https://feedarmy.com/kb/shopify-microdata-for-google-shopping/ -->

<!-- CODE SETTINGS START -->
<!-- CODE SETTINGS START -->

<!-- ALPHA2 CODE Please add your alpha2 code, you can find it here: https://help.shopify.com/en/api/custom-storefronts/storefront-api/reference/enum/countrycode -->
{%- assign fa_product_id_alpha2_code = 'US' -%}

<!-- PRODUCT IDset your product id values are default, product_id, parent_id, sku-->
{%- assign fa_product_id = 'default' -%}

<!-- RETURNS How long is your returns policy in days? -->
{%- assign fa_return_days = 28 -%}

<!-- SHIPPING How much do customer need to spend for free returns, assign your currency? -->
{% if cart.currency.iso_code == 'USD' %}
    {%- assign fa_shipping_currency = "USD" -%}
    {% if fa_product_price >= "75" %}
        {%- assign fa_shipping_price = 0.00 -%}
    {%- else -%}
        {%- assign fa_shipping_price = 4.50 -%}
    {%- endif -%}
{%- endif -%}
{%- assign fa_shipping_handling_time_min = 0 -%}
{%- assign fa_shipping_handling_time_max = 1 -%}
{%- assign fa_shipping_shipping_time_min = 2 -%}
{%- assign fa_shipping_shipping_time_miax = 5 -%}

<!-- Disable / Enable shipping or returns true for enabled, false for disabled-->
{%- assign fa_returns = 'true' -%}
{%- assign fa_shipping = 'true' -%}

<!-- CODE SETTINGS END -->
<!-- CODE SETTINGS END -->

<!-- ==================================== -->
<!-- DO NOT EDIT ANYTHING BELOW THIS LINE -->

{%- if template contains 'product' -%}

{%- assign fa_current_variant = product.selected_or_first_available_variant -%}

{%- if fa_product_id == 'default' -%}
{%- capture fa_product_id_value -%}shopify_{{ fa_product_id_alpha2_code }}_{{ product.id }}_{{ fa_current_variant.id }}{%- endcapture -%}
{%- elsif fa_product_id == 'product_id' -%}
{%- capture fa_product_id_value -%}{{ fa_current_variant.id }}{%- endcapture -%}
{%- elsif fa_product_id == 'parent_id' -%}
{%- capture fa_product_id_value -%}{{product.id }}{%- endcapture -%}
{%- elsif fa_product_id == 'sku' -%}
{%- capture fa_product_id_value -%}{{ fa_current_variant.sku | escape }}{%- endcapture -%}
{%- endif -%}

{%- if cart.currency.iso_code == 'GBP' or cart.currency.iso_code == 'USD' or cart.currency.iso_code == 'JPY' or cart.currency.iso_code == 'AUD' or cart.currency.iso_code == 'AED' or cart.currency.iso_code == 'CAD' or cart.currency.iso_code == 'BWP' or cart.currency.iso_code == 'BND' or cart.currency.iso_code == 'DOP' or cart.currency.iso_code == 'GTQ' or cart.currency.iso_code == 'HKD' or cart.currency.iso_code == 'INR' or cart.currency.iso_code == 'ILS' or cart.currency.iso_code == 'YEN' or cart.currency.iso_code == 'KES' or cart.currency.iso_code == 'KOR' or cart.currency.iso_code == 'LBP' or cart.currency.iso_code == 'MYR' or cart.currency.iso_code == 'MXN' or cart.currency.iso_code == 'NPR' or cart.currency.iso_code == 'NZD' or cart.currency.iso_code == 'NIO' or cart.currency.iso_code == 'NGN' or cart.currency.iso_code == 'PKR' or cart.currency.iso_code == 'CNY' or cart.currency.iso_code == 'PHP' or cart.currency.iso_code == 'SGD' or cart.currency.iso_code == 'LKR' or cart.currency.iso_code == 'CHF' or cart.currency.iso_code == 'TWD' or cart.currency.iso_code == 'TSH' or cart.currency.iso_code == 'THB' or cart.currency.iso_code == 'UGX' or cart.currency.iso_code == 'KWD' or cart.currency.iso_code == 'CLP' or cart.currency.iso_code == 'BHD' -%}
{%- assign fa_product_price = fa_current_variant.price | money_without_currency | remove:',' -%}
{%- else -%}
{%- assign fa_product_price = fa_current_variant.price | money_without_currency | remove:'.' | replace: ',', '.' -%}
{%- endif -%}

<script type="application/ld+json" data-creator_name="FeedArmy">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "@id": {{ canonical_url | json }},
  "name": "{{ product.title | strip_html | escape }}",
  "url": "{{ shop.url }}{{ product.url }}",
  "sku": "{{fa_product_id_value}}",
  {%- if product.variants.first.barcode.size >= 12 and product.variants.first.barcode.size <= 14 -%}
  "gtin": {{ product.variants.first.barcode }},
  {%- endif -%}
  "productID": "{{ product.id }}",
  "brand": {
    "@type": "Brand",
    "name": "{{ product.vendor | escape }}"
  },
  "description": {{ product.description | strip_html | json }},
  "image": "https:{{ product.featured_image.src | img_url: '1500x1500' }}",
  {%- if product.variants -%}
    "offers":
      {
        "@type" : "Offer",
        {%- if fa_returns == 'true' -%}
        "hasMerchantReturnPolicy": {
          "@type": "MerchantReturnPolicy",
          "applicableCountry": "{{ fa_product_id_alpha2_code }}",
          "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
          "merchantReturnDays": {{ fa_return_days }},
          "returnMethod": "https://schema.org/ReturnByMail",
          "returnFees": "https://schema.org/FreeReturn"
        },
        {%- endif -%}
        {%- if fa_shipping == 'true' -%}
        "shippingDetails": {
          "@type": "OfferShippingDetails",
          {% if fa_shipping_price %}
          "shippingRate": {
              "@type": "MonetaryAmount",
              "value": {{ fa_shipping_price }},
              "currency": "{{ fa_shipping_currency }}"
          },
          "weight":{
              "@type": "QuantitativeValue",
              "value" : "{{ product.variants.first.weight | weight_with_unit }}"
          },
          {%- endif -%}
          "shippingDestination": {
            "@type": "DefinedRegion",
            "addressCountry": "{{ fa_product_id_alpha2_code }}"
          },
          "deliveryTime": {
            "@type": "ShippingDeliveryTime",
            "handlingTime": {
              "@type": "QuantitativeValue",
              "minValue": {{fa_shipping_handling_time_min}},
              "maxValue": {{fa_shipping_handling_time_max}},
              "unitCode": "DAY"
            },
            "transitTime": {
              "@type": "QuantitativeValue",
              "minValue": {{fa_shipping_shipping_time_min}},
              "maxValue": {{fa_shipping_shipping_time_max}},
              "unitCode": "DAY"
            }
          }
        },
        {%- endif -%}
        "priceCurrency": "{{ cart.currency.iso_code }}",
        "price": "{{ fa_product_price }}",
        "itemCondition" : "http://schema.org/NewCondition",
        "availability" : "http://schema.org/{% if fa_current_variant.available %}InStock{% else %}OutOfStock{% endif %}",
        "url" : "{{ shop.url }}{{ fa_current_variant.url }}",
            {%- if fa_current_variant.image -%}
              {%- assign variant_image_size = fa_current_variant.image.width | append: 'x' -%}
              "image": "https:{{ fa_current_variant.image.src | img_url: variant_image_size }}",
            {%- else -%}
              "image": "https:{{ product.featured_image.src | img_url: '1500x1500' }}",
            {%- endif -%}
            {%- if fa_current_variant.title != 'Default Title' -%}
              "name" : "{{ product.title | strip_html | escape }} - {{ fa_current_variant.title | escape }}",
            {%- else -%}
              "name" : "{{ product.title | strip_html | escape }}",
            {%- endif -%}
            {%- if fa_current_variant.barcode.size >= 12 and fa_current_variant.barcode.size <= 14 -%}
              "gtin": {{ product.variants.first.barcode }},
            {%- endif -%}
			        "sku": "{{fa_product_id_value}}",
            {%- if product.description != blank -%}
            "description" : {{ product.description | strip_html | json }},
            {%- endif -%}
          "priceValidUntil": "{{ 'now' | date: '%s' | plus: 31536000 | date: '%Y-%m-%d' | uri_encode | replace:'+','%20' }}"
      }
    {%- if product.variants.size > 1 -%},
      "additionalProperty": [{
        "@type": "PropertyValue",
        "propertyID": "item_group_id",
        "value": "{{ product.id }}"
      }]
      {%- endif -%}
    {%- if product.metafields.spr.reviews -%}
    {%- assign fa_rating = product.metafields.spr.reviews | split: '"reviewCount": "' | last | split: '"' | first | plus: 0 -%}
    {%- if fa_rating > 0 -%}
    ,"aggregateRating": {
     "@type": "AggregateRating",
     "ratingValue": {{ product.metafields.spr.reviews | split: '"ratingValue": "' | last | split: '"' | first | plus: 0 }},
     "ratingCount": {{ product.metafields.spr.reviews | split: '"reviewCount": "' | last | split: '"' | first | plus: 0 }}
    }
    {%- endif -%}
    {%- endif -%}
  {%- endif -%}
}
</script>
{%- endif -%}
<!-- Copyright FeedArmy 2023 Version 3.21 -->
Get in touch with Emmanuel: a Google Shopping Specialist, Google Ads Diamond Product Expert, and also a a Google Product Expert Education 2021 & Tailwind 2023 Award winner.
Need Google Merchant Center or Google Shopping support?.
DaveLister
New Member
9 0 0

OK, so this is where I got to on the other threads and where my head started to hurting.

 

If I may ask a couple of questions?  Why do I want Google to see one variant and not all 3?  In my head the issue currently is that Google is only seeing the one variant and I am uploading 3, hence the mismatch.  I though when the Rich Results test returned 3 variants, this was good.  It was saying Google sees 3 variants, can see the prices but something is stopping my products mapping to them.  Can someone explain this process to me as if I were 5 years old?

 

Second, the code.  Where does it go?   I can find the code for my site.  But where do I stick it?  ( I know where i'd like to 😁 ).  Am I replacing existing code or inserting it somewhere.  Again, an explanation for a 5 year old would really help!

 

Thanks for the input so far guys, sorry to be a pain.

EmmanuelFlossie
Shopify Partner
3106 228 742

As you already discovered, if you show 3 variants in the structured data, Google gets confused which one is correct. Therefor, showing only 1 will resolve that issue.

 

In the first few lines of my code, it shows a tutorial, consider checking the tutorial.

 

Yes, remove the old code, or replace the new code with the old code.

Get in touch with Emmanuel: a Google Shopping Specialist, Google Ads Diamond Product Expert, and also a a Google Product Expert Education 2021 & Tailwind 2023 Award winner.
Need Google Merchant Center or Google Shopping support?.
DaveLister
New Member
9 0 0

Ahhh...ok....variant things makes a little more sense.  

 

Yup, see the link, thankyou!

DaveLister
New Member
9 0 0

I haven't as yet got around to adding this code. I have made no changes.  But....the products with this warning have dropped from 16 to 7.  They are now showing as active.  So....should I just wait a little longer!?

EmmanuelFlossie
Shopify Partner
3106 228 742

If the products are getting approved, then all is good.

Get in touch with Emmanuel: a Google Shopping Specialist, Google Ads Diamond Product Expert, and also a a Google Product Expert Education 2021 & Tailwind 2023 Award winner.
Need Google Merchant Center or Google Shopping support?.

harsh_1729
Shopify Partner
9 1 4

Hey DaveLister,

One of the reasons for the mismatched value (page crawl) [price] could be the time difference between updates on your website and updates of your data in Merchant Center. Google recommends that you schedule feed uploads or updates via the Content API immediately after the products have been updated on your website.

Additionally, you may want to verify that you have correctly implemented the structured data markup for price [price] on your product landing pages. You can use the rich results tool to test your landing pages.

The price mismatch between your landing page and your product data was discovered and reported at a specific date and time (view notification timestamp). It’s possible that this data may have been updated and reapproved in the meantime. You can find the current approval status of a product in the “Status” column on the All products page (under Products) or in the Status section in the individual product page in Merchant Center.

If you have a minimum order quantity or items are sold in bulk quantities, the total price for the minimum number of items sold must be submitted. Ensure that the price provided via the price attribute in your product data matches the one displayed on the corresponding product landing page.

You can manage automatic item updates to help keep the prices in your ads and listings up-to-date with the prices on your landing page. This feature is turned on by default. Learn more About automatic item updates.

Best Regards,
Harsh
Team Adnabu

Harsh Gussain | Customer Success Executive@ AdNabu


 - Was my reply helpful? Click Like to let me know! 


 - Was your question answered? Mark it as an Accepted Solution


 - Try our Nabu for Google Shopping Feed App from Shopify App Store.