HomeBlog › Jewelry gemstone schema

Shopify jewelry schema for AI shopping agents: GIA certificate data, 4Cs additionalProperty, and lab-grown disambiguation

June 13, 2026  ·  CatalogScan  ·  hasCertification additionalProperty GIA schema lab-grown diamonds Shopify Liquid

91% of Shopify jewelry stores have no gemstone quality data in their product structured data. AI shopping agents filter diamonds by cut grade, carat, and GIA certificate number from JSON-LD — not from your beautifully written product descriptions. Without additionalProperty for the 4Cs, your entire diamond collection is invisible to every quality-filtered query.

91%
of Shopify jewelry stores have no 4Cs additionalProperty in product JSON-LD
#1
category by consideration time — jewelry buyers research longer than any other ecommerce category
0
default Shopify themes output hasCertification for GIA grading reports

How AI agents filter jewelry: quality parameters, not descriptions

When a shopper asks ChatGPT Shopping "find me a round diamond engagement ring, 1 carat, VVS1 clarity, Excellent cut, under $9,000" the AI agent is not reading your product description. It is parsing structured data for matching additionalProperty values against those four parameters simultaneously. Jewelry is the highest-consideration purchase category in ecommerce — buyers research for weeks and use highly specific quality vocabulary. AI agents translate that vocabulary directly into structured data filter queries.

Jewelry is unique in three ways that make structured data more critical here than in almost any other product category:

  1. Quality vocabulary is standardized. The 4Cs (cut, color, clarity, carat) and GIA grading terms (Excellent, Very Good, D-Z color scale, FL-SI2 clarity) are industry-wide controlled vocabularies. An AI agent can match "VVS1" to a structured data value with zero ambiguity — but only if that value is in a machine-readable additionalProperty, not embedded in prose.
  2. Certificates are identifiers. GIA grading report numbers are unique product identifiers — more specific than GTIN for diamonds. An agent handling "find a diamond with GIA report 2141438153" performs an exact certificationIdentification lookup. Without hasCertification in your JSON-LD, that query returns zero matches on your store.
  3. Origin now drives purchase decisions. The lab-grown diamond market has grown from under 2% to over 20% of diamond sales in five years. Buyers filter explicitly for "lab-grown CVD" or "natural mined conflict-free" — AI agents need structured disambiguation between origin types, growth methods, and certification labs to serve those queries correctly.

The complete technical reference for jewelry structured data is in the Shopify jewelry and gemstone schema guide, which covers all properties with exact GIA vocabulary tables. This post explains the strategic rationale behind each element and provides a ready-to-deploy Dawn Liquid snippet.

The opportunity is enormous. Jewelry is a top-5 Shopify vertical by GMV, but structured data adoption is the lowest of any major category. The 9% of jewelry stores that implement 4Cs additionalProperty and GIA hasCertification today are capturing a disproportionate share of AI-referred high-intent jewelry traffic.

The 4Cs as additionalProperty: GIA vocabulary and exact values

The 4Cs — cut, color, clarity, and carat weight — are the four properties GIA established in 1953 as the universal language for describing diamond quality. Every other major grading laboratory (IGI, AGS, HRD) uses the same framework. For AI shopping agents, these are the primary filter dimensions for diamond and gemstone queries.

Each of the 4Cs is implemented as a separate additionalProperty on the Product object with a PropertyValue type. The property names and value vocabularies must match GIA's published terminology exactly — AI agents trained on jewelry data expect these specific strings.

4C propertyID / name GIA valid values (most common) Notes
Cut Cut Grade Excellent · Very Good · Good · Fair · Poor Only applies to round brilliant cut diamonds. Fancy shapes (oval, pear, cushion) have no GIA cut grade — omit the property for fancy shapes to avoid misleading agents.
Color Diamond Color D · E · F · G · H · I · J · K · L · M (colorless → near colorless → faint) Use the single letter only — not "D (Colorless)" or "D-F". GIA's scale runs D through Z; below M is increasingly detectable yellow tint. Fancy colored diamonds use a separate vocabulary ("Fancy Vivid Yellow", "Fancy Intense Blue") — do not use D-Z for fancy colors.
Clarity Diamond Clarity FL · IF · VVS1 · VVS2 · VS1 · VS2 · SI1 · SI2 · I1 · I2 · I3 Use the GIA abbreviation exactly. "Flawless" instead of "FL" will not match agent filters. For non-diamond gemstones, clarity is typically described as "Eye Clean", "Slightly Included", or "Heavily Included" — these are not standardized, but far better than omitting the property.
Carat Weight Carat Weight Decimal number: 1.0, 1.51, 0.75 Value must be a plain decimal number (not a string like "1.5ct" or "1.5 carats"). Use unitCode: "OZT" (troy ounce) — but in practice, most agents parse the numeric value directly. Two decimal places of precision is standard.

