Optimization Guide

Shopify Candle & Home Fragrance Schema — Scent Notes, Burn Time, Wax Type & Leaping Bunny Structured Data

AI shopping agents handling queries like "long-burning soy candle with bergamot and sandalwood base notes," "cruelty-free vegan candle under $30," or "non-toxic clean-burning wax home fragrance" need machine-readable scent note pyramids, burn time hours, wax type, and certification data. Shopify's default JSON-LD for a candle outputs only name and price — the absence of scent notes, burn time, and clean-ingredient certification makes fragrance products invisible to every scent-specific, burn-duration, or clean-beauty-filtered AI query.

TL;DR Use Product @type with additionalProperty for Top Notes, Middle Notes, Base Notes, Scent Family, Burn Time (unitCode HUR), Wax Type, Wick Material, Vessel Type, and Container Size (weight/volume). Add hasCertification for Leaping Bunny and vegan certifications. Include legalDisclaimer for fire safety warnings. Use material for wax composition summary. Store values in a candle.* metafield namespace.

Why Candle & Fragrance Products Need Specialized Structured Data

Candles and home fragrance products have a dense scent vocabulary that AI shopping agents must parse to match purchase intent. A shopper searching "warm cozy fall candle" is querying by scent family (gourmand/spicy/woody) and mood — not product name. A shopper searching "50-hour burn time soy candle" needs a structured numeric attribute. Neither query can be resolved from Shopify's default JSON-LD output, which contains no fragrance or burn data.

The home fragrance market reached $10.6 billion in 2024 and is dominated by DTC Shopify brands. CatalogScan's scanning data shows that fewer than 3% of Shopify candle stores have any fragrance note, burn time, or wax type structured data. The gap between what customers search for and what brands provide in machine-readable form is wider in home fragrance than in almost any other Shopify category.

Fragrance query types and required structured data

Query type Required structured data Key property
"Candle with bergamot and sandalwood" Individual scent notes by pyramid level additionalProperty Top Notes + Base Notes
"Long-burning soy candle 50+ hours" Burn time numeric + wax type additionalProperty Burn Time (HUR) + Wax Type
"Cruelty-free vegan candle cotton wick" Cruelty-free certification + vegan status + wick material hasCertification Leaping Bunny + additionalProperty Wick Material
"Non-toxic clean burning no paraffin" Wax type + material composition additionalProperty Wax Type + material + sustainabilityFeature
"Warm floral candle for bedroom gift" Scent family + room suitability additionalProperty Scent Family + Room Suitability
"Reed diffuser lavender 6 months" Product type + scent + diffuser duration additionalProperty Product Type + Top Notes + Diffuser Duration

Full Candle Product Schema — Soy Candle Example

