Structured Data Guide

Shopify Smart Home & IoT Device Schema — Matter, Zigbee, Z-Wave Protocol Compatibility & Ecosystem Hub Structured Data

AI agents handling queries like "Matter-compatible smart bulb no hub required," "Zigbee door sensor compatible with Home Assistant and SmartThings," "Z-Wave Plus V2 smart lock with S2 security Apple HomeKit," or "Thread-enabled smart plug Google Home compatible hardwired" need machine-readable protocol versions, hub requirements, and ecosystem compatibility data. Shopify's default JSON-LD outputs name and price only — the absence of wireless protocol, hub requirement, and ecosystem compatibility makes every smart home platform filter query unmatched.

TL;DR Use @type: Product with additionalProperty to declare wireless protocol (with version), hub requirement, compatible ecosystems, power source, and frequency. Use compatibleWith for Alexa/Google Home/HomeKit. Use hasCertification for FCC (with FCC ID), UL, CE, and Matter certification. Store all fields in a smarthome.* metafield namespace and inject via Liquid with conditional blocks for hub-free vs hub-required devices and Z-Wave region warnings.

Why Smart Home Devices Are Invisible to AI Agent Queries

The smart home device market is segmented by protocol compatibility in ways that directly drive purchase decisions. A shopper building a Zigbee mesh cannot use a Z-Wave device. A buyer who already owns a Philips Hue Bridge wants Zigbee-compatible sensors — not WiFi sensors that require their own app. A HomeKit household needs Thread or Matter, not Zigbee. These protocol and ecosystem constraints are the primary filter in smart home purchase queries.

Shopify's default product JSON-LD outputs name, description, offers, and image. None of these carry wireless protocol, hub requirement, Z-Wave region (US vs EU), Matter version, or ecosystem compatibility. An AI agent answering "Zigbee motion sensor compatible with Home Assistant under $30" has no structured data to filter against — the protocol and compatibility information exists only in unstructured description text, which AI agents cannot reliably parse for attribute matching at scale.

Query types requiring smart home structured data

Query type Example query Required structured signal
Protocol filter "Matter 1.2 smart plug" Wireless Protocol: Matter 1.2 over WiFi and Thread
Hub requirement "smart sensor no hub required" Hub Required: No hub required
Ecosystem filter "smart plug works with Apple HomeKit" compatibleWith: Apple HomeKit + Supported Ecosystems
Z-Wave security "Z-Wave Plus smart lock S2 security" Protocol: Z-Wave Plus V2 (700 series) + Security Framework: S2
Zigbee hub compatibility "Zigbee sensor works with Home Assistant" Hub Required: Yes — Zigbee + hub compatibility list in description
Thread border router "Thread smart home device Google Nest Hub" Wireless Protocol: Thread + border router list in Hub Required description
Power source "hardwired smart plug 120V" Power Source: Mains 120V AC
Certification "Matter certified UL listed smart plug" hasCertification: Matter certification + UL 498

Section 1: Matter-Enabled Smart Plug — No Hub Required

