Product identity (GTIN/MPN, brand, SKU)
Why it matters Agents match the same product across marketplaces and stores by barcode; a product without identity drops out of comparisons or loses to a marketplace listing.
- Category
- Product data
- Weight
- 5 of 100 points
- Critical blocker
- No. If it fails, it only costs its own weight.
- Applies to
- Online stores
- Effort
- 1 day · catalog team (barcodes) + developer
- Score model
- v2.4
How we measure it
We read product identity from structured data: a valid GTIN (correct check digit) or an MPN, the brand and the SKU. An identifier plus the brand passes; none fails; partial credit weighs the identifier 50%, the brand 35% and the SKU 15%. The result also states identity confidence (no effect on score): a valid GTIN is “strong”, an MPN with the brand and no GTIN is “medium”, the product name alone is “weak”.
What the result page says
These are the sentences in the test result; “…” is replaced by what we found on your site.
- PassedA valid GTIN or MPN and the brand are defined, so agents can match the product across channels.…
- PartialProduct identity is incomplete: ….…
- FailedNo GTIN, MPN, brand or SKU, so agents can’t match the product with listings on other channels.…
How to fix it
Target: Brand and a valid GTIN (barcode) or MPN are defined; the SKU is there too.
Example code
"brand": { "@type": "Brand", "name": "Brand Name" },
"gtin13": "0000000000000",
"mpn": "MPN-001",
"sku": "SKU-001"
Example values (example.com, product name, price) are placeholders; replace them with your own.
How to verify it yourself
Check the GTIN check digit with the GS1 validator and run the test again.
Fix it with an AI coding agent
Paste this into Claude Code, Cursor or another coding agent working on your store’s code. Review the change before you deploy it.
You are working on my online store. Specoria’s agent readiness test checks the item below. Fix it so AI shopping agents can read the store and act on it.
## 1. Product identity (GTIN/MPN, brand, SKU) (product_identity)
Target: Brand and a valid GTIN (barcode) or MPN are defined; the SKU is there too.
Example fix (adapt it to this codebase and platform; example values are placeholders):
```
"brand": { "@type": "Brand", "name": "Brand Name" },
"gtin13": "0000000000000",
"mpn": "MPN-001",
"sku": "SKU-001"
```
Reference: https://specoria.com/method/checks/product-identity/
## Rules
- First look through the codebase and tell me which files or templates you will change, before editing anything.
- Change only what these checks need, and keep the visible page and the structured data saying the same thing.
- Never invent prices, stock, shipping or return terms, reviews or product identifiers (GTIN): take them from the store’s real data or ask me.
- Don’t block or slow down real visitors and don’t add tracking.
- After deploying, run the free test again at https://specoria.com/ to verify the fix.
Specifications and guidance
The check is based on these open sources; links go to the publisher’s own pages.
Where it sits in the 196-criteria framework
The result of this check counts as evidence for these items of the readiness framework:
3.3GTIN coverage is at or above 90%