This example covers a premium soy candle with a full scent note pyramid, burn time, wax type, wick material, certifications, and fire safety disclaimer.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Dusk Soy Candle — Bergamot, Jasmine & Sandalwood — 8 oz, 50-Hour Burn",
  "description": "Hand-poured 100% natural soy wax candle with a three-wick cotton wick blend. Fragrance pyramid: fresh bergamot and green tea top notes, jasmine and rose middle notes, warm sandalwood and white musk base notes. 8 oz (226g) in reusable matte black glass vessel. 50-hour burn time. Leaping Bunny certified cruelty-free, 100% vegan. Phthalate-free fragrance oil.",
  "sku": "CSC-DUSK-8OZ",
  "brand": { "@type": "Brand", "name": "Ember & Bloom" },
  "material": "100% natural soy wax, cotton-paper wick blend, phthalate-free fragrance oil, matte black glass vessel",
  "legalDisclaimer": "CANDLE SAFETY: Never leave burning candle unattended. Keep away from children and pets. Burn on heat-resistant surface. Keep away from flammable materials. Trim wick to 1/4 inch before each use. Do not burn more than 4 hours at a time. Stop use when 1/2 inch wax remains.",
  "safetyConsideration": "Open flame product. Keep away from children, pets, and flammable materials. Never leave unattended while burning.",
  "sustainabilityFeature": "100% natural soy wax from US-grown soybeans. Phthalate-free fragrance oil. Cotton-paper wick (no lead, no zinc). Reusable and recyclable glass vessel. Leaping Bunny certified cruelty-free. Vegan — no beeswax or animal-derived ingredients.",
  "hasCertification": [
    {
      "@type": "Certification",
      "name": "Leaping Bunny Certified — Cruelty-Free",
      "issuedBy": {
        "@type": "Organization",
        "name": "Leaping Bunny Program",
        "url": "https://www.leapingbunny.org"
      },
      "url": "https://www.leapingbunny.org/guide/brands"
    },
    {
      "@type": "Certification",
      "name": "PETA Beauty Without Bunnies — Vegan & Cruelty-Free",
      "issuedBy": {
        "@type": "Organization",
        "name": "PETA",
        "url": "https://www.peta.org/living/personal-care-fashion/beauty-without-bunnies/"
      }
    }
  ],
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "Product Type", "value": "Candle — Soy Container Candle" },
    { "@type": "PropertyValue", "name": "Scent Name", "value": "Dusk" },
    { "@type": "PropertyValue", "name": "Scent Family", "value": "Floral-Woody", "description": "Balanced floral jasmine and rose heart with warm woody sandalwood and musk base. Fresh bergamot opening." },
    { "@type": "PropertyValue", "name": "Top Notes", "value": "bergamot, green tea, fresh citrus", "description": "The first scent impression — bright, airy notes that appear in the first 15 minutes of burning and fade as wax pools." },
    { "@type": "PropertyValue", "name": "Middle Notes", "value": "jasmine, rose, peony", "description": "Heart notes — the dominant character of the fragrance, present throughout the burn." },
    { "@type": "PropertyValue", "name": "Base Notes", "value": "sandalwood, white musk, cedarwood, vanilla", "description": "Foundation notes that deepen and linger longest — sandalwood and white musk give the warm, cozy finish." },
    { "@type": "PropertyValue", "name": "Burn Time", "value": "50", "unitCode": "HUR", "description": "Approximately 50 hours. Trim wick to 1/4 inch before each burn and allow wax to pool to edges on first burn for maximum performance." },
    { "@type": "PropertyValue", "name": "Wax Type", "value": "Soy Wax", "description": "100% natural soy wax from US-grown soybeans. Clean-burning, biodegradable, vegan. Burns cooler than paraffin for longer throw." },
    { "@type": "PropertyValue", "name": "Wick Material", "value": "Cotton-Paper Blend", "description": "Lead-free, zinc-free cotton-paper wick. Produces a clean, stable flame with minimal mushrooming." },
    { "@type": "PropertyValue", "name": "Vessel Type", "value": "Glass — Matte Black", "description": "Reusable matte black glass jar. Clean with hot water after use." },
    { "@type": "PropertyValue", "name": "Net Weight", "value": "226", "unitCode": "GRM", "description": "226 grams (8 oz) of soy wax" },
    { "@type": "PropertyValue", "name": "Fragrance Load", "value": "12", "unitCode": "P1", "description": "12% fragrance load — high-concentration for strong, room-filling throw" },
    { "@type": "PropertyValue", "name": "Phthalate-Free", "value": "Yes", "description": "Fragrance oil is phthalate-free and IFRA-compliant" },
    { "@type": "PropertyValue", "name": "Room Suitability", "value": "Bedroom, living room, bathroom, office", "description": "Medium throw suitable for rooms up to 400 sq ft" },
    { "@type": "PropertyValue", "name": "Vegan", "value": "Yes", "description": "No beeswax, no animal-derived fragrance ingredients. 100% vegan formulation." }
  ],
  "offers": {
    "@type": "Offer",
    "price": "28.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example-candles.myshopify.com/products/dusk-soy-candle-bergamot-jasmine-sandalwood"
  }
}
</script>

Reed Diffuser & Wax Melt Schema