Matter 1.2 is the universal smart home standard from the Connectivity Standards Alliance (CSA). A Matter device works with every Matter-certified ecosystem — Apple HomeKit, Google Home, Amazon Alexa, Samsung SmartThings, and Home Assistant — without proprietary bridges or hubs. The schema must express the Matter version, the transport (WiFi or Thread), and explicitly state that no hub is required. This is the decisive signal for AI agents filtering out hub-dependent devices.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "SmartHome Matter Smart Plug 15A with Energy Monitoring",
  "sku": "SHSP-MATTER-15A",
  "description": "Matter 1.2 certified smart plug with 15A capacity and real-time energy monitoring. Works with Apple HomeKit, Google Home, Amazon Alexa, Samsung SmartThings, and Home Assistant — no proprietary hub required. Supports WiFi and Thread networks.",
  "brand": {
    "@type": "Brand",
    "name": "SmartHome"
  },
  "offers": {
    "@type": "Offer",
    "price": "34.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Device Type",
      "value": "Smart Plug / Outlet"
    },
    {
      "@type": "PropertyValue",
      "name": "Wireless Protocol",
      "value": "Matter 1.2 over WiFi and Thread",
      "description": "Matter 1.2 — CSA (Connectivity Standards Alliance) universal smart home standard. Works over WiFi (802.11 b/g/n 2.4GHz) or Thread network. No proprietary hub required — works with all Matter-certified ecosystems."
    },
    {
      "@type": "PropertyValue",
      "name": "Hub Required",
      "value": "No hub required",
      "description": "Works standalone via WiFi. Optional Thread border router (Apple HomePod mini, Google Nest Hub 2nd gen, Amazon Echo 4th gen) enables Thread mesh networking for lower latency."
    },
    {
      "@type": "PropertyValue",
      "name": "Supported Ecosystems",
      "value": "Apple HomeKit, Google Home, Amazon Alexa, Samsung SmartThings, Home Assistant — all via Matter"
    },
    {
      "@type": "PropertyValue",
      "name": "WiFi Standard",
      "value": "802.11 b/g/n — 2.4GHz only",
      "description": "2.4GHz only — does not support 5GHz. Ensure router 2.4GHz band is enabled."
    },
    {
      "@type": "PropertyValue",
      "name": "Bluetooth",
      "value": "Bluetooth 5.0 — commissioning only",
      "description": "BLE 5.0 used only for initial setup/commissioning. Not used for ongoing control."
    },
    {
      "@type": "PropertyValue",
      "name": "Max Load",
      "value": "15",
      "unitCode": "AMP",
      "description": "15A / 1800W max resistive load. Not rated for motor loads above 50% of max."
    },
    {
      "@type": "PropertyValue",
      "name": "Standby Power",
      "value": "0.5",
      "unitCode": "W",
      "description": "0.5W standby power draw when idle"
    },
    {
      "@type": "PropertyValue",
      "name": "Energy Monitoring",
      "value": "Yes — real-time wattage, kWh cumulative, voltage, amperage via Matter Energy cluster"
    },
    {
      "@type": "PropertyValue",
      "name": "Power Source",
      "value": "Mains 120V AC — US plug NEMA 5-15"
    },
    {
      "@type": "PropertyValue",
      "name": "Dimensions",
      "value": "52 × 38 × 38 mm"
    },
    {
      "@type": "PropertyValue",
      "name": "FCC ID",
      "value": "2AFZZ-SPMAT12"
    }
  ],
  "hasCertification": [
    {
      "@type": "Certification",
      "name": "FCC Part 15",
      "certificationIdentification": "2AFZZ-SPMAT12",
      "issuedBy": {
        "@type": "Organization",
        "name": "Federal Communications Commission",
        "url": "https://fcc.gov"
      }
    },
    {
      "@type": "Certification",
      "name": "UL 498",
      "issuedBy": {
        "@type": "Organization",
        "name": "UL (Underwriters Laboratories)"
      }
    },
    {
      "@type": "Certification",
      "name": "Matter Certification",
      "issuedBy": {
        "@type": "Organization",
        "name": "Connectivity Standards Alliance (CSA)",
        "url": "https://csa-iot.org"
      }
    },
    {
      "@type": "Certification",
      "name": "CE Marking"
    },
    {
      "@type": "Certification",
      "name": "RoHS Compliance"
    },
    {
      "@type": "Certification",
      "name": "Energy Star"
    }
  ],
  "compatibleWith": [
    {
      "@type": "Product",
      "name": "Apple HomeKit",
      "description": "via Matter",
      "url": "https://www.apple.com/home-app/"
    },
    {
      "@type": "Product",
      "name": "Google Home",
      "description": "via Matter",
      "url": "https://home.google.com"
    },
    {
      "@type": "Product",
      "name": "Amazon Alexa",
      "description": "via Matter",
      "url": "https://www.amazon.com/alexa"
    },
    {
      "@type": "Product",
      "name": "Samsung SmartThings",
      "description": "via Matter",
      "url": "https://www.smartthings.com"
    },
    {
      "@type": "Product",
      "name": "Home Assistant",
      "description": "via Matter",
      "url": "https://www.home-assistant.io"
    }
  ]
}

