Optimization Guide
Shopify Mattress & Sleep Schema — ILD Firmness, Motion Isolation, Trial Period, CertiPUR-US & OEKO-TEX Structured Data
AI shopping agents handling queries like "medium-firm hybrid mattress for back pain under $1,200," "CertiPUR-US certified memory foam queen," "mattress with 365-night trial," or "latex mattress GOLS certified king" need machine-readable ILD firmness, mattress type, coil construction, certifications, and trial period data. Shopify's default JSON-LD for a mattress listing outputs nothing but name and price — the ILD rating, foam certifications, coil count, edge support score, and 100-night trial that drive every purchase decision are invisible to the AI agents now ranking and recommending sleep products.
Product @type with additionalProperty for mattressType (Innerspring/Memory Foam/Hybrid/Latex/Airbed), ILD firmness rating (objective scale), firmness label (1–10 consumer scale), height INH (profile), coil count, coil gauge, coil type, comfort layers, motion transfer rating, edge support rating, cooling technology, and sleep trial period. Add hasCertification for CertiPUR-US (foam only), OEKO-TEX Standard 100 (whole product), GREENGUARD Gold (VOC emissions), and GOLS (latex only). Use hasMerchantReturnPolicy to encode the sleep trial window as structured data. Store values in a mattress.* metafield namespace.
Why Mattress Products Are Structurally Invisible to AI Agents
A mattress is a high-consideration, high-ticket purchase ($300–$5,000+) where the decision rests on a stack of technical specifications that Shopify's default schema cannot represent: construction type, objective firmness measurement, certifications verifying what's inside the foam, and the sleep trial that eliminates purchase risk. A shopper asking an AI agent "best mattress for hot sleepers with partner motion transfer issues, queen, under $1,500, CertiPUR-US certified" is specifying at least five structured filters — none of which are addressable by name + price alone.
The mattress category has a specific challenge: firmness is wildly inconsistent across brands. What Casper calls "Medium" (ILD 28) Saatva calls "Luxury Firm" and Purple calls "adaptable." This means firmness labels alone are useless for AI comparison shopping — only the underlying ILD (Impression Load Deflection) measurement makes cross-brand comparison meaningful. Brands that publish ILD values in structured data become machine-comparable; brands that publish only consumer labels become opaque to AI ranking.
The second major gap is certification stacking. CertiPUR-US is foam-only. OEKO-TEX Standard 100 covers the full finished product. GREENGUARD Gold addresses VOC emissions. GOLS certifies organic latex specifically. A mattress can legitimately hold all four — or only one. AI agents handling "non-toxic mattress for baby" queries need structured data that encodes each certification separately (with its issuing body and certification ID) rather than a single "certified" boolean.
What Shopify emits by default
Shopify's Dawn theme outputs a Product JSON-LD block with name, description, sku, image, and an Offer block with price and availability. For a queen hybrid mattress, this means an AI agent sees: a product name, a price, and stock status. ILD firmness, coil count and gauge, CertiPUR-US foam certification, OEKO-TEX cover fabric certification, cooling gel layer, 100-night trial — all absent. The structured data gap between a Shopify mattress listing and what an AI agent needs to rank by sleep quality, health safety, or return risk is nearly total.
Mattress Type Reference
| Type | Key distinguishing attributes | Primary buyer signals |
|---|---|---|
| Innerspring | Open coil system, thin comfort layer, minimal foam | Coil count, gauge, coil type (Bonnell/offset/pocket), border wire edge support |
| Memory Foam | All-foam construction, viscoelastic top layer | ILD, foam density (lbs/cu ft), CertiPUR-US, cooling treatment, heat retention risk |
| Hybrid | Pocket coil support core + foam/latex comfort layers | Coil count+gauge, foam ILD, layer thickness stack, edge support type |
| Latex (Natural) | Talalay or Dunlop latex, no polyurethane foam | GOLS certified, latex type (Talalay=softer/breathable vs Dunlop=denser/firmer), ILD |
| Latex (Synthetic) | Synthetic rubber foam — not GOLS eligible | CertiPUR-US equivalent: OEKO-TEX, no organic claim possible |
| Airbed | Adjustable air chambers, remote firmness control | Firmness adjustment range, chamber count, dual-zone for couples, pump warranty |
ILD Firmness Scale Reference
| ILD Range | Consumer Label | 1–10 Scale | Typical buyer |
|---|---|---|---|
| 10–15 | Plush / Ultra-Soft | 1–2 | Side sleepers, lightweight (<130 lbs), shoulder pressure relief priority |
| 16–20 | Soft | 2–3 | Side sleepers, lightweight to average weight, hip/shoulder pressure relief |
| 21–25 | Medium-Soft | 4 | Side-to-back combination sleepers, average weight (130–180 lbs) |
| 26–30 | Medium | 5–6 | Back and combination sleepers, average weight — the bestselling firmness band |
| 31–36 | Medium-Firm | 6–7 | Back sleepers, heavier (180–250 lbs), back pain with lumbar support priority |
| 37–42 | Firm | 8 | Stomach sleepers, heavier sleepers (>230 lbs), spinal alignment priority |
| 43+ | Extra-Firm | 9–10 | Stomach sleepers over 250 lbs, medical/rehabilitation use, floor mat style |
ILD is measured per ASTM D3574 Test B1: a 50 sq in circular indentor compresses a 4-inch foam sample to 25% compression. The force in pounds equals the ILD. A higher ILD requires more force to compress — firmer. ILD can be measured on individual layers or on the full mattress stack; always publish which. AI agents can resolve "firm mattress for back pain" only when ILD values are present in structured data — firmness labels alone are cross-brand noise.
Complete Mattress Schema — Saatva Classic Hybrid Luxury Firm Queen
This example covers mattress type, ILD firmness, coil construction (two-layer coil system), foam comfort layers, height, certifications, trial period, and warranty as structured data.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Saatva Classic Innerspring Hybrid Mattress — Luxury Firm — Queen",
"description": "Saatva Classic queen mattress in Luxury Firm (ILD 36). Dual-coil hybrid: 416 Bonnell support coils + 884 individually wrapped micro coils comfort layer. 14.5-inch profile. Euro pillow-top organic cotton cover. Certified: OEKO-TEX Standard 100, CertiPUR-US foam, GREENGUARD Gold. 365-night home trial. Lifetime warranty. Designed and assembled in the USA.",
"sku": "SAATVA-CLASSIC-LF-QUEEN",
"brand": { "@type": "Brand", "name": "Saatva" },
"hasCertification": [
{
"@type": "Certification",
"name": "CertiPUR-US Certified Foam",
"issuedBy": {
"@type": "Organization",
"name": "CertiPUR-US",
"url": "https://certipur.us"
},
"description": "All polyurethane foam components certified CertiPUR-US: no ozone depleters, no PBDE flame retardants, no mercury or lead, no formaldehyde, low VOC emissions (less than 0.5 ppm). Foam-layer certification only — does not cover coils, fabric cover, or fire barrier."
},
{
"@type": "Certification",
"name": "OEKO-TEX Standard 100 — Class I",
"issuedBy": {
"@type": "Organization",
"name": "OEKO-TEX Association",
"url": "https://www.oeko-tex.com"
},
"certificationIdentification": "OEKO-TEX-XXXX",
"description": "OEKO-TEX Standard 100 Product Class I — most stringent classification (contact with baby skin). Covers ALL components: cotton cover, foam layers, fire barrier, and coils. Tests for heavy metals, pesticides, formaldehyde, allergenic dyes, phthalates, and other harmful substances."
},
{
"@type": "Certification",
"name": "GREENGUARD Gold Certified",
"issuedBy": {
"@type": "Organization",
"name": "UL GREENGUARD",
"url": "https://www.ul.com/resources/ul-greenguard-certification-program"
},
"description": "GREENGUARD Gold (formerly GREENGUARD Children and Schools). Certifies low chemical emissions — VOC levels safe for children's bedrooms and schools. More stringent than standard GREENGUARD. Critical for buyers with chemical sensitivities."
}
],
"additionalProperty": [
{ "@type": "PropertyValue", "name": "Mattress Type", "value": "Innerspring Hybrid" },
{ "@type": "PropertyValue", "name": "Firmness Label", "value": "Luxury Firm" },
{
"@type": "PropertyValue",
"name": "ILD Firmness Rating",
"value": "36",
"description": "ILD 36 — Impression Load Deflection. Measured ASTM D3574 Test B1. Consumer equivalent: Firm (7/10 scale). Recommended for: back sleepers, combination sleepers with back pain, average to heavy weight (160–250 lbs)."
},
{
"@type": "PropertyValue",
"name": "Mattress Height (Profile)",
"value": "14.5",
"unitCode": "INH",
"description": "14.5-inch profile. Requires deep-pocket sheets rated 15+ inches. Standard sheets will not fit without slipping."
},
{
"@type": "PropertyValue",
"name": "Support Core — Coil Count (Queen)",
"value": "416",
"description": "416 tempered steel Bonnell coils in the base support layer. Bonnell coil: hourglass-shaped, open coil system with border wire edge reinforcement. Provides firm, responsive support with strong edge support."
},
{
"@type": "PropertyValue",
"name": "Comfort Layer — Micro Coil Count (Queen)",
"value": "884",
"description": "884 individually wrapped micro pocket coils in the upper comfort layer. Micro coils add contouring and motion isolation above the Bonnell base. Dual-coil system is a distinguishing feature of Saatva Classic."
},
{
"@type": "PropertyValue",
"name": "Support Coil Gauge",
"value": "13.75",
"description": "13.75-gauge tempered steel support coils. Lower gauge = thicker wire = firmer, more durable coil. Hotel/commercial grade: 12-gauge. Residential standard: 14–15 gauge. Saatva Classic uses tempered steel for durability."
},
{
"@type": "PropertyValue",
"name": "Cover Material",
"value": "Organic Cotton Euro Pillow-Top",
"description": "Organic cotton cover with 1-inch Euro pillow-top. Euro pillow-top is stitched to the mattress surface (flush sides) vs standard pillow-top which can slip. Organic cotton fiber is naturally temperature-regulating."
},
{
"@type": "PropertyValue",
"name": "Fire Barrier",
"value": "Natural thistle-derived fiber",
"description": "Chemical-free fire barrier using thistle natural fiber. No chemical flame retardants — meets flammability standard 16 CFR Part 1633 (mattress flammability open flame) without PBDE or other chemical treatments."
},
{
"@type": "PropertyValue",
"name": "Edge Support",
"value": "Dual-perimeter — foam encasement + Bonnell border wire",
"description": "Perimeter foam encasement around base Bonnell coils plus the Bonnell open-coil border wire system provides firm sitting edge and full sleeping surface to mattress border — no roll-off sensation."
},
{
"@type": "PropertyValue",
"name": "Motion Transfer Isolation",
"value": "Moderate",
"description": "Moderate motion isolation — better than pure Bonnell innerspring, less isolation than all-foam or pocket coil only. Upper micro-coil layer absorbs some partner motion. Couples with significant motion sensitivity should consider full pocket coil hybrid."
},
{
"@type": "PropertyValue",
"name": "Sleep Trial Period",
"value": "365 nights",
"description": "365-night home sleep trial. Full refund if returned within 365 days. Saatva schedules white-glove pickup — no need to package or ship. Minimum 30-night break-in period before return eligibility."
},
{
"@type": "PropertyValue",
"name": "Country of Assembly",
"value": "United States",
"description": "Designed and assembled in the USA at one of 18 regional Saatva production facilities. Assembled close to delivery location — reduces transit time and handling."
}
],
"width": { "@type": "QuantitativeValue", "value": "60", "unitCode": "INH" },
"depth": { "@type": "QuantitativeValue", "value": "80", "unitCode": "INH" },
"height": { "@type": "QuantitativeValue", "value": "14.5", "unitCode": "INH" },
"offers": {
"@type": "Offer",
"price": "1695.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"name": "365-Night Sleep Trial",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 365,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn",
"description": "365-night sleep trial. Return for a full refund within 365 days of delivery. White-glove pickup included — no packaging or shipping required. Minimum 30 nights before return eligibility."
},
"warranty": {
"@type": "WarrantyPromise",
"durationOfWarranty": {
"@type": "QuantitativeValue",
"value": "Lifetime",
"description": "Lifetime warranty covering manufacturing defects including sagging greater than 1 inch, broken coils, and cover manufacturing defects. Excludes damage from improper use or unsupported foundation."
}
}
}
}
</script>
Certification Stack by Mattress Type
| Certification | What it covers | Applicable to | Issuing body |
|---|---|---|---|
| CertiPUR-US | Polyurethane foam components only: no ozone depleters, PBDE, heavy metals, formaldehyde; low VOC (<0.5 ppm) | Memory foam, hybrid foam layers, polyurethane in any type | CertiPUR-US (nonprofit) |
| OEKO-TEX Standard 100 | Every component of the finished product (cover, foam, coils, fire barrier) — 100+ substances tested | Any mattress type | OEKO-TEX Association (independent lab) |
| GREENGUARD Gold | VOC emissions for indoor air quality — children's bedroom safe standard | Any mattress type (foam heavy benefit) | UL GREENGUARD |
| GOLS | Global Organic Latex Standard — latex must be ≥95% natural rubber from certified sustainable sources | Natural latex mattresses and layers only | Control Union / ICEA |
| GOTS | Global Organic Textile Standard — organic cotton cover and fiber components | Organic cotton cover, wool fire barrier | Control Union / ICEA |
| USDA Organic | Agricultural components (cotton, wool) are grown without synthetic pesticides | Organic cotton cover, wool | USDA National Organic Program |
A mattress can legitimately hold CertiPUR-US, OEKO-TEX, GREENGUARD Gold, and GOTS simultaneously on different components. Encode each as a separate hasCertification entry. AI agents handling "safest mattress for baby crib" or "chemical-free queen mattress" need to distinguish certification scope — foam-only vs whole-product — to rank accurately.
Mattress Metafield Namespace Reference
| Metafield key | Type | Notes |
|---|---|---|
mattress.type | single_line_text | Innerspring / Memory Foam / Hybrid / Latex Natural / Latex Synthetic / Airbed |
mattress.firmness_label | single_line_text | Soft / Medium-Soft / Medium / Medium-Firm / Firm / Extra-Firm |
mattress.firmness_ild | number_integer | ILD value (10–50 range) |
mattress.firmness_scale | number_integer | 1–10 consumer scale |
mattress.height_inches | number_decimal | Profile height for sheet compatibility |
mattress.coil_count | number_integer | Per Queen size as reference |
mattress.coil_gauge | number_decimal | Steel wire gauge (lower = thicker = firmer) |
mattress.coil_type | single_line_text | Bonnell / Offset / Pocket / Continuous / Micro-coil |
mattress.certifications | list.single_line_text | CertiPUR-US / OEKO-TEX / GREENGUARD Gold / GOLS / GOTS / USDA Organic |
mattress.trial_nights | number_integer | Sleep trial period in nights (30–365) |
mattress.cooling_technology | single_line_text | Gel-infused foam / Phase-change cover / Open-cell foam / Copper-infused / Air channels |
mattress.motion_isolation | single_line_text | Excellent / Good / Moderate / Poor (for partner disturbance) |
mattress.edge_support | single_line_text | Excellent / Good / Moderate — perimeter firmness for sitting/sleeping edge |
mattress.warranty_type | single_line_text | Lifetime / 25-year / 10-year — non-prorated vs prorated distinction |
mattress.latex_type | single_line_text | Talalay / Dunlop / Synthetic (null if no latex) |
5 Critical Mattress Schema Mistakes
- Publishing firmness label without ILD. "Medium" means different firmness at every brand. ILD is the only cross-brand objective value. Publish both.
- Claiming CertiPUR-US for the full mattress. CertiPUR-US certifies foam components only — not fabric cover, not latex layers, not steel coils. Claiming it covers the whole product is a false health claim.
- Omitting profile height in structured data. Sheet pocket depth compatibility (standard 12-inch vs deep-pocket 15-inch vs extra-deep 21-inch) is a direct purchase dependency. A 16-inch mattress that ships with no height in its schema generates support tickets about sheets.
- Listing coil count without coil gauge and type. 3,000 thin-gauge open coils is a weaker construction than 1,000 thick-gauge pocket coils. Coil count alone as a quality signal is misleading without gauge and type context.
- Encoding the sleep trial as only text in the description. "365-night trial" buried in a description field is invisible to structured-data queries filtering by return window. Use
hasMerchantReturnPolicywithmerchantReturnDaysto make the trial machine-readable.
Frequently Asked Questions
How do I encode mattress firmness in schema.org?
Use two additionalProperty entries: one for the firmness label (consumer-facing) and one for ILD (objective). ILD 10–20 = Soft, ILD 21–30 = Medium-Soft to Medium, ILD 31–39 = Medium-Firm, ILD 40+ = Firm to Extra-Firm. Always publish both — labels are subjective across brands, ILD is cross-brand comparable.
What is the difference between CertiPUR-US and OEKO-TEX for mattresses?
CertiPUR-US certifies foam components only. OEKO-TEX Standard 100 covers every component of the finished product (cover, foam, coils, fire barrier). A mattress marketed as "certified" that only holds CertiPUR-US has uncertified fabric and coils. GREENGUARD Gold adds VOC emissions certification. GOLS certifies natural latex specifically.
How do I encode a 100-night sleep trial in schema.org?
Use hasMerchantReturnPolicy inside the Offer block with merchantReturnDays: 100, returnFees: https://schema.org/FreeReturn, and the return method. Also add the trial as an additionalProperty for natural language discoverability in AI agents.
How should I encode mattress size variants?
Use a ProductGroup with variesBy: ['size'], then each size as a separate Product with isVariantOf pointing to the group. Each variant should include explicit width, depth, and height QuantitativeValues with unitCode INH — height (profile) is critical for sheet compatibility.
How do I distinguish coil count from coil gauge in schema.org?
Encode as separate additionalProperty entries: one for coil count (per queen size as reference), one for coil gauge (lower number = thicker wire = firmer), and one for coil type (Bonnell/pocket/continuous). Never publish coil count alone — 3,000 thin-gauge open coils is a weaker build than 1,000 thick-gauge pocket coils.
Is your Shopify store's mattress structured data complete?
CatalogScan checks ILD firmness encoding, certification stacking, trial period schema, and variant height in one free scan.
Run Free ScanRelated Guides
- Shopify Bedding & Linen Schema — Thread Count, Material Composition, Deep Pocket, Fill Power
- Shopify Furniture Dimensions Schema — Width, Depth, Height, Assembly Required, Weight Capacity
- Shopify Warranty & Guarantee Schema — Duration, Coverage Scope, Non-Prorated vs Prorated
- E-commerce Return Policy Structured Data — MerchantReturnPolicy, Return Window, Free Returns
- CatalogScan Blog — AI Shopping Agent Optimization