Google does not learn about your products by looking at your pages the way a shopper does. It reads a block of data in each product page's code: name, price, stock, rating, product code. That block decides what your search listing shows and what AI shopping assistants say about you.
You can read exactly what Google gets. Three checks, about ten minutes, no tools to install.
Check 1: one product, in two minutes
Open Google's Rich Results Test, paste the address of one of your product pages, and run it. You want to see two items listed:Product snippets and Merchant listings.
- Green with no errors: Google can build a full listing for that product.
- Warnings about missing optional fields: normal. Read them anyway, because one of them is usually the rating.
- Errors, or neither item found: Google cannot use that page's product data at all.
Check 2: every product at once
One page tells you about one page. Search Console tells you about all of them, and almost nobody opens the report.
In Search Console, look under Shopping forProduct snippets and Merchant listings. Each shows how many of your products are valid, how many have problems, and which field is missing across the whole catalogue. If a template is broken, this is where you see it as a number in the thousands rather than a single page.
Check 3: read the block yourself
Open a product page, view the page source, and search forapplication/ld+json. The block that follows is what Google reads. You will see one of two shapes:
"@type": "Product"with the price and stock directly inside it. Simple products."@type": "ProductGroup". Products that come in sizes or colours. This is where people go wrong.
The misreading that catches almost everyone
When a product comes in sizes, the top of the block often carries no price at all. That looks like a fault. It is not. The price, stock status, product code and image sit on each size, inside a list calledhasVariant. That is the format Google recommends, because a small and a large can have different prices and one can be sold out.
We made this mistake ourselves. Our first reader only looked at the top level, and we told a few merchants their prices were not reaching Google. They were. We have fixed the reader, corrected the posts that repeated it, and we now look inside hasVariant before calling anything missing. So should you, and so should anyone who sends you an audit.
What is actually missing, most of the time
Once you read the variants properly, the picture is clear. We read the product data on 16 Shopify stores over the last month:
- Price: missing on 1 of 16. Almost everyone gets this right.
- Product code (SKU or barcode): missing on 2 of 16.
- Rating: missing on 11 of 16. Several of those show reviews on the page, right above the block that leaves them out.
The reason is boring. The theme writes the block. The reviews live in a reviews app. Nobody's job is to connect the two, so on most stores they never meet. Shoppers see the stars. Google does not, so your listing shows none.
What to do with what you find
- If the rating is missing and you collect product reviews, pass the rating and review count from the reviews app into the block. Most reviews apps document how. It is theme work, done once.
- If a product code is missing, add the SKU or barcode you already hold in Shopify.
- If Search Console shows errors across thousands of products, the fault is in the template, not the products. Fix it once.
- If everything is green, stop. Do not let anyone sell you work on a block that is already right.
If you would rather not read it yourself, send us your store address. We will read it and tell you what we find, including when the answer is that it is fine.