The Hub Required: No hub required PropertyValue is the signal AI agents use when a buyer filters for "no hub" or "hub-free" smart home devices. The compatibleWith array makes ecosystem compatibility explicit and machine-readable — AI agents do not need to parse "Works with Alexa" from description text. The FCC ID in both additionalProperty and hasCertification.certificationIdentification enables FCC lookup verification and acts as a certification trust signal.

Section 2: Zigbee Motion Sensor — Hub Required, Multi-Ecosystem

Zigbee 3.0 devices require a Zigbee-compatible hub or coordinator. The hub requirement must be stated explicitly — and the compatible hub models must be enumerated in the description. This is critical because Zigbee compatibility varies by hub: a Zigbee device that works with SmartThings may not be natively supported by Philips Hue Bridge (which only recognizes Hue-certified Zigbee devices). AI agents need this nuance to prevent recommending a Zigbee sensor to a buyer whose only hub is a Philips Hue Bridge.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "ProSense Zigbee 3.0 PIR Motion Sensor with Lux Detection",
  "sku": "PS-ZB-MOT-PIR",
  "description": "Zigbee 3.0 battery-powered PIR motion sensor with configurable sensitivity and lux threshold. Hub required. Compatible with SmartThings, Home Assistant (Zigbee USB coordinator), Amazon Echo 4th gen built-in Zigbee, and Aeotec Smart Home Hub.",
  "brand": {
    "@type": "Brand",
    "name": "ProSense"
  },
  "offers": {
    "@type": "Offer",
    "price": "27.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Wireless Protocol",
      "value": "Zigbee 3.0",
      "description": "Zigbee 3.0 — IEEE 802.15.4 mesh protocol at 2.4GHz. Low power, mesh network topology — each Zigbee device extends the mesh. Hub required."
    },
    {
      "@type": "PropertyValue",
      "name": "Hub Required",
      "value": "Yes — Zigbee-compatible hub required",
      "description": "Compatible hubs: Philips Hue Bridge (limited — only Hue-certified Zigbee devices), IKEA Dirigera, SmartThings Hub v3+, Aeotec Smart Home Hub, Home Assistant with Zigbee USB coordinator (ConBee II, Sonoff Zigbee 3.0 USB Dongle Plus), Amazon Echo 4th gen (built-in Zigbee hub)."
    },
    {
      "@type": "PropertyValue",
      "name": "Zigbee Channel",
      "value": "Channels 11-26 — 2.4GHz",
      "description": "Zigbee operates in same 2.4GHz band as WiFi — channel overlap with WiFi channels 1, 6, 11 can cause interference. Recommended Zigbee channels: 15, 20, 25, 26."
    },
    {
      "@type": "PropertyValue",
      "name": "Device Type within Zigbee",
      "value": "End device — not router",
      "description": "Battery-powered sensors are Zigbee end devices — they do NOT route traffic. Zigbee routers (always-powered devices) extend mesh range."
    },
    {
      "@type": "PropertyValue",
      "name": "Motion Detection Technology",
      "value": "Passive Infrared (PIR)",
      "description": "PIR sensor detects infrared radiation change — warm bodies moving through field of view. Not microwave/radar — does not detect through walls."
    },
    {
      "@type": "PropertyValue",
      "name": "Detection Range",
      "value": "7",
      "unitCode": "MTR",
      "description": "7m (23 ft) detection radius"
    },
    {
      "@type": "PropertyValue",
      "name": "Detection Angle",
      "value": "120",
      "unitCode": "DD",
      "description": "120° horizontal detection arc — UN/CEFACT DD = degrees"
    },
    {
      "@type": "PropertyValue",
      "name": "Sensitivity Levels",
      "value": "3 — Low/Medium/High"
    },
    {
      "@type": "PropertyValue",
      "name": "Lux Threshold",
      "value": "Configurable — 0-1000 lux",
      "description": "Illuminance threshold for day/night mode switching — disable motion alerts when bright enough"
    },
    {
      "@type": "PropertyValue",
      "name": "Power Source",
      "value": "AAA × 2 battery — included"
    },
    {
      "@type": "PropertyValue",
      "name": "Battery Life",
      "value": "730",
      "unitCode": "DAY",
      "description": "~2 years on 2× AAA batteries at standard use (10 detections/day)"
    },
    {
      "@type": "PropertyValue",
      "name": "Tamper Alert",
      "value": "Yes — physical tamper detection switch"
    }
  ],
  "hasCertification": [
    {
      "@type": "Certification",
      "name": "Zigbee 3.0 Certification",
      "issuedBy": {
        "@type": "Organization",
        "name": "Connectivity Standards Alliance (CSA)",
        "url": "https://csa-iot.org"
      }
    },
    {
      "@type": "Certification",
      "name": "FCC Part 15",
      "issuedBy": {
        "@type": "Organization",
        "name": "Federal Communications Commission"
      }
    },
    {
      "@type": "Certification",
      "name": "CE Marking"
    },
    {
      "@type": "Certification",
      "name": "RoHS Compliance"
    }
  ],
  "compatibleWith": [
    {
      "@type": "Product",
      "name": "Samsung SmartThings"
    },
    {
      "@type": "Product",
      "name": "Home Assistant",
      "description": "via Zigbee USB coordinator (ConBee II, Sonoff Zigbee 3.0 USB Dongle Plus)"
    },
    {
      "@type": "Product",
      "name": "Amazon Echo (4th gen)",
      "description": "Built-in Zigbee hub — no separate hub required"
    },
    {
      "@type": "Product",
      "name": "Philips Hue Bridge",
      "description": "Limited compatibility — Philips Hue Bridge only supports Hue-certified Zigbee devices. This sensor is NOT Hue-certified and will not pair with Hue Bridge."
    }
  ]
}

