No product data
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
25 product pages read, 16 with Product data, stating 6.8 of the 12 fields a cart reads on average. Read October 24, 2026.
Each field the store's products leave out, the most products first. One change to the store's product template fixes every product at once.
Some product pages send no Product data before any script runs, so a shopping agent has nothing to read. Write it into the product template.
Give each product its barcode (GTIN), or at least its SKU, from the product itself.
State what delivery costs, where it goes and how long it takes, once for the store or on each offer.
State the return policy: the window, the countries and who pays, once for the store.
State stock as a schema.org value, such as https://schema.org/InStock, for each variant.
Say each product is new, or how it is used or refurbished.
State the price as a number, such as 68.00, never text with a symbol in it.
Give each product an offer: without one there is no price, currency or stock for a cart to read.
State the currency as a three-letter code, such as USD.
The fewest fields first. The price and stock on each listing are what its data states, not what the page shows.
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
Nothing a cart can read
The page sends no Product data before any script runs, so a shopping agent has nothing to buy from.
No price in the dataStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Missing |
| Price | Missing |
| Currency | Missing |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
No price in the dataStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Wrong |
| Price | Missing |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
2,000 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
1,000 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
400 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
400 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
400 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
400 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
15,000 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
1,000 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
10,000 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
15,000 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
$9.99 USDStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
400 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
15,000 EURStock not stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Stated |
| Currency | Stated |
| In stock or not | Missing |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Missing |
| Shipping | Missing |
| Returns | Missing |
No price in the dataStock stated
See the product page| Name | Stated |
|---|---|
| Image | Stated |
| An offer | Stated |
| Price | Missing |
| Currency | Stated |
| In stock or not | Stated |
| Brand | Stated |
| Product identifier | Missing |
| Description | Stated |
| Condition | Stated |
| Shipping | Missing |
| Returns | Missing |
A count of fields says what a page's data states, read before any script runs. It does not decide eligibility: Merchant Center and Google's own review decide whether a product shows in merchant listings, Universal Cart or any other Google feature.
Every page of betconstruct.com against mttr's rulebook: 100 pages read.
The Shop Ready skill works in your store's own theme with Claude Code, Codex or Cursor, writes every field from the product's own data, and checks the live pages with mttr after. On Shopify, mttr can do it from the admin: that is in beta.