Reed diffusers and wax melts share the fragrance note pyramid with candles but replace burn time with diffuser fill volume and longevity. Wax melts require a warmer and have no open flame.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Nordic Cedar Reed Diffuser — 100ml, 4-6 Month Longevity",
  "description": "Luxury reed diffuser with 9 natural rattan reeds and 100ml of fragrance oil blend. Nordic cedar, juniper berry, and smoky vetiver scent profile. 4-6 month longevity at half-reed placement.",
  "material": "Fragrance oil (phthalate-free, IFRA-compliant), natural rattan reeds, glass vessel",
  "legalDisclaimer": "DIFFUSER SAFETY: Keep away from children and pets. Keep away from polished wood, lacquered or painted surfaces — fragrance oil may cause damage. Avoid contact with skin and eyes. If skin contact occurs, wash with soap and water.",
  "safetyConsideration": "Fragrance oil product. Keep away from children, pets, and finished surfaces. Not for oral consumption.",
  "additionalProperty": [
    { "@type": "PropertyValue", "name": "Product Type", "value": "Reed Diffuser" },
    { "@type": "PropertyValue", "name": "Scent Family", "value": "Woody-Earthy" },
    { "@type": "PropertyValue", "name": "Top Notes", "value": "juniper berry, eucalyptus" },
    { "@type": "PropertyValue", "name": "Middle Notes", "value": "cedarwood, pine needle" },
    { "@type": "PropertyValue", "name": "Base Notes", "value": "vetiver, smoky birch, oakmoss" },
    { "@type": "PropertyValue", "name": "Fill Volume", "value": "100", "unitCode": "MLT", "description": "100ml fragrance oil" },
    { "@type": "PropertyValue", "name": "Reed Count", "value": "9", "description": "9 natural rattan diffuser reeds included" },
    { "@type": "PropertyValue", "name": "Diffuser Longevity", "value": "4-6 months at half-reed placement", "description": "Use all 9 reeds for stronger throw (2-3 months), half reeds for subtle scent (4-6 months)" },
    { "@type": "PropertyValue", "name": "Vessel Type", "value": "Glass — Clear Round" },
    { "@type": "PropertyValue", "name": "Room Suitability", "value": "Entryway, bathroom, bedroom, office", "description": "Best in rooms up to 300 sq ft" },
    { "@type": "PropertyValue", "name": "Phthalate-Free", "value": "Yes" }
  ]
}

Wax Type Reference

Wax Type Source Vegan? Burn characteristics Use as value
Soy WaxSoybean oil (vegetable)YesClean burn, lower soot, biodegradable, ~30% longer burn than paraffin"Soy Wax"
Coconut WaxCoconut oilYesExcellent scent throw, slow burn, creamy appearance, premium cost"Coconut Wax"
Coconut-Soy BlendCoconut + soybeanYesCombines coconut throw with soy stability — popular for container candles"Coconut-Soy Blend"
BeeswaxHoneybee hivesNoNaturally filtered air via negative ions, long burn, subtle honey scent, premium"Beeswax"
ParaffinPetroleum byproductYes (no animal)Excellent hot scent throw, low cost, strong hold for fragrance — produces some soot"Paraffin Wax"
Rapeseed/CanolaRapeseed oilYesEuropean alternative to soy — locally grown in EU, clean burn"Rapeseed Wax"
Palm WaxPalm oilYesHard, high-melt-point wax — controversial sustainability (deforestation)"Palm Wax"
Gel WaxMineral oil + polymerYesClear/transparent candles, embeds visible, petroleum-based"Gel Wax"

Scent Family Reference