Note the Philips Hue Bridge compatibleWith entry with an explicit incompatibility disclaimer. This is a critical schema pattern: a buyer who owns only a Hue Bridge searches for "Zigbee sensor Philips Hue compatible" — if your product is not Hue-certified, listing Hue Bridge without this disclaimer will generate returns. The description field on a compatibleWith entry is the correct place for this nuance.

The unitCode: "DD" on Detection Angle uses the UN/CEFACT common code for degrees, which is the correct machine-readable unit for angle values. MTR for meters on Detection Range follows the same UN/CEFACT standard — see our product specifications structured data guide for the full unit code reference.

Section 3: Z-Wave Plus V2 Smart Lock — S2 Security

Z-Wave operates at sub-GHz frequencies (908.42 MHz in the US, 868.42 MHz in EU) — entirely separate from the 2.4GHz band shared by WiFi, Zigbee, Bluetooth, and Thread. This eliminates 2.4GHz congestion for locks, which require high reliability. However, Z-Wave is region-specific: a US 908MHz device is physically incompatible with EU 868MHz regions. This region field is frequently absent from smart lock listings and is a source of international returns. The schema must include it explicitly.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "SecureEntry Z-Wave Plus V2 Smart Deadbolt — S2 Authenticated",
  "sku": "SE-ZW700-DLK-S2",
  "description": "Z-Wave Plus V2 (700 series) motorized smart deadbolt with S2 Security Level 2 authentication. ANSI/BHMA Grade 1 certified. Hub required — compatible with SmartThings, Aeotec Smart Home Hub, HomeSeer, Hubitat Elevation, and Home Assistant with Z-Wave USB stick. US 908.42MHz region.",
  "brand": {
    "@type": "Brand",
    "name": "SecureEntry"
  },
  "offers": {
    "@type": "Offer",
    "price": "199.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Protocol",
      "value": "Z-Wave Plus V2 (700 series)",
      "description": "Z-Wave Plus V2 on 700 series chip — 100m outdoor / 40m indoor mesh range. Z-Wave operates at 908.42MHz (US) / 868.42MHz (EU) — dedicated sub-GHz band avoids 2.4GHz WiFi/Zigbee congestion."
    },
    {
      "@type": "PropertyValue",
      "name": "Z-Wave Region",
      "value": "US — 908.42MHz",
      "description": "Z-Wave is region-specific — a US 908MHz device will NOT work in EU 868MHz regions. Verify region before purchase."
    },
    {
      "@type": "PropertyValue",
      "name": "Security Framework",
      "value": "S2 — Security Level 2",
      "description": "Z-Wave S2 security: AES-128 encrypted communication with ECDH key exchange during inclusion. S0 (legacy) and no-security modes also supported for older hubs."
    },
    {
      "@type": "PropertyValue",
      "name": "Hub Required",
      "value": "Yes — Z-Wave hub required",
      "description": "Compatible hubs: SmartThings Hub, Aeotec Smart Home Hub, HomeSeer, Hubitat Elevation, Home Assistant with Z-Wave USB stick (Zooz ZST10, Aeotec Z-Stick 7)."
    },
    {
      "@type": "PropertyValue",
      "name": "Device Class",
      "value": "Z-Wave Door Lock — Generic Device Class 0x40",
      "description": "Z-Wave generic device class for door locks — enables proper command class discovery by any Z-Wave hub."
    },
    {
      "@type": "PropertyValue",
      "name": "Lock Type",
      "value": "Motorized deadbolt — Schlage B60N compatible"
    },
    {
      "@type": "PropertyValue",
      "name": "Entry Methods",
      "value": "Keypad PIN, Z-Wave remote, auto-lock timer"
    },
    {
      "@type": "PropertyValue",
      "name": "Auto-Lock",
      "value": "Yes — configurable 30 seconds to 30 minutes"
    },
    {
      "@type": "PropertyValue",
      "name": "Power Source",
      "value": "4 × AA alkaline batteries"
    },
    {
      "@type": "PropertyValue",
      "name": "Battery Life",
      "value": "12",
      "unitCode": "MON",
      "description": "~12 months on 4 × AA batteries — low battery alert at 20% via Z-Wave battery report"
    },
    {
      "@type": "PropertyValue",
      "name": "ANSI/BHMA Grade",
      "value": "ANSI/BHMA Grade 1 — Highest residential security rating"
    }
  ],
  "hasCertification": [
    {
      "@type": "Certification",
      "name": "Z-Wave Plus V2 Certified",
      "issuedBy": {
        "@type": "Organization",
        "name": "Z-Wave Alliance / Silicon Labs"
      }
    },
    {
      "@type": "Certification",
      "name": "ANSI/BHMA Grade 1",
      "issuedBy": {
        "@type": "Organization",
        "name": "Builders Hardware Manufacturers Association (BHMA)"
      }
    },
    {
      "@type": "Certification",
      "name": "UL Listed"
    }
  ],
  "compatibleWith": [
    {
      "@type": "Product",
      "name": "Samsung SmartThings"
    },
    {
      "@type": "Product",
      "name": "Aeotec Smart Home Hub"
    },
    {
      "@type": "Product",
      "name": "Hubitat Elevation"
    },
    {
      "@type": "Product",
      "name": "Home Assistant",
      "description": "via Z-Wave USB stick (Zooz ZST10 or Aeotec Z-Stick 7)"
    },
    {
      "@type": "Product",
      "name": "HomeSeer"
    }
  ]
}