A complete 4Cs block for a 1.02ct round brilliant diamond looks like this:

{
  "@type": "Product",
  "name": "Round Brilliant Diamond 1.02ct G VS1 Excellent Cut",
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Cut Grade",
      "value": "Excellent"
    },
    {
      "@type": "PropertyValue",
      "name": "Diamond Color",
      "value": "G"
    },
    {
      "@type": "PropertyValue",
      "name": "Diamond Clarity",
      "value": "VS1"
    },
    {
      "@type": "PropertyValue",
      "name": "Carat Weight",
      "value": 1.02,
      "unitCode": "OZT"
    },
    {
      "@type": "PropertyValue",
      "name": "Shape",
      "value": "Round Brilliant"
    }
  ]
}
Shape is not one of the 4Cs — but it is the most important additional property for filter matching. "Oval solitaire engagement ring" queries from AI agents look for additionalProperty name="Shape" value="Oval". Include Shape as a fifth additionalProperty for every diamond and gemstone product. Standard GIA shape vocabulary: Round Brilliant, Princess, Cushion, Oval, Pear, Marquise, Emerald, Asscher, Radiant, Heart.

GIA and IGI certificate structured data: hasCertification anatomy

A GIA grading report is the most authoritative quality document in the diamond industry — and its report number is a unique product identifier more precise than any GTIN. AI shopping agents handling queries like "GIA certified diamond VS1 1 carat" or "show me diamonds with GIA certificates" need hasCertification structured data to match those queries to your inventory.

The hasCertification property on Product accepts a Certification type with the following key properties. See also: product safety and quality certifications schema reference for the full Certification type anatomy.

hasCertification properties for GIA grading reports
certificationBody
Required
The laboratory that issued the grading report. Use an Organization type with name and url. For GIA: {"@type": "Organization", "name": "GIA", "url": "https://www.gia.edu"}. For IGI: {"@type": "Organization", "name": "IGI", "url": "https://www.igi.org"}. For AGS (American Gem Society): {"@type": "Organization", "name": "AGS", "url": "https://www.americangemsociety.org"}.
certificationIdentification
Required
The grading report number. GIA report numbers are 10-digit numeric strings (e.g., "2141438153"). Store the numeric string exactly — no spaces, no dashes, no "GIA" prefix. This value is what AI agents match against explicit certificate queries. It is also used to construct the public verification URL.
url
Recommended
Public verification URL for this specific report. For GIA: "https://www.gia.edu/report-check?reportno=2141438153". For IGI: "https://www.igi.org/verify-your-report/?r=104052897". AI agents surface this URL when a buyer wants to verify the certificate independently — a significant trust signal for high-value purchases.
name
Recommended
Human-readable document name. Examples: "GIA Diamond Grading Report", "IGI Lab Grown Diamond Report", "AGS Diamond Quality Document". Helps agents describe the certification type in natural language to the buyer.

A complete hasCertification block for a GIA-certified diamond:

{
  "@type": "Product",
  "name": "Round Brilliant Diamond 1.02ct G VS1",
  "hasCertification": {
    "@type": "Certification",
    "name": "GIA Diamond Grading Report",
    "certificationBody": {
      "@type": "Organization",
      "name": "GIA",
      "url": "https://www.gia.edu"
    },
    "certificationIdentification": "2141438153",
    "url": "https://www.gia.edu/report-check?reportno=2141438153"
  }
}

Lab-grown disambiguation: CVD vs HPHT, IGI vs GIA, origin additionalProperty

Lab-grown diamonds are chemically and physically identical to mined diamonds — AI agents can only distinguish them through structured data. This distinction is commercially critical: buyers searching for "lab-grown CVD diamond" must not be shown natural mined diamonds, and vice versa. Without origin disambiguation in your JSON-LD, AI agents either conflate lab-grown and natural inventory or exclude your products from origin-filtered queries entirely.