Scent Family Characteristic notes Common queries
FloralRose, jasmine, peony, lily, violet, gardenia"floral candle," "rose candle," "romantic scent"
WoodySandalwood, cedarwood, vetiver, oakmoss, patchouli"woody candle," "earthy," "forest scent"
Fresh / CitrusBergamot, lemon, grapefruit, ocean breeze, green tea"clean scent," "fresh candle," "citrus," "bright"
GourmandVanilla, caramel, brown sugar, baked goods, coffee"dessert candle," "warm cozy," "vanilla candle," "fall candle"
Oriental / AmberAmber, oud, incense, myrrh, benzoin"luxurious," "amber candle," "oud," "warm spice"
SpicyCinnamon, clove, ginger, black pepper, cardamom"spicy candle," "fall scent," "holiday candle," "warm spices"
AquaticSea salt, ocean mist, rain, eucalyptus, ozone"ocean candle," "fresh air," "spa scent"
Herbal / GreenLavender, eucalyptus, mint, thyme, sage"lavender candle," "relaxing," "spa," "herb"
Earthy / MuskyEarth, moss, musk, damp soil, leather"earthy candle," "masculine," "musky," "sophisticated"

Dawn Liquid Snippet: candle.* Metafield Namespace

Save as snippets/candle-product-schema.liquid. Activates for products tagged candle, diffuser, or in the home-fragrance collection.

{% comment %} candle-product-schema.liquid — candle and home fragrance structured data {% endcomment %}
{% assign is_candle = false %}
{% if product.tags contains 'candle' or product.tags contains 'diffuser' or product.tags contains 'wax-melt' or product.tags contains 'home-fragrance' %}
  {% assign is_candle = true %}
{% endif %}
{% for collection in product.collections %}
  {% if collection.handle == 'candles' or collection.handle == 'home-fragrance' or collection.handle == 'diffusers' %}
    {% assign is_candle = true %}
  {% endif %}
{% endfor %}

{% if is_candle %}
{% assign scent_name    = product.metafields.candle.scent_name %}
{% assign scent_family  = product.metafields.candle.scent_family %}
{% assign top_notes     = product.metafields.candle.top_notes %}
{% assign middle_notes  = product.metafields.candle.middle_notes %}
{% assign base_notes    = product.metafields.candle.base_notes %}
{% assign burn_time     = product.metafields.candle.burn_time_hours %}
{% assign wax_type      = product.metafields.candle.wax_type %}
{% assign wick_material = product.metafields.candle.wick_material %}
{% assign vessel_type   = product.metafields.candle.vessel_type %}
{% assign net_weight_g  = product.metafields.candle.net_weight_grams %}
{% assign is_vegan      = product.metafields.candle.vegan %}
{% assign is_leaping    = product.metafields.candle.leaping_bunny %}
{% assign sustainability= product.metafields.candle.sustainability_statement %}
{% assign safety_note   = product.metafields.candle.fire_safety_disclaimer %}

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": {{ product.title | json }},
  "description": {{ product.description | strip_html | truncatewords: 80 | json }},
  "url": "{{ shop.url }}{{ product.url }}",
  "sku": {{ product.selected_or_first_available_variant.sku | json }}
  {% if product.vendor != blank %}
  ,"brand": { "@type": "Brand", "name": {{ product.vendor | json }} }
  {% endif %}
  {% if wax_type != blank %}
  ,"material": {{ wax_type | append: " wax candle, " | append: product.title | truncatewords: 8 | json }}
  {% endif %}
  {% if safety_note != blank %}
  ,"legalDisclaimer": {{ safety_note | json }}
  ,"safetyConsideration": "Open flame product. Keep away from children, pets, and flammable materials. Never leave unattended."
  {% endif %}
  {% if sustainability != blank %}
  ,"sustainabilityFeature": {{ sustainability | json }}
  {% endif %}
  {% if is_leaping == "true" or is_leaping == true %}
  ,"hasCertification": [
    { "@type": "Certification", "name": "Leaping Bunny Certified — Cruelty-Free", "issuedBy": { "@type": "Organization", "name": "Leaping Bunny Program", "url": "https://www.leapingbunny.org" } }
  ]
  {% endif %}
  ,"additionalProperty": [
    {% assign ap_s = false %}
    {% if scent_name != blank %}
    { "@type": "PropertyValue", "name": "Scent Name", "value": {{ scent_name | json }} }
    {% assign ap_s = true %}
    {% endif %}
    {% if scent_family != blank %}
    {% if ap_s %},{% endif %}{ "@type": "PropertyValue", "name": "Scent Family", "value": {{ scent_family | json }} }
    {% assign ap_s = true %}
    {% endif %}
    {% if top_notes != blank %}
    ,{ "@type": "PropertyValue", "name": "Top Notes", "value": {{ top_notes | json }} }
    {% endif %}
    {% if middle_notes != blank %}
    ,{ "@type": "PropertyValue", "name": "Middle Notes", "value": {{ middle_notes | json }} }
    {% endif %}
    {% if base_notes != blank %}
    ,{ "@type": "PropertyValue", "name": "Base Notes", "value": {{ base_notes | json }} }
    {% endif %}
    {% if burn_time != blank %}
    ,{ "@type": "PropertyValue", "name": "Burn Time", "value": {{ burn_time | json }}, "unitCode": "HUR" }
    {% endif %}
    {% if wax_type != blank %}
    ,{ "@type": "PropertyValue", "name": "Wax Type", "value": {{ wax_type | json }} }
    {% endif %}
    {% if wick_material != blank %}
    ,{ "@type": "PropertyValue", "name": "Wick Material", "value": {{ wick_material | json }} }
    {% endif %}
    {% if vessel_type != blank %}
    ,{ "@type": "PropertyValue", "name": "Vessel Type", "value": {{ vessel_type | json }} }
    {% endif %}
    {% if net_weight_g != blank %}
    ,{ "@type": "PropertyValue", "name": "Net Weight", "value": {{ net_weight_g | json }}, "unitCode": "GRM" }
    {% endif %}
    {% if is_vegan == "true" or is_vegan == true %}
    ,{ "@type": "PropertyValue", "name": "Vegan", "value": "Yes" }
    {% endif %}
  ]
  ,"offers": {
    "@type": "Offer",
    "price": {{ product.selected_or_first_available_variant.price | money_without_currency | json }},
    "priceCurrency": {{ cart.currency.iso_code | json }},
    "availability": {% if product.available %}"https://schema.org/InStock"{% else %}"https://schema.org/OutOfStock"{% endif %},
    "url": "{{ shop.url }}{{ product.url }}"
  }
}
</script>
{% endif %}