The Z-Wave 700 series chip specification matters to buyers who need long-range mesh and low power. Earlier Z-Wave 500 series devices have shorter range and lack S2 security — AI agents serving informed buyers filter on chip generation. Include it in the Protocol value string, not just the description. For more on region-specific product schema patterns, see our guide on geo-restricted and region-specific product schema.

Section 4: Protocol Comparison Reference Table

AI agents need protocol-level context to distinguish between technologies that all appear as "smart home" or "wireless" in product descriptions. The table below reflects the data that should be encoded in your structured data — not just displayed in HTML.

Protocol Frequency Range (indoor) Hub Required Mesh Ecosystem
Matter (WiFi) 2.4GHz ~30m No hub No Universal: Alexa, Google Home, HomeKit, SmartThings
Matter (Thread) 2.4GHz 15–20m per hop Thread border router Yes — IP mesh Universal via border router (HomePod mini, Nest Hub 2nd gen, Echo 4th gen)
Zigbee 3.0 2.4GHz ~15m Yes, Zigbee hub Yes — non-IP mesh Depends on hub: SmartThings, Echo, Home Assistant, Hue (Hue-certified only)
Z-Wave Plus V2 908/868MHz ~40m Yes, Z-Wave hub Yes — mesh SmartThings, Hubitat, HomeSeer, Home Assistant
WiFi (2.4GHz) 2.4GHz ~50m No hub No Cloud-dependent: Alexa, Google Home (requires cloud account)
Bluetooth / BLE 2.4GHz ~10m No hub (short range) No Direct pairing only — no persistent cloud control