Two additionalProperty values handle lab-grown disambiguation:

Lab-grown disambiguation additionalProperty
Origin
The source of the gemstone. Two values: "Natural" for mined stones, "Lab-Grown" for synthesized stones. This is the primary filter dimension — use it consistently across all products so AI agents can reliably separate the two categories in your catalog. Natural: mined from earth. Lab-Grown: grown in a laboratory under controlled conditions.
Growth Method
The synthesis process used for lab-grown diamonds. Two main values: "CVD" (Chemical Vapor Deposition — carbon-rich gas deposited layer by layer at low pressure) and "HPHT" (High Pressure High Temperature — mimics natural diamond formation at extreme pressure and heat). Only output this property for lab-grown stones — omit it entirely for natural diamonds. Buyers who care about growth method are very specific: "CVD lab diamond" and "HPHT lab diamond" are distinct search intents.

For certification, IGI is the predominant grading lab for lab-grown diamonds, while GIA historically focused on natural stones (though GIA now grades lab-grown as well). Signal the correct lab in your hasCertification:

/* Lab-grown CVD diamond — full example */
{
  "@type": "Product",
  "name": "Lab-Grown Round Brilliant Diamond 1.01ct E VS2 CVD",
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "Origin", "value": "Lab-Grown" },
    { "@type": "PropertyValue", "name": "Growth Method", "value": "CVD" },
    { "@type": "PropertyValue", "name": "Cut Grade", "value": "Excellent" },
    { "@type": "PropertyValue", "name": "Diamond Color", "value": "E" },
    { "@type": "PropertyValue", "name": "Diamond Clarity", "value": "VS2" },
    { "@type": "PropertyValue", "name": "Carat Weight", "value": 1.01, "unitCode": "OZT" },
    { "@type": "PropertyValue", "name": "Shape", "value": "Round Brilliant" }
  ],
  "hasCertification": {
    "@type": "Certification",
    "name": "IGI Lab Grown Diamond Report",
    "certificationBody": {
      "@type": "Organization",
      "name": "IGI",
      "url": "https://www.igi.org"
    },
    "certificationIdentification": "104052897",
    "url": "https://www.igi.org/verify-your-report/?r=104052897"
  }
}

Metal purity and hallmark markup: fineness values and stamp strings

For jewelry with precious metals — gold, silver, platinum, palladium — metal purity is a primary filter criterion. "14k gold engagement ring" and "sterling silver chain" are queries AI agents match against structured metal composition data, not title keywords.

Metal purity is expressed through two complementary additionalProperty values. See also the product material composition schema guide for the broader material markup pattern.

Metal Common purity Metal Purity (string) Metal Fineness (decimal) Hallmark stamp
Gold 10k 10K Gold 0.417 417
Gold 14k 14K Gold 0.585 585
Gold 18k 18K Gold 0.750 750
Gold 22k 22K Gold 0.916 916
Gold 24k 24K Gold (Pure) 0.999 999
Silver Sterling Sterling Silver 0.925 925
Silver Fine Fine Silver 0.999 999
Platinum 950 Platinum 950 0.950 Pt950
Platinum 900 Platinum 900 0.900 Pt900

Implement both Metal Purity and Metal Fineness as additionalProperty values — the string form serves natural language queries ("14k gold ring"), while the numeric fineness value enables precise filter matching:

{
  "@type": "PropertyValue",
  "name": "Metal Purity",
  "value": "14K Gold"
},
{
  "@type": "PropertyValue",
  "name": "Metal Fineness",
  "value": 0.585,
  "propertyID": "https://schema.org/value"
},
{
  "@type": "PropertyValue",
  "name": "Metal Hallmark Stamp",
  "value": "585"
}

Ring size: ProductGroup variesBy SizeSpecification

Ring size variants are a common implementation mistake on Shopify jewelry stores. The default Dawn theme outputs each ring size as a separate Offer with no size schema — AI agents cannot determine that the $1,200 price applies to all sizes, or that a size-6 variant is available when the shopper asks "round diamond ring available in size 6 under $1,500."

The correct architecture uses ProductGroup with variesBy: SizeSpecification:

{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "name": "Solitaire Diamond Engagement Ring",
  "variesBy": "https://schema.org/size",
  "hasVariant": [
    {
      "@type": "Product",
      "name": "Solitaire Diamond Engagement Ring — Size 5",
      "size": {
        "@type": "SizeSpecification",
        "name": "5",
        "sizeSystem": "https://schema.org/WearableSizeSystemUS",
        "sizeGroup": "https://schema.org/WearableSizeGroupMisses"
      },
      "offers": {
        "@type": "Offer",
        "price": "1299.00",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      }
    },
    {
      "@type": "Product",
      "name": "Solitaire Diamond Engagement Ring — Size 6",
      "size": {
        "@type": "SizeSpecification",
        "name": "6",
        "sizeSystem": "https://schema.org/WearableSizeSystemUS",
        "sizeGroup": "https://schema.org/WearableSizeGroupMisses"
      },
      "offers": {
        "@type": "Offer",
        "price": "1299.00",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      }
    }
  ]
}

For half-sizes, use the decimal string format: "name": "6.5". US ring sizes run from 3 to 13 in whole and half increments for most styles. The sizeGroup: WearableSizeGroupMisses is a useful default for women's rings; use WearableSizeGroupMens for men's bands if sized accordingly.

Ethical sourcing certifications: Kimberley Process and RJC

Ethical sourcing is a growing purchase criterion — buyers increasingly filter for conflict-free and responsibly sourced jewelry. AI agents answer "certified conflict-free diamond" and "RJC certified jeweler" queries from hasCertification data, not marketing copy.

Two certifications cover the main ethical sourcing signals:

Ethical sourcing certifications
Kimberley Process
Conflict-free certification for rough diamonds. The Kimberley Process Certification Scheme (KPCS) is the UN-backed certification that prevents conflict diamonds from entering the supply chain. Set certificationBody.name to "Kimberley Process Certification Scheme" and certificationBody.url to "https://www.kimberleyprocess.com". The name on the Certification should be "Conflict-Free Diamond Certification". For individual stones, this is inherited from the supplier; express it as a property-level certification, not a product-level identifier.
RJC
Responsible Jewellery Council certification for the full supply chain. RJC certification covers the store or business (not individual products), so it belongs on the Organization entity in theme.liquid, not on the product-level Product type. Set certificationBody.name to "Responsible Jewellery Council" and url to "https://www.responsiblejewellery.com". AI agents querying "RJC certified jeweler" match this Organization-level certification, not product-level markup.

Product-level ethical sourcing can also be expressed through sustainabilityFeature on Product:

{
  "@type": "Product",
  "sustainabilityFeature": [
    {
      "@type": "DefinedTerm",
      "name": "Conflict-Free Diamond",
      "description": "Sourced through the Kimberley Process Certification Scheme, conflict-free guarantee from our supplier network"
    },
    {
      "@type": "DefinedTerm",
      "name": "Recycled Metal Setting",
      "description": "Ring setting fabricated from post-consumer recycled gold — verified by our refiner's chain of custody documentation"
    }
  ]
}

Dawn Liquid snippet: jewelry.* metafield namespace

The cleanest implementation architecture for Shopify jewelry stores stores gemstone quality attributes in a jewelry.* metafield namespace, then reads those values in a product JSON-LD snippet added to theme/snippets/product-jsonld.liquid.

Recommended metafield definitions (Settings → Custom data → Products):

Namespace.key Type Used for
jewelry.stone_typeSingle line text"Diamond", "Sapphire", "Emerald", "Ruby", etc.
jewelry.originSingle line text"Natural" or "Lab-Grown"
jewelry.growth_methodSingle line text"CVD" or "HPHT" (lab-grown only)
jewelry.cut_gradeSingle line text"Excellent", "Very Good", "Good", "Fair", "Poor"
jewelry.color_gradeSingle line text"D" through "Z", or fancy color name
jewelry.clarity_gradeSingle line text"FL", "IF", "VVS1", "VVS2", "VS1", "VS2", "SI1", "SI2", "I1", "I2", "I3"
jewelry.carat_weightNumber (decimal)1.02, 0.75, etc.
jewelry.shapeSingle line text"Round Brilliant", "Oval", "Cushion", etc.
jewelry.cert_labSingle line text"GIA", "IGI", "AGS"
jewelry.cert_numberSingle line textGrading report number
jewelry.metal_puritySingle line text"14K Gold", "Sterling Silver", "Platinum 950"
jewelry.metal_finenessNumber (decimal)0.585, 0.925, 0.950
jewelry.hallmark_stampSingle line text"585", "925", "Pt950"
jewelry.conflict_freeBooleanKimberley Process sourced
jewelry.recycled_metalBooleanPost-consumer recycled metal setting