candle.* metafield namespace

Metafield Type Example values
candle.scent_nameSingle line textDusk, Nordic Cedar, Midnight Garden
candle.scent_familySingle line textFloral-Woody, Fresh/Citrus, Gourmand, Woody, Oriental/Amber, Spicy
candle.top_notesSingle line textbergamot, green tea, fresh citrus
candle.middle_notesSingle line textjasmine, rose, peony
candle.base_notesSingle line textsandalwood, white musk, cedarwood, vanilla
candle.burn_time_hoursInteger45, 50, 60, 80
candle.wax_typeSingle line textSoy Wax, Coconut Wax, Coconut-Soy Blend, Beeswax, Paraffin Wax
candle.wick_materialSingle line textCotton-Paper Blend, Wood Wick, Cotton Wick, Hemp Wick
candle.vessel_typeSingle line textGlass — Matte Black, Tin — Silver, Ceramic — White, Concrete
candle.net_weight_gramsInteger170, 226, 283, 340
candle.veganBooleantrue, false
candle.leaping_bunnyBooleantrue, false
candle.sustainability_statementMulti-line text100% soy wax. Cotton wick. Phthalate-free fragrance. Reusable vessel.
candle.fire_safety_disclaimerMulti-line textNever leave burning candle unattended. Keep away from children and pets…

5 Common Candle Schema Mistakes