Note that Matter (WiFi) and WiFi-only devices both use 2.4GHz and require no hub — but they are fundamentally different. Matter devices use the Matter protocol for local control and work across all Matter ecosystems. WiFi-only (non-Matter) devices typically use manufacturer cloud APIs and lose functionality if the cloud service is discontinued. AI agents should surface this distinction when answering reliability or local-control queries.

Section 5: Hub Compatibility Matrix

Hub compatibility determines which protocols a buyer can use without purchasing additional hardware. Many buyers already own a hub — they filter for devices compatible with their existing infrastructure. This matrix represents the data you must encode in compatibleWith arrays and hub-related additionalProperty descriptions.

Hub Zigbee Z-Wave Matter Thread
Amazon Echo (4th gen) Yes — built-in No Yes No
Google Nest Hub (2nd gen) No No Yes Yes — Thread border router
Apple HomePod mini No No Yes Yes — Thread border router
Samsung SmartThings Hub Yes Yes (with Aeotec) Yes No
Hubitat Elevation Yes Yes Matter bridge No
Home Assistant Yes (USB dongle) Yes (USB dongle) Yes (Matter server) No

SmartThings Z-Wave support requires Aeotec Smart Home Hub (a Z-Wave-certified hub that runs SmartThings firmware). Standalone SmartThings Hubs v3+ have built-in Zigbee and Z-Wave radios. Hubitat Matter support is via a Matter bridge — not native Matter controller. Home Assistant Matter support requires the Matter server integration and a Matter controller (typically a smartphone on the same network for commissioning).

Section 6: Liquid Implementation — smarthome.* Metafield Namespace

Store all smart home attributes in a smarthome metafield namespace on your Shopify products. This allows Liquid templates to inject the full structured data block with zero hardcoding and enables conditional logic for hub-free vs. hub-required devices and Z-Wave region warnings.

Metafield namespace — 14 fields

Metafield key Type Example value
smarthome.device_typesingle_line_text_fieldSmart Plug / Outlet
smarthome.wireless_protocolsingle_line_text_fieldMatter 1.2 over WiFi and Thread
smarthome.protocol_versionsingle_line_text_fieldMatter 1.2 / Z-Wave Plus V2 (700 series) / Zigbee 3.0
smarthome.hub_requiredsingle_line_text_fieldNo / Yes — Zigbee-compatible hub / Yes — Z-Wave hub
smarthome.compatible_ecosystemsmulti_line_text_fieldApple HomeKit, Google Home, Amazon Alexa, Samsung SmartThings
smarthome.wifi_standardsingle_line_text_field802.11 b/g/n — 2.4GHz only
smarthome.zigbee_channelsingle_line_text_fieldChannels 11-26 — 2.4GHz
smarthome.zwave_regionsingle_line_text_fieldUS — 908.42MHz
smarthome.security_frameworksingle_line_text_fieldS2 — Security Level 2
smarthome.power_sourcesingle_line_text_fieldMains 120V AC — US plug NEMA 5-15
smarthome.max_load_ampsnumber_decimal15
smarthome.energy_monitoringbooleantrue
smarthome.fcc_idsingle_line_text_field2AFZZ-SPMAT12
smarthome.matter_certifiedbooleantrue

Liquid JSON-LD injection with conditional blocks

{% comment %}
  Smart Home / IoT Product — structured data injection
  Namespace: smarthome.*
  File: snippets/smarthome-schema.liquid
{% endcomment %}

{% assign sh = product.metafields.smarthome %}