Then in your product JSON-LD snippet:

{% comment %} product-jsonld.liquid — jewelry section {% endcomment %}
{% assign jw = product.metafields.jewelry %}

{% if jw.stone_type != blank %}
"additionalProperty": [
  {% if jw.stone_type != blank %}
  { "@type": "PropertyValue", "name": "Stone Type", "value": {{ jw.stone_type | json }} },
  {% endif %}
  {% if jw.origin != blank %}
  { "@type": "PropertyValue", "name": "Origin", "value": {{ jw.origin | json }} },
  {% endif %}
  {% if jw.growth_method != blank %}
  { "@type": "PropertyValue", "name": "Growth Method", "value": {{ jw.growth_method | json }} },
  {% endif %}
  {% if jw.cut_grade != blank %}
  { "@type": "PropertyValue", "name": "Cut Grade", "value": {{ jw.cut_grade | json }} },
  {% endif %}
  {% if jw.color_grade != blank %}
  { "@type": "PropertyValue", "name": "Diamond Color", "value": {{ jw.color_grade | json }} },
  {% endif %}
  {% if jw.clarity_grade != blank %}
  { "@type": "PropertyValue", "name": "Diamond Clarity", "value": {{ jw.clarity_grade | json }} },
  {% endif %}
  {% if jw.carat_weight != blank %}
  { "@type": "PropertyValue", "name": "Carat Weight", "value": {{ jw.carat_weight }}, "unitCode": "OZT" },
  {% endif %}
  {% if jw.shape != blank %}
  { "@type": "PropertyValue", "name": "Shape", "value": {{ jw.shape | json }} },
  {% endif %}
  {% if jw.metal_purity != blank %}
  { "@type": "PropertyValue", "name": "Metal Purity", "value": {{ jw.metal_purity | json }} },
  {% endif %}
  {% if jw.metal_fineness != blank %}
  { "@type": "PropertyValue", "name": "Metal Fineness", "value": {{ jw.metal_fineness }} },
  {% endif %}
  {% if jw.hallmark_stamp != blank %}
  { "@type": "PropertyValue", "name": "Metal Hallmark Stamp", "value": {{ jw.hallmark_stamp | json }} }
  {% endif %}
],
{% endif %}

{% if jw.cert_lab != blank and jw.cert_number != blank %}
{% assign cert_lab_lower = jw.cert_lab | downcase %}
{% if cert_lab_lower == "gia" %}
  {% assign cert_url = "https://www.gia.edu/report-check?reportno=" | append: jw.cert_number %}
{% elsif cert_lab_lower == "igi" %}
  {% assign cert_url = "https://www.igi.org/verify-your-report/?r=" | append: jw.cert_number %}
{% else %}
  {% assign cert_url = "" %}
{% endif %}
"hasCertification": {
  "@type": "Certification",
  "name": {{ jw.cert_lab | append: " Diamond Grading Report" | json }},
  "certificationIdentification": {{ jw.cert_number | json }},
  "url": {{ cert_url | json }},
  "certificationBody": {
    "@type": "Organization",
    "name": {{ jw.cert_lab | json }}
  }
}{% if jw.conflict_free %},
"sustainabilityFeature": {
  "@type": "DefinedTerm",
  "name": "Conflict-Free Diamond",
  "description": "Sourced through the Kimberley Process Certification Scheme"
}
{% endif %}
{% endif %}

Five common mistakes

Mistake #1
Embedding 4Cs in product description text instead of additionalProperty.

Writing "this G-color VS1 clarity Excellent cut 1.02ct round brilliant diamond" in your product description is useful for human readers but invisible to AI agent filter queries. Filters operate on structured additionalProperty values, not NLP extraction of unstructured text. The same description with zero additionalProperty blocks will not match "G color VS1 under $8,000" queries from any AI shopping agent.

Mistake #2
Using non-GIA terminology for quality grades.

