Shopify / dawn

Shopify's first source available reference theme, with Online Store 2.0 features and performance built-in.
Other
2.53k stars 3.41k forks source link

Google Merchant landing page value mismatch #2245

Open jackkemmish opened 1 year ago

jackkemmish commented 1 year ago

Describe the current behavior

We use the Google app to sync our products to Google Merchant, and we have a lot of products we choose to use the "Continue selling when out of stock" option with 0 availble stock. These products aren't syncing to Google Merchant as they are saying there is a mismatch in data.

The value on the landing page says out of stock (I am assuming this is the schema), and the value passed in the data feed says in stock. So this is causing an availability issue in Google Merchant, and as it is saying the landing page says the product is out of stock, I am wondering if there is something wrong on the Dawn side?

Has anyone found this before?

Describe the expected behavior

The landing page should match the data feed, and when a product is using the "Continue selling when out of stock" option, it should marry up correctly, regardless if the stock availability is 0, because we have the option to continue selling.

Version information (Dawn, browsers and operating systems)

ludoboludo commented 1 year ago

Hey @jackkemmish I wonder if the issue you're facing isn't theme related. Would you have some visuals/screenshots of the issue or there isn't anything really visual coming up but just info shared on the google side in your private account ?

Even if I could know what sections you have on your landing page and see if it's a specific one that could be the issue. We check in the code for the availability of the product which takes into account the inventory policy.

jackkemmish commented 1 year ago

Hi @ludoboludo, I can't imagine it would be either. I've just exhausted many options and wondered maybe because Google say the landing page says out of stock it may have been theme related.

I can see the main product schema on the product template is correct in the scenario I mentioned above, but Google have been vague in their 'violation':

Value on the landing page - v:out_of_stock
Value in the data feed - v:in_stock

I was doing some more digging yesterday and it looks like the main Google app for Shopify is broken anyway so it may actually be the data hasn't been synced - I saw a massive drop off in product syncing since December, now almost having no products in our Merchant account.

Really annoying one as I tested the page using https://search.google.com/test/rich-results and all seemed fine from a front-end POV.

Sorry to have bothered in this case, but I will reply in here once I have heard back from Shopify support/managed to resync the data to confirm it's not an issue with the theme.

Thanks again @ludoboludo!

Jack

ludoboludo commented 1 year ago

Sounds good. Thanks for the context @jackkemmish 👍 Keep us posted once you hear back/get the app to work as expected again.

ilanadavis commented 1 year ago

Hey @jackkemmish, if I may jump in here, and sorry if I'm overstepping.

This has been a known limitation. A few years ago, we added the functionality to my app (JSON-LD for SEO) to override the product availability in the structured data.

This article covers it, but essentially with the app installed, you'd set a metafield and the value would be InStock (instead of the example in the article which is for Preorder). https://www.ilanadavis.com/blogs/articles/customizing-the-schema-org-product-availability-in-shopify-for-json-ld-for-seo

It would be great if Shopify allowed us to use other availability options, but that's not possible natively at this point.