What Product / certification schema do eco brands need so ChatGPT and Perplexity can recommend us?

Quick answer

Ship JSON-LD Product on every buyable PDP with name, brand object, image, description, sku/gtin, and a complete Offer (price, currency, availability, return policy, shipping where you sell). Add eco proof as machine-readable facts: hasCertification for named certs (GOTS, Fair Trade, B Corp when company-scoped) and additionalProperty for % recycled, fiber blend, and material facts. Keep schema identical to visible PDP and Merchant Center feed copy. Pair with AEO vs SEO, FAQ for AI citations, and Google Shopping.

Why Product schema matters for AI recommendations

ChatGPT, Perplexity, and Google AI Overviews pull product facts from crawlable pages. Prose helps humans; JSON-LD Product gives models stable fields for price, identity, and proof. Eco brands lose category prompts like "best GOTS organic sheet set" when the cert lives only in a badge image or a buried paragraph.

This guide is the structured-data layer for shopping answers. For question-led content and FAQPage, use FAQ for AI citations and the AI search visibility audit.

Core Product + Offer fields (non-negotiable)

FieldWhy AI / Shopping needs itEco DTC note
name, description, imageEntity identity and multimodal matchLead name with category + proof, not "eco" alone
brand as Brand objectLinks your entity across answersSame brand string as About and Merchant Center
sku + gtin / mpnCross-catalog matchingOne GTIN per sellable variant when you have them
offers (price, currency, availability)Buyability signalMatch live price; no member-only phantom offers
Return + shipping on OfferTrust / rich-result readinessAlign with returns policy copy
aggregateRating / reviewRecommendation confidenceFirst-party reviews only; see reviews guide

Prefer server-rendered or liquid-injected JSON-LD in the initial HTML. Schema injected only after a client fetch is easy for humans to miss in audits and harder for crawlers to trust.

Certification and materials: hasCertification vs additionalProperty

Proof typePreferred schemaExample value
Named third-party cert (SKU or facility scoped)hasCertification → CertificationGOTS organic cotton, license ID in certificationIdentification when you have it
Company-level B CorpOrganization hasCertification on About, not every SKU"Certified B Corporation since [year]" per cert marketing
% recycled / fiber blend / plastic-free scopeadditionalProperty PropertyValuename: "Post-consumer recycled content", value: "70%"
Vague "eco-friendly" / "planet positive"Do not put in schemaFails EmpCo-era claim hygiene; remove

Rule: if you cannot show the same fact in visible PDP HTML, do not put it in JSON-LD. Mismatches hurt rich results and teach models not to trust your domain.

Shopify implementation checklist

  1. Audit default theme schema: view source on a hero PDP; list missing Offer, return, shipping, and proof fields.
  2. Map metafields: e.g. custom.gots_license, custom.recycled_pct, custom.cert_names → JSON-LD properties.
  3. Variant truth: emit schema for the selected variant (price, GTIN, availability), not a random default.
  4. Sync Merchant Center: titles, cert attributes, and GTINs must match schema and on-page copy (Shopping guide).
  5. Apps: review schema apps for duplicate Product blocks; one clean graph beats three conflicting ones.
  6. EU Markets: market-specific price and shipping in schema when currency and rates differ.

If you are preparing Digital Product Passport carriers, keep DPP payload IDs linked from the PDP, but do not replace Product shopping schema with a QR alone. See DPP Shopify guide.

Minimal eco PDP pattern (illustrative)

Use this as a field checklist, not a copy-paste for production without your real IDs:

  • @type: Product with name, brand, sku, gtin, image, description
  • offers with price, priceCurrency, availability, url, return and shipping details
  • hasCertification for each SKU-scoped cert with name + issuing organization
  • additionalProperty for recycled %, material, and packaging facts that match the PDP proof row
  • Optional FAQPage on the same URL only when FAQ HTML is visible (see FAQ guide)

Validation and citation QA

  1. Rich Results / schema validator on 5 hero SKUs after every theme deploy
  2. Side-by-side sheet: schema field vs visible PDP line vs Merchant Center attribute
  3. AI prompt set: "best [category] with [cert]", "[brand] vs [competitor] materials", "is [SKU] GOTS certified"
  4. Log citations monthly in ChatGPT, Perplexity, and AI Overviews per the visibility audit
  5. Kill vague strings in description and PropertyValue names that counsel would reject under EU claim rules

Metrics that prove the work

  1. % of revenue SKUs with valid Product + Offer + at least one proof property
  2. Schema / feed / PDP mismatch count (target: zero on hero 20)
  3. Citation rate on certification and comparison prompts
  4. Shopping impression share on proof-led queries after feed sync

Schema is a claim surface

Putting "eco-friendly" in JSON-LD does not help AI recommend you. It creates a structured green claim you may have to defend. Encode only facts you already show and can prove.

Frequently asked questions

What Product schema do eco brands need for AI recommendations?

Complete Product and Offer JSON-LD plus machine-readable certs and material facts via hasCertification and additionalProperty. Keep every field identical to visible PDP and Merchant Center data.

Should B Corp go on every product schema?

No. Put company-level B Corp on Organization markup for the brand or About page. Use SKU-level hasCertification only for product or facility certs that apply to that item.

Is Shopify's default Product schema enough?

Usually not for AI shopping answers. Defaults often miss certification entities, recycled-content properties, and full return or shipping Offer details. Extend with metafields.

Do we still need FAQPage if we have Product schema?

Yes for research questions. Product schema helps shopping and attribute answers; FAQPage helps "how" and "is it actually" questions. Use both where the HTML supports them.

Can we put carbon neutral in additionalProperty?

Only with scoped, verifiable methodology that matches on-page proof. Prefer named program, year, and boundary over a bare "carbon neutral" PropertyValue.