Common substitutions that break filter matching: "Flawless" instead of "FL", "Very Very Slightly Included 1" instead of "VVS1", "Colorless" instead of "D", "Ideal" instead of "Excellent". AI agents trained on jewelry data expect the GIA abbreviation forms. If your POS or PIM system stores the full names, add a Liquid translation map to convert them to GIA abbreviations before outputting JSON-LD.

Mistake #3
Missing hasCertification certificationIdentification on certified diamonds.

Adding hasCertification with just certificationBody and no certificationIdentification (the report number) is significantly less valuable than the full form. AI agents cannot answer "find GIA certified diamonds" without the certificationBody, but they cannot answer "verify this specific diamond" without the certificationIdentification. Always include the report number — it is the most unique identifier your diamond has.

Mistake #4
Not distinguishing lab-grown from natural in structured data.

Stores that carry both natural and lab-grown diamonds but use identical JSON-LD for both create a filter crisis: AI agents cannot separate the inventory. Worse, a store carrying only lab-grown diamonds with no Origin: Lab-Grown additionalProperty will occasionally be served for "natural diamond" queries and excluded from "lab diamond" queries — the opposite of what the buyer wanted. Always set Origin on every gemstone product.

Mistake #5
Carat weight as a string instead of a numeric value.

Outputting "value": "1.02ct" or "value": "1.02 carats" instead of "value": 1.02 (a plain number) prevents numeric comparison operations. An AI agent filtering "diamonds between 1.0 and 1.5 carats" needs a numeric value to perform the range check. The unit is communicated separately via unitCode — the value itself must be a JSON number, not a string with a unit suffix.

FAQ

Does Shopify Dawn output gemstone quality data in its default product JSON-LD?
No. Shopify Dawn's default product JSON-LD block outputs price, availability, SKU, GTIN, and basic product type — but has no additionalProperty for gemstone quality attributes like cut, color, clarity, or carat weight. It also outputs no hasCertification for GIA grading reports. For a jewelry store, this means AI shopping agents filtering queries like "round diamond 1ct VVS1 Excellent cut under $8,000" find nothing to match against in your product structured data, regardless of how well your product descriptions are written.
What is the correct GIA certificate number format for certificationIdentification?
GIA grading report numbers are numeric strings of 10 to 12 digits (e.g., "2141438153"). Store the full numeric string as the certificationIdentification value — do not add spaces, dashes, or a "GIA" prefix. The certificationBody identifies which lab issued it; the certificationIdentification is the report number alone. For IGI reports, numbers follow a similar pattern but the verification URL base is different: https://www.igi.org/verify-your-report/?r= + the number.
How do I distinguish lab-grown from natural diamonds in Shopify structured data?
Use two additionalProperty values: first, set Origin to "Natural" or "Lab-Grown"; second, for lab-grown stones, set Growth Method to "CVD" or "HPHT". These properties allow AI agents to match origin-filtered queries correctly and disambiguate your lab-grown inventory from natural stones in comparison responses. Also use IGI as the certificationBody for lab-grown stones (IGI is the predominant grading lab for lab-grown diamonds) and GIA for natural stones.
Should I add ring size SizeSpecification on each variant or at the ProductGroup level?
Both. The ProductGroup entity carries variesBy: size to tell AI agents that size is a filterable dimension. Each individual Product variant carries its own size: SizeSpecification with the actual numeric size value ("name": "6", "name": "6.5", etc.) using sizeSystem: WearableSizeSystemUS. Do not embed ring size as a variant title string — title substring parsing is not how AI agents resolve size filter queries.
Does CatalogScan detect missing gemstone quality structured data?
Yes. CatalogScan scans jewelry product pages for additionalProperty coverage of the 4Cs, metal purity, and hasCertification for grading laboratory reports. Products missing these signals are flagged in the gemstone quality signal report with a per-property breakdown. CatalogScan also flags common mistakes including carat weight output as a string instead of a numeric value, missing certificationIdentification on hasCertification blocks, and identical JSON-LD for lab-grown and natural diamonds in mixed-inventory stores.

Is your jewelry catalog visible to AI shopping agents?

CatalogScan scans your Shopify store's JSON-LD and flags every missing 4C, GIA certificate gap, and metal purity hole — product by product.

Free scan — no signup More guides