{% if sh.wireless_protocol != blank %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": {{ product.title | json }},
  "sku": {{ product.selected_or_first_available_variant.sku | json }},
  "description": {{ product.description | strip_html | truncate: 400 | json }},
  "brand": {
    "@type": "Brand",
    "name": {{ product.vendor | json }}
  },
  "offers": {
    "@type": "Offer",
    "price": {{ product.selected_or_first_available_variant.price | divided_by: 100.0 | json }},
    "priceCurrency": {{ shop.currency | json }},
    "availability": {% if product.available %}"https://schema.org/InStock"{% else %}"https://schema.org/OutOfStock"{% endif %}
  },
  "additionalProperty": [
    {% if sh.device_type != blank %}
    {
      "@type": "PropertyValue",
      "name": "Device Type",
      "value": {{ sh.device_type | json }}
    },
    {% endif %}
    {
      "@type": "PropertyValue",
      "name": "Wireless Protocol",
      "value": {{ sh.wireless_protocol | json }}
    },
    {
      "@type": "PropertyValue",
      "name": "Hub Required",
      "value": {{ sh.hub_required | json }}
    },
    {% if sh.compatible_ecosystems != blank %}
    {
      "@type": "PropertyValue",
      "name": "Supported Ecosystems",
      "value": {{ sh.compatible_ecosystems | json }}
    },
    {% endif %}
    {% if sh.power_source != blank %}
    {
      "@type": "PropertyValue",
      "name": "Power Source",
      "value": {{ sh.power_source | json }}
    },
    {% endif %}
    {% if sh.max_load_amps != blank %}
    {
      "@type": "PropertyValue",
      "name": "Max Load",
      "value": {{ sh.max_load_amps | json }},
      "unitCode": "AMP"
    },
    {% endif %}
    {% if sh.fcc_id != blank %}
    {
      "@type": "PropertyValue",
      "name": "FCC ID",
      "value": {{ sh.fcc_id | json }}
    },
    {% endif %}
    {% if sh.zwave_region != blank %}
    {
      "@type": "PropertyValue",
      "name": "Z-Wave Region",
      "value": {{ sh.zwave_region | json }},
      "description": "Z-Wave is region-specific — a US 908MHz device will NOT work in EU 868MHz regions."
    },
    {% endif %}
    {% if sh.security_framework != blank %}
    {
      "@type": "PropertyValue",
      "name": "Security Framework",
      "value": {{ sh.security_framework | json }}
    },
    {% endif %}
    {
      "@type": "PropertyValue",
      "name": "Energy Monitoring",
      "value": {% if sh.energy_monitoring %}"Yes"{% else %}"No"{% endif %}
    }
  ]
  {% if sh.fcc_id != blank %},
  "hasCertification": [
    {
      "@type": "Certification",
      "name": "FCC Part 15",
      "certificationIdentification": {{ sh.fcc_id | json }}
    }
    {% if sh.matter_certified %},
    {
      "@type": "Certification",
      "name": "Matter Certification",
      "issuedBy": {
        "@type": "Organization",
        "name": "Connectivity Standards Alliance (CSA)"
      }
    }
    {% endif %}
  ]
  {% endif %}
}
</script>

{%- comment %} Hub-free callout — rendered in visible HTML for buyers {%- endcomment %}
{% if sh.hub_required == "No" %}
<div class="hub-free-badge">
  <strong>No hub required</strong> — connects directly via WiFi or Thread.
  Works with Alexa, Google Home, Apple HomeKit, SmartThings, and Home Assistant via Matter.
</div>
{% endif %}

{%- comment %} Z-Wave region warning — prevents international purchase errors {%- endcomment %}
{% if sh.wireless_protocol contains "Z-Wave" %}
<div class="zwave-region-warning">
  <strong>Z-Wave region notice:</strong>
  This device operates at {{ sh.zwave_region }}.
  Z-Wave devices are region-locked — a US 908MHz device cannot be used in EU 868MHz countries.
  If you are purchasing from outside the listed region, please contact us before ordering.
</div>
{% endif %}

{% endif %}