# Mistake Impact Fix
1 No scent notes in structured data — fragrance only in product title Scent-specific queries ("candle with bergamot and sandalwood") require machine-readable note data — product title parsing is lossy and fails multi-note AND queries Add separate additionalProperty entries for Top Notes, Middle Notes, and Base Notes with comma-separated scent strings
2 Burn time in product description text but not in structured data "Candles with 50+ hour burn time" is one of the most common candle comparison queries — a numeric structured value is required for greater-than filtering; description text cannot support range comparisons Add additionalProperty with name "Burn Time", numeric value, and unitCode: "HUR" — the only way to enable burn-duration range filtering
3 No wax type structured data despite "soy" or "coconut" being in product name Wax type is a binary filter for many buyers — "soy candles" excludes paraffin. Title-text wax mentions are unreliable for structured filtering Add additionalProperty Wax Type + material property summarizing the wax composition — enables clean filtering separate from product name parsing
4 Leaping Bunny and vegan claims not structured — only in product description Clean-beauty buyers who filter by cruelty-free or vegan certification treat unstructured claims as unverifiable marketing text. Structured hasCertification signals a verifiable third-party standard Add hasCertification for Leaping Bunny and/or PETA Beauty Without Bunnies, and add additionalProperty Vegan: "Yes" for explicitly vegan products
5 No fire safety legalDisclaimer in structured data AI agents answering "safe candles for home" or "candles for households with pets/children" prioritize products with clear safety information in structured data — absence signals incomplete product information Add legalDisclaimer with the standard candle fire safety warnings and safetyConsideration with a one-line summary — the combination covers both structured safety filtering and NLP safety queries

Frequently Asked Questions

How do I encode scent notes (top, middle, base) in schema.org?

Use three separate additionalProperty PropertyValue entries: one for Top Notes, one for Middle Notes, one for Base Notes. Values are comma-separated strings: "bergamot, green tea, fresh citrus". Do not use JSON arrays inside the value field — JSON arrays in PropertyValue.value break JSON-LD validation. Also add a Scent Family property using controlled vocabulary (Floral, Woody, Fresh/Citrus, Gourmand, Oriental/Amber, Spicy) for category-level scent filtering.

How do I express burn time in schema.org?

Use additionalProperty with name: "Burn Time", a numeric string value ("50"), and unitCode: "HUR" (the UN/CEFACT code for hours). Add a description clarifying conditions and care instructions: "Approximately 50 hours. Trim wick to 1/4 inch before each burn. Allow wax to pool to edges on first burn." For range values (45-55 hours), use the lower bound as the structured value and clarify the range in description.

How do I mark a candle as Leaping Bunny certified?

Use hasCertification with name: "Leaping Bunny Certified — Cruelty-Free" and issuedBy set to the Leaping Bunny Program organization. Add the URL to the Leaping Bunny brand directory for the certification to be verifiable. Also add sustainabilityFeature with plain language: "Leaping Bunny certified cruelty-free. No animal testing at any stage of production." For fully vegan products (no beeswax, no animal-derived fragrance), add a separate additionalProperty with name: "Vegan" and value: "Yes".

What fire safety information should I add to candle schema?

Use legalDisclaimer for the full CPSC-aligned fire safety warning: "CANDLE SAFETY: Never leave burning candle unattended. Keep away from children and pets. Burn on heat-resistant surface. Trim wick to 1/4 inch before each use. Do not burn more than 4 hours at a time. Stop use when 1/2 inch wax remains." Add a shorter safetyConsideration for NLP safety queries: "Open flame product. Keep away from children, pets, and flammable materials." Both properties together cover structured safety filtering and conversational safety queries.

How do I differentiate soy, coconut, and beeswax candles in structured data?

Use additionalProperty with name: "Wax Type" and the specific wax value: "Soy Wax", "Coconut Wax", "Coconut-Soy Blend", "Beeswax", or "Paraffin Wax". Also set the material property to the full material description for NLP: "100% natural soy wax, cotton-paper wick, phthalate-free fragrance oil, glass vessel". Note that beeswax is not vegan — if your product is vegan, ensure your wax type excludes beeswax and add additionalProperty Vegan: "Yes". See Shopify Cosmetics & Beauty Product Schema for clean-ingredient certification patterns.

Are your candle scent notes and certifications invisible to AI fragrance queries?

CatalogScan audits your Shopify store for missing fragrance note data, absent burn time structured values, unstructured cruelty-free claims, and missing fire safety disclaimers — the four most common AI agent visibility gaps for candle and home fragrance product pages.

Run Free Scan

Related Resources