Optimization Guide
Ecommerce Carbon Offset and Eco-Shipping Structured Data for AI Shopping Agents
AI shopping agents answer "carbon-neutral shipping gifts" and "plastic-free packaging brands" by reading structured data — not your sustainability page. Carbon offset claims, eco packaging signals, and brand certifications are completely invisible unless you declare them in JSON-LD.
additionalProperty to your product Offer with propertyID: "carbonNeutralShipping" and a verification URL. Declare eco packaging via packagingMaterial, packagingRecyclable, and plasticFreePackaging properties. At the brand level, add hasCertification to your Organization schema in theme.liquid for B Corp, 1% for the Planet, or Climate Neutral certification. Always include a verificationUrl — unverified eco claims are ignored by AI agents trained on fact-checking signals.
The Sustainability Visibility Gap
Sustainability claims are among the fastest-growing purchase-decision signals, particularly for Gen Z and millennial buyers. Yet in nearly every Shopify store, these claims exist only in footer trust badges, about page copy, or product description paragraphs — none of which are machine-readable by AI shopping agents.
When a user asks ChatGPT Shopping "find me sustainable gifts with carbon-neutral shipping" or Perplexity "plastic-free packaging candles," the agent queries its product index for structured eco-signals. Stores without explicit carbonNeutralShipping or plasticFreePackaging structured data are simply absent from the results — even if they ship 100% carbon-neutral via Shopify Planet and use 100% recycled packaging.
Eco-intent query types that require structured signals
| Query type | Example | Required signal | Where to declare |
|---|---|---|---|
| Carbon neutral shipping | "carbon neutral delivery options" | carbonNeutralShipping: true |
Offer or OfferShippingDetails additionalProperty |
| Plastic-free packaging | "gifts with plastic-free packaging" | plasticFreePackaging: true |
Offer additionalProperty |
| Certified sustainable brand | "B Corp certified skincare" | hasCertification on Organization |
Organization in theme.liquid |
| Climate neutral pledge | "1% for the Planet brands" | hasCertification with certification name |
Organization schema |
| Recycled packaging | "home goods shipped in recycled packaging" | packagingMaterial: "recycled cardboard" |
Offer additionalProperty |
What eco claims look like without vs. with structured data
<p>We ship carbon neutral via Shopify Planet and use 100% recycled packaging. B Corp certified since 2023. </p> // Invisible to AI agents
{
"additionalProperty": [{
"@type": "PropertyValue",
"propertyID":
"carbonNeutralShipping",
"value": "true",
"verificationUrl":
"shopify.com/planet/
yourstore"
}]
}
Eco-Signal JSON-LD Patterns
Carbon-neutral shipping on Offer
The product-level carbon offset declaration goes on the Offer. Include the offset provider and a verification URL — AI agents trained on fact-check signals prioritize claims with third-party verification:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Beeswax Wrap Set — 3-Pack",
"offers": {
"@type": "Offer",
"price": "24.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "carbonNeutralShipping",
"name": "Carbon-neutral shipping",
"value": "true",
"description": "Every order is shipped carbon neutral via Shopify Planet — emissions offset at point of purchase"
},
{
"@type": "PropertyValue",
"propertyID": "carbonOffsetProvider",
"value": "Shopify Planet"
},
{
"@type": "PropertyValue",
"propertyID": "plasticFreePackaging",
"value": "true"
},
{
"@type": "PropertyValue",
"propertyID": "packagingMaterial",
"value": "recycled cardboard, compostable tissue paper"
}
]
}
}
B Corp and sustainability certification on Organization
Brand-level certifications belong on the Organization schema in theme.liquid, not on individual products. This makes the certification queryable for any product the brand sells:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Meadow Supply Co.",
"url": "https://meadowsupply.com",
"hasCertification": [
{
"@type": "Certification",
"name": "B Corporation",
"issuedBy": {
"@type": "Organization",
"name": "B Lab",
"url": "https://bcorporation.net"
},
"certificationStatus": "Active",
"url": "https://bcorporation.net/directory/meadow-supply-co",
"validFrom": "2023-01-01"
},
{
"@type": "Certification",
"name": "1% for the Planet Member",
"issuedBy": {
"@type": "Organization",
"name": "1% for the Planet",
"url": "https://onepercentfortheplanet.org"
},
"certificationStatus": "Active",
"url": "https://onepercentfortheplanet.org/business-members/meadow-supply-co"
}
]
}
Eco-friendly shipping method via OfferShippingDetails
For stores offering a dedicated green shipping option (EV delivery, carbon-calculated shipping), declare it as a distinct OfferShippingDetails entry with a sustainability additionalProperty:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Organic Cotton T-Shirt",
"offers": {
"@type": "Offer",
"price": "45.00",
"priceCurrency": "USD",
"shippingDetails": [
{
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "5.99",
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 2,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 3,
"maxValue": 5,
"unitCode": "DAY"
}
},
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "carbonNeutralShipping",
"value": "true"
},
{
"@type": "PropertyValue",
"propertyID": "carbonOffsetMethod",
"value": "Shopify Planet — verified carbon credits"
}
]
}
]
}
}
Product-level sustainability signals (organic, recycled materials)
For sustainable materials at the product level (organic cotton, recycled polyester, FSC-certified wood), use material on the Product and additionalProperty for certifications:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Recycled Fleece Jacket",
"material": "100% recycled polyester from post-consumer plastic bottles",
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "recycledContent",
"name": "Recycled content",
"value": "100% post-consumer recycled polyester"
},
{
"@type": "PropertyValue",
"propertyID": "certification",
"name": "bluesign® certified",
"value": "bluesign® approved fabric — verified safe chemical processing"
},
{
"@type": "PropertyValue",
"propertyID": "certification",
"name": "OEKO-TEX Standard 100",
"value": "OEKO-TEX 100 certified — free from harmful substances"
}
]
}
Shopify Liquid Implementation
Store eco-signal data as metafields under a sustainability namespace. Create these in Shopify Admin → Settings → Custom data → Products and Store:
| Metafield key | Type | Scope | Example value |
|---|---|---|---|
sustainability.carbon_neutral_shipping |
Boolean | Store (global) | true |
sustainability.carbon_offset_provider |
Single-line text | Store (global) | Shopify Planet |
sustainability.plastic_free_packaging |
Boolean | Store (global) | true |
sustainability.packaging_material |
Single-line text | Store (global) | recycled cardboard, kraft tissue |
sustainability.recycled_content_pct |
Integer | Product | 100 |
{% comment %}In product.liquid JSON-LD Offer block{% endcomment %}
{% assign carbon_neutral = shop.metafields.sustainability.carbon_neutral_shipping %}
{% assign offset_provider = shop.metafields.sustainability.carbon_offset_provider %}
{% assign plastic_free = shop.metafields.sustainability.plastic_free_packaging %}
{% assign pkg_material = shop.metafields.sustainability.packaging_material %}
{% assign recycled_pct = product.metafields.sustainability.recycled_content_pct %}
{% if carbon_neutral or plastic_free or recycled_pct %}
"additionalProperty": [
{% if carbon_neutral %}
{
"@type": "PropertyValue",
"propertyID": "carbonNeutralShipping",
"value": "true"
{% if offset_provider %}
,"description": "Carbon-neutral shipping via {{ offset_provider | escape }}"
{% endif %}
},
{% endif %}
{% if plastic_free %}
{
"@type": "PropertyValue",
"propertyID": "plasticFreePackaging",
"value": "true"
{% if pkg_material %}
,"description": "{{ pkg_material | escape }}"
{% endif %}
},
{% endif %}
{% if recycled_pct %}
{
"@type": "PropertyValue",
"propertyID": "recycledContent",
"value": "{{ recycled_pct }}% recycled materials"
}
{% endif %}
],
{% endif %}
Eco-Signal Reference Table
| Signal | propertyID | Value type | Verification source |
|---|---|---|---|
| Carbon-neutral shipping | carbonNeutralShipping |
Boolean string ("true") | Shopify Planet page, EcoCart certificate |
| Plastic-free packaging | plasticFreePackaging |
Boolean string ("true") | How2Recycle label, Plastic Free certification |
| Recycled content | recycledContent |
Percentage string | GRS certification, bluesign, Recycled Claim Standard |
| Carbon offset provider | carbonOffsetProvider |
Provider name string | Provider dashboard certificate |
| Organic certification | certification |
Certification name | USDA Organic, GOTS, OEKO-TEX certificate number |
Common Mistakes
| Mistake | Impact | Fix |
|---|---|---|
| Eco claims in description text only | AI agents cannot parse "we use recycled packaging" from unstructured text | Add additionalProperty with explicit propertyID values alongside description text |
| No verification URL for carbon-neutral claim | AI agents trained on fact-check data de-weight unverified sustainability claims | Add url or verificationUrl pointing to Shopify Planet, EcoCart, or offset registry listing |
| B Corp certification on product instead of Organization | Brand certification is a store-level attribute — mis-scoping limits AI discovery | Move hasCertification to Organization schema in theme.liquid |
| Claiming carbon-neutral without offset program enrolled | Greenwashing risk — AI agents and regulatory tools may flag false claims | Only set carbonNeutralShipping: true after enrolling in a verified program (Shopify Planet, EcoCart) |
| Stale certification date in structured data | AI agents may rank expired certifications lower than active ones | Update validFrom annually at certification renewal; add validThrough for timed certifications |
Implementation Checklist
- Enroll in a verified carbon offset program (Shopify Planet, EcoCart, or Cloverly) before declaring carbon-neutral shipping in structured data
- Add
carbonNeutralShipping: trueadditionalProperty to productOfferJSON-LD, with provider name and verification URL - Add
plasticFreePackagingandpackagingMaterialadditionalProperty for packaging eco-signals - Declare brand certifications (B Corp, 1% for the Planet, Climate Neutral) in
Organizationschema viahasCertification - Include certification
issuedByorganization name andurlpointing to your public certification profile - For recycled-material products, add
recycledContentadditionalProperty andmaterialat theProductlevel - Store eco-signal data in Shopify metafields so it can be toggled without template edits
- Set
validFromand optionallyvalidThroughon allCertificationentries - Validate with Rich Results Test to confirm no parse errors from the additionalProperty block
- Run CatalogScan to verify eco-signal properties appear in your AI readiness score
Frequently Asked Questions
How do I declare carbon-neutral shipping in Shopify structured data?
Add additionalProperty to your product Offer with propertyID: "carbonNeutralShipping" and value: "true". Include a description naming the offset provider (e.g., Shopify Planet, EcoCart). For verification, add a second property with propertyID: "carbonOffsetProvider" and the provider name, or include a url property pointing to your public offset certificate.
What schema.org types cover eco-friendly packaging?
Schema.org has no dedicated packaging type, so use additionalProperty on the Offer or Product. Use propertyID: "packagingMaterial" for material type, "packagingRecyclable" (boolean string), "packagingCompostable" (boolean string), and "plasticFreePackaging" (boolean string). For third-party packaging certifications, use hasCertification with a Certification type pointing to the certifying body.
Can AI shopping agents filter by eco-shipping signals?
Yes. ChatGPT Shopping, Perplexity Shopping, and Google AI Mode increasingly surface sustainability signals for eco-intent queries. Stores with explicit carbonNeutralShipping: true additionalProperty and a certification verification URL rank higher for queries like "carbon neutral gifts" or "sustainable home goods" than stores that only mention sustainability in page copy.
How do I declare B Corp or 1% for the Planet certification?
Add hasCertification to your Organization schema in theme.liquid. Use a Certification type with name (e.g., "B Corporation"), issuedBy as an Organization with the certifying body name and URL, and url pointing to your public certification profile on the certifier's directory. Set certificationStatus: "Active" and include validFrom for your certification date.
Is it greenwashing to declare carbon-neutral shipping without verification?
Yes — and it creates credibility risk. In structured data, always include a third-party verification URL or issuedBy pointing to the offset provider's confirmation. For Shopify Planet, each enrolled store has a public verification URL. For self-managed offsets, link to your Gold Standard or Verra registry listing. AI agents trained on fact-check signals de-weight unverified sustainability claims.