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)
| Field | Why AI / Shopping needs it | Eco DTC note |
|---|---|---|
name, description, image | Entity identity and multimodal match | Lead name with category + proof, not "eco" alone |
brand as Brand object | Links your entity across answers | Same brand string as About and Merchant Center |
sku + gtin / mpn | Cross-catalog matching | One GTIN per sellable variant when you have them |
offers (price, currency, availability) | Buyability signal | Match live price; no member-only phantom offers |
| Return + shipping on Offer | Trust / rich-result readiness | Align with returns policy copy |
aggregateRating / review | Recommendation confidence | First-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 type | Preferred schema | Example value |
|---|---|---|
| Named third-party cert (SKU or facility scoped) | hasCertification → Certification | GOTS organic cotton, license ID in certificationIdentification when you have it |
| Company-level B Corp | Organization hasCertification on About, not every SKU | "Certified B Corporation since [year]" per cert marketing |
| % recycled / fiber blend / plastic-free scope | additionalProperty PropertyValue | name: "Post-consumer recycled content", value: "70%" |
| Vague "eco-friendly" / "planet positive" | Do not put in schema | Fails 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
- Audit default theme schema: view source on a hero PDP; list missing Offer, return, shipping, and proof fields.
- Map metafields: e.g.
custom.gots_license,custom.recycled_pct,custom.cert_names→ JSON-LD properties. - Variant truth: emit schema for the selected variant (price, GTIN, availability), not a random default.
- Sync Merchant Center: titles, cert attributes, and GTINs must match schema and on-page copy (Shopping guide).
- Apps: review schema apps for duplicate Product blocks; one clean graph beats three conflicting ones.
- 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: Productwith name, brand, sku, gtin, image, descriptionofferswith price, priceCurrency, availability, url, return and shipping detailshasCertificationfor each SKU-scoped cert with name + issuing organizationadditionalPropertyfor recycled %, material, and packaging facts that match the PDP proof row- Optional
FAQPageon the same URL only when FAQ HTML is visible (see FAQ guide)
Validation and citation QA
- Rich Results / schema validator on 5 hero SKUs after every theme deploy
- Side-by-side sheet: schema field vs visible PDP line vs Merchant Center attribute
- AI prompt set: "best [category] with [cert]", "[brand] vs [competitor] materials", "is [SKU] GOTS certified"
- Log citations monthly in ChatGPT, Perplexity, and AI Overviews per the visibility audit
- Kill vague strings in description and PropertyValue names that counsel would reject under EU claim rules
Metrics that prove the work
- % of revenue SKUs with valid Product + Offer + at least one proof property
- Schema / feed / PDP mismatch count (target: zero on hero 20)
- Citation rate on certification and comparison prompts
- 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.