---
title: "Free Product Schema Grader | GigaCommerce"
url: https://gigacommerce.co/tools/product-schema-grader
description: "Reads up to 10 product pages as a crawler sees them and scores schema AI shopping agents use: price, GTIN, brand, shipping, returns. Free. Fix gaps, then rerun."
lang: en
---

Black Friday is Nov 27. Shoppers will ask AI what to buy — is your catalog readable? Check yours free (https://gigacommerce.co/tools/agentic-readiness-score)

Free · Any platform · Score without an email

# Can AI shopping agents read your products?

Agents don't browse your product pages the way shoppers do — they read the structured data behind them. Paste your store and we'll read up to ten product pages the way a crawler receives them, then score the fields an agent needs to list, compare and recommend what you sell.

## What we check, and what each field is worth

Fourteen schema.org properties, 100 points. The same table drives the score, so any grade can be checked by hand. New to the vocabulary? Start with the glossary (https://gigacommerce.co/glossary).

### Listable: Can an agent show and sell it?

| Field | Properties | Points |
| --- | --- | --- |
| Product name Without a name in the data, an agent has to guess what the product is from page text. | name | 8 |
| Image Agents that show products visually skip items they have no image URL for. | image | 8 |
| Price An agent can't quote, filter by budget or buy what it can't price. | offers.price / priceSpecification.price / lowPrice | 12 |
| Currency A price without a currency is ambiguous the moment a shopper isn't in your home market. | offers.priceCurrency | 8 |
| Availability Agents avoid recommending products they can't confirm are in stock. | offers.availability | 10 |

### Comparable: Can an agent compare and trust it?

| Field | Properties | Points |
| --- | --- | --- |
| GTIN or MPN Identifiers are how an agent matches your listing to the same item in reviews and at other retailers. | gtin / gtin8 / gtin12 / gtin13 / gtin14 / isbn, or brand + mpn | 12 |
| Brand Shoppers ask for brands by name; without a brand in the data, an agent can't answer "is this the Acme one?" | brand | 8 |
| Description The description is what an agent reads to decide whether a product fits the question it was asked. | description (50+ characters) | 6 |
| Shipping details "Arrives by Friday?" is a question agents answer from data, not from your FAQ page. | offers.shippingDetails / hasShippingService | 8 |
| Return policy Return terms are part of trust; an agent can't state yours if they only exist as prose. | hasMerchantReturnPolicy / MerchantReturnPolicy | 8 |

### Standout: Does it give an agent a reason to pick it?

| Field | Properties | Points |
| --- | --- | --- |
| Ratings Ratings are a tiebreaker when an agent is choosing between otherwise similar products. | aggregateRating (with a count) / review | 4 |
| SKU A stable SKU lets an agent — and your own feeds — refer to the exact variant. | sku | 3 |
| Condition New, used and refurbished are different answers to the same shopping question. | offers.itemCondition | 2 |
| Attributes Attributes are what agents filter on when a shopper asks for "a waterproof one in navy". | color / size / material / pattern / audience / additionalProperty | 3 |

FAQ

## How the grader works

### What does the Product Schema Grader check?

It finds up to ten product pages on your store — from Shopify's product list, your sitemap, or the page you paste — and reads the Product structured data (JSON-LD) in each one. It checks fourteen fields in three tiers: whether an agent can list the product at all (name, image, price, currency, availability), whether it can compare and trust it (GTIN or MPN, brand, description, shipping, return policy), and whether it has a reason to pick it (ratings, SKU, condition, attributes). Values have to be usable, not just present: a price with a currency symbol in it, a GTIN that fails the barcode check digit, or availability written as free text counts as invalid.

### Why read the page without running JavaScript?

Because not every crawler runs JavaScript. If your structured data only appears after a script runs — a reviews widget injecting ratings, say — anything that reads raw HTML never sees it. Grading the HTML as delivered shows you the floor: what any agent can read with no rendering at all. If your score is low but you know the data is there, that gap is the finding.

### How is the score calculated?

Each field is worth a fixed number of points, listed in the table on this page; they add up to 100. A page scores the points for every field it passes, and your score is the average across the pages we could read. 90 and above is an A, 75 a B, 60 a C, 40 a D, and anything lower an F. The weights are our judgement — price and identifiers count most because an agent can't quote or match a product without them — and they're published so you can reproduce any score by hand.

### Does a perfect score mean AI assistants will recommend my products?

No, and nobody can promise that. Structured data makes a product legible to an agent; it doesn't make the agent prefer it. What gets recommended also depends on reviews, what other sites say about you, and how well the product matches the question. Treat this grade as the baseline you can fix in an afternoon, and the AI Shelf Check as the measure of whether it's working.

### Why only ten pages, and how are they picked?

Ten pages is enough to see a pattern — theme-level gaps show up on every product — without hammering your store. On Shopify we take them from the public product list; elsewhere from the product section of your sitemap, spread across the list so it isn't just your newest items. Paste a specific product URL and that page is always included.

### What do you store?

The URL you graded, the results, and your IP address for rate limiting — ten grades a day per network. A grade is cached for 24 hours, so re-running the same URL shows the same result unless you choose Re-grade now. We only store your email if you ask for the fix list, and we only add you to the newsletter if you tick that box and confirm.

## The fields are the easy part. The data behind them isn't.

A theme fix adds the properties. Filling GTINs, attributes and policies across every SKU is catalog work — the kind we do at scale.

See Catalog Enrichment: https://gigacommerce.co/catalog-enrichment
Run the catalog-debt numbers: https://gigacommerce.co/tools/catalog-debt-calculator

## Structured data

```json
[
  [
    {
      "@context": "https://schema.org",
      "@type": "WebApplication",
      "name": "Product Schema Grader",
      "description": "Reads up to 10 product pages as a crawler sees them and scores schema AI shopping agents use: price, GTIN, brand, shipping, returns. Free. Fix gaps, then rerun.",
      "url": "https://gigacommerce.co/tools/product-schema-grader",
      "applicationCategory": "BusinessApplication",
      "operatingSystem": "Web",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "USD"
      },
      "provider": {
        "@id": "https://gigacommerce.co/#organization"
      }
    },
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What does the Product Schema Grader check?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "It finds up to ten product pages on your store — from Shopify's product list, your sitemap, or the page you paste — and reads the Product structured data (JSON-LD) in each one. It checks fourteen fields in three tiers: whether an agent can list the product at all (name, image, price, currency, availability), whether it can compare and trust it (GTIN or MPN, brand, description, shipping, return policy), and whether it has a reason to pick it (ratings, SKU, condition, attributes). Values have to be usable, not just present: a price with a currency symbol in it, a GTIN that fails the barcode check digit, or availability written as free text counts as invalid."
          }
        },
        {
          "@type": "Question",
          "name": "Why read the page without running JavaScript?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Because not every crawler runs JavaScript. If your structured data only appears after a script runs — a reviews widget injecting ratings, say — anything that reads raw HTML never sees it. Grading the HTML as delivered shows you the floor: what any agent can read with no rendering at all. If your score is low but you know the data is there, that gap is the finding."
          }
        },
        {
          "@type": "Question",
          "name": "How is the score calculated?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Each field is worth a fixed number of points, listed in the table on this page; they add up to 100. A page scores the points for every field it passes, and your score is the average across the pages we could read. 90 and above is an A, 75 a B, 60 a C, 40 a D, and anything lower an F. The weights are our judgement — price and identifiers count most because an agent can't quote or match a product without them — and they're published so you can reproduce any score by hand."
          }
        },
        {
          "@type": "Question",
          "name": "Does a perfect score mean AI assistants will recommend my products?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "No, and nobody can promise that. Structured data makes a product legible to an agent; it doesn't make the agent prefer it. What gets recommended also depends on reviews, what other sites say about you, and how well the product matches the question. Treat this grade as the baseline you can fix in an afternoon, and the AI Shelf Check as the measure of whether it's working."
          }
        },
        {
          "@type": "Question",
          "name": "Why only ten pages, and how are they picked?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Ten pages is enough to see a pattern — theme-level gaps show up on every product — without hammering your store. On Shopify we take them from the public product list; elsewhere from the product section of your sitemap, spread across the list so it isn't just your newest items. Paste a specific product URL and that page is always included."
          }
        },
        {
          "@type": "Question",
          "name": "What do you store?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "The URL you graded, the results, and your IP address for rate limiting — ten grades a day per network. A grade is cached for 24 hours, so re-running the same URL shows the same result unless you choose Re-grade now. We only store your email if you ask for the fix list, and we only add you to the newsletter if you tick that box and confirm."
          }
        }
      ]
    },
    {
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://gigacommerce.co"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Tools",
          "item": "https://gigacommerce.co/tools"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Product Schema Grader",
          "item": "https://gigacommerce.co/tools/product-schema-grader"
        }
      ]
    }
  ],
  [
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "@id": "https://gigacommerce.co/#organization",
      "name": "GigaCommerce",
      "legalName": "Gigaverse Global LLC",
      "url": "https://gigacommerce.co",
      "logo": {
        "@type": "ImageObject",
        "url": "https://gigacommerce.co/brand/gigacommerce-dark-logo-mark.svg"
      },
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Sheridan",
        "addressRegion": "WY",
        "addressCountry": "US"
      },
      "description": "We set up agentic storefronts, Microsoft Brand Agents, Copilot Checkout and AI-ready catalogs for mid-market merchants. Fixed scope, live in two weeks. Free Agentic Commerce Readiness Score.",
      "email": "hello@gigacommerce.co",
      "foundingDate": "2024",
      "founder": {
        "@type": "Person",
        "@id": "https://gigacommerce.co/about#sujan-bhuiyan",
        "name": "Sujan Bhuiyan",
        "jobTitle": "Founder, GigaCommerce",
        "url": "https://gigacommerce.co/about",
        "sameAs": [
          "https://www.linkedin.com/in/sujanbhuiyan"
        ],
        "worksFor": {
          "@id": "https://gigacommerce.co/#organization"
        }
      },
      "areaServed": [
        "US",
        "GB",
        "CA",
        "AU",
        "EU"
      ],
      "parentOrganization": {
        "@type": "Organization",
        "name": "Gigaverse"
      },
      "sameAs": [
        "https://www.linkedin.com/company/gigacommerce"
      ]
    },
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "@id": "https://gigacommerce.co/#website",
      "name": "GigaCommerce",
      "url": "https://gigacommerce.co",
      "publisher": {
        "@id": "https://gigacommerce.co/#organization"
      }
    }
  ]
]
```