The conditional if sh.hub_required == "No" block renders a visible hub-free callout that reinforces the structured data signal for buyers scanning the page. The Z-Wave region warning block is injected only for Z-Wave devices and is critical for international storefronts. Both blocks serve dual purpose: visible reassurance for buyers and secondary signals that reinforce the structured data for crawlers that read page content alongside JSON-LD. See our electronics hardware schema guide for additional patterns for tech product metafields.

Section 7: Five Common Mistakes in Smart Home Product Schema

Does your Shopify store pass the smart home protocol test?

CatalogScan audits your product JSON-LD for wireless protocol, hub requirement, ecosystem compatibility, FCC certifications, and Z-Wave region signals — and generates a line-by-line fix list for your Liquid templates.

Scan your store free

Frequently Asked Questions

How do I express Matter, Zigbee, and Z-Wave compatibility in schema.org additionalProperty?

Each wireless protocol should appear as a separate additionalProperty PropertyValue entry with the protocol name and version as the value. For Matter: use name "Wireless Protocol", value "Matter 1.2 over WiFi and Thread", and include in the description field the transport options and the fact that no proprietary hub is required. For Zigbee: value "Zigbee 3.0" with a description noting IEEE 802.15.4, the 2.4GHz mesh topology, and hub requirement. For Z-Wave: value "Z-Wave Plus V2 (700 series)" with description noting the frequency (908.42MHz US / 868.42MHz EU) and S2 security level. Always include the protocol version number — "Matter" without a version, or "Zigbee" without specifying 3.0, is insufficient for AI agents filtering by certified protocol revision.

How do I mark whether a smart home device requires a hub in schema.org?

Add a PropertyValue entry in additionalProperty with name "Hub Required" and a clear value: "No hub required" for standalone WiFi or Matter-over-WiFi devices, or "Yes — Zigbee-compatible hub required" for mesh protocol devices. Include in the description property the specific compatible hub models. Hub requirement is the single most common return reason for smart home devices — AI agents must surface this signal before purchase. Without a structured Hub Required field, an agent has no way to know that a Zigbee sensor cannot be onboarded without additional hardware costing $60–$150.

What schema.org property expresses Amazon Alexa and Google Home ecosystem compatibility?

Use the schema.org compatibleWith property on the Product object to list each compatible ecosystem as a Product entity. Additionally, add a "Supported Ecosystems" PropertyValue in additionalProperty that lists all ecosystems as a comma-separated string value. For Matter devices: "Apple HomeKit, Google Home, Amazon Alexa, Samsung SmartThings, Home Assistant — all via Matter." For Zigbee or Z-Wave devices the ecosystem list is hub-dependent, so the description should clarify which hubs enable which ecosystems — SmartThings Hub enables both Zigbee and Z-Wave, while Philips Hue Bridge enables only Hue-certified Zigbee devices.

How do I implement FCC and CE certification for IoT devices in Shopify schema.org?

Use the hasCertification property on the Product object, with each certification as a Certification entity. For FCC: include certificationIdentification with the FCC ID (e.g., "2AFZZ-SPMAT12") — this is searchable at fcc.gov and is a key trust signal. For CE Marking (EU), include a separate hasCertification entry. For Matter-certified devices, add a Matter certification entry issued by the Connectivity Standards Alliance (CSA). Always also add the FCC ID as a standalone additionalProperty PropertyValue so it appears in visible structured data alongside the hasCertification block.

How do I distinguish Thread from Zigbee in Shopify structured data?

Thread and Zigbee are both IEEE 802.15.4-based mesh protocols operating at 2.4GHz — but are fundamentally different. Thread is IP-based and routes to your home network; it requires a Thread Border Router (Apple HomePod mini, Google Nest Hub 2nd gen, Amazon Echo 4th gen), not a Zigbee hub. Zigbee requires a Zigbee coordinator/hub and uses a non-IP mesh topology. Thread is the transport layer for Matter — when a device says "Matter over Thread", the Matter protocol runs on a Thread network. Use separate PropertyValue entries: for Thread, value "Thread 1.3 / Matter 1.2" with a description explaining that a Thread Border Router (not a Zigbee hub) is required. Never list them together as "2.4GHz mesh."