Structured Data Guide

Ecommerce Product Audience Schema: suggestedAudience & Audience JSON-LD for Targeted Products

Toy stores, children's apparel brands, gift shops, and B2B suppliers sell products to a specific segment — but without suggestedAudience structured data, AI shopping agents have no machine-readable way to match "toys for 3-year-olds" or "gifts for new dads" to the right products. Here's how to add audience signals to Shopify product pages.

TL;DR Add suggestedAudience to your Product JSON-LD with a PeopleAudience object. Set suggestedMinAge and suggestedMaxAge (integers, years) for age-targeted products; suggestedGender ("Male", "Female", "Unisex") for gendered products; and audienceType (free text) for life-stage targeting. For B2B products, use BusinessAudience with numberOfEmployees and yearlyRevenue ranges. Store audience data in Shopify metafields.

Why Audience Schema Unlocks High-Intent Gift & Discovery Queries

Some of the most commercially valuable AI shopping queries are audience-targeted:

These queries have high purchase intent and clear audience filters. AI agents building recommendation lists for these queries need machine-readable audience signals on product pages. When you add suggestedAudience with age range and gender to your products, you become filterable by these criteria.

Without audience structured data, the agent must guess from product title ("Dinosaur Building Blocks Set") whether it's appropriate for a 3-year-old vs. a 10-year-old — and it will frequently guess wrong or skip your product entirely.

Audience Type Hierarchy

Schema.org Type Use For Key Properties
PeopleAudience Consumer products targeted by age, gender, life stage suggestedMinAge, suggestedMaxAge, suggestedGender, audienceType
BusinessAudience B2B products for businesses of specific size or revenue numberOfEmployees (QuantitativeValue), yearlyRevenue (MonetaryAmount)
EducationalAudience Educational materials for specific student or teacher roles educationalRole ("student", "teacher", "parent")
Audience Base type — use if none of the subtypes fit audienceType (free text), geographicArea

PeopleAudience Properties Reference

Property Type Description
suggestedMinAge Number (years) Minimum recommended age: 3 (for "ages 3 and up")
suggestedMaxAge Number (years) Maximum recommended age: 6 (for "ages 3-6"); omit for "ages 3 and up"
suggestedGender Text "Male", "Female", or "Unisex"
audienceType Text Life stage or role: "Toddlers", "Teenagers", "New Parents", "Home Chefs", "Professionals"
healthCondition MedicalCondition For health products: specific condition the product is relevant to
geographicArea AdministrativeArea Geographic audience restriction (if product is region-specific)
requiredGender Text Required (not just suggested) gender for regulatory or safety reasons
requiredMinAge Number (years) Legal minimum age requirement (e.g. alcohol, firearms accessories: 21)
requiredMaxAge Number (years) Legal maximum age restriction (rare — e.g. children's medication dosing)

JSON-LD Examples

Children's Toy — Age Range

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Magnetic Dinosaur Building Blocks Set (60 Pieces)",
  "description": "STEM-focused magnetic tile set featuring 6 dinosaur figures. Builds fine motor skills and spatial reasoning. No small parts — safe for ages 3 and up.",
  "image": "https://your-store.myshopify.com/cdn/shop/products/dino-blocks.jpg",
  "brand": {"@type": "Brand", "name": "BrightMind Toys"},
  "offers": {
    "@type": "Offer",
    "price": "34.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://your-store.myshopify.com/products/magnetic-dino-blocks"
  },
  "suggestedAudience": {
    "@type": "PeopleAudience",
    "suggestedMinAge": 3,
    "suggestedMaxAge": 8,
    "suggestedGender": "Unisex",
    "audienceType": "Children"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "1203"
  }
}

Gender-Targeted Apparel

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Wildflower Linen Sundress — Women's",
  "offers": {
    "@type": "Offer",
    "price": "89.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "suggestedAudience": {
    "@type": "PeopleAudience",
    "suggestedMinAge": 18,
    "suggestedGender": "Female",
    "audienceType": "Adults"
  }
}

Life-Stage Targeting: New Parents

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Nesting Instinct Gift Set — New Mom Care Package",
  "description": "Thoughtfully curated self-care gift for new mothers: organic nipple balm, lavender bath salts, bamboo nursing pads, and a hand-written congratulations card.",
  "suggestedAudience": {
    "@type": "PeopleAudience",
    "suggestedMinAge": 20,
    "suggestedMaxAge": 45,
    "suggestedGender": "Female",
    "audienceType": "New Mothers"
  }
}

B2B Product — BusinessAudience

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Commercial Grade Sous Vide Circulator (40L Bath)",
  "description": "Professional immersion circulator designed for restaurant kitchens and catering operations. 2500W, ±0.1°C precision, 40-liter bath capacity.",
  "suggestedAudience": {
    "@type": "BusinessAudience",
    "audienceType": "Restaurant and Food Service Businesses",
    "numberOfEmployees": {
      "@type": "QuantitativeValue",
      "minValue": 5
    }
  }
}

Shopify Liquid Template: suggestedAudience Implementation

{% comment %} product.liquid — suggestedAudience for targeted products {% endcomment %}

{% assign audience_min_age = product.metafields.audience.min_age.value %}
{% assign audience_type = product.metafields.audience.type.value %}
{% if audience_min_age or audience_type %}

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": {{ product.title | json }},
  "description": {{ product.description | strip_html | truncate: 600 | json }},
  "offers": {
    "@type": "Offer",
    "price": "{{ product.price | money_without_currency | remove: ',' }}",
    "priceCurrency": {{ shop.currency | json }},
    "availability": {% if product.available %}"https://schema.org/InStock"{% else %}"https://schema.org/OutOfStock"{% endif %},
    "url": "https://{{ shop.domain }}{{ product.url }}"
  },
  "suggestedAudience": {
    "@type": {{ product.metafields.audience.schema_type.value | default: "PeopleAudience" | json }}
    {% if audience_min_age %}
    ,"suggestedMinAge": {{ audience_min_age }}
    {% endif %}
    {% if product.metafields.audience.max_age.value %}
    ,"suggestedMaxAge": {{ product.metafields.audience.max_age.value }}
    {% endif %}
    {% if product.metafields.audience.required_min_age.value %}
    ,"requiredMinAge": {{ product.metafields.audience.required_min_age.value }}
    {% endif %}
    {% if product.metafields.audience.gender.value %}
    ,"suggestedGender": {{ product.metafields.audience.gender.value | json }}
    {% endif %}
    {% if audience_type %}
    ,"audienceType": {{ audience_type | json }}
    {% endif %}
  }
  {% if product.metafields.reviews.rating %}
  ,"aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "{{ product.metafields.reviews.rating.value }}",
    "reviewCount": "{{ product.metafields.reviews.rating_count.value }}"
  }
  {% endif %}
}
</script>

{% endif %}

Metafields for audience targeting

Metafield key Type Example value
audience.min_ageInteger3 (years)
audience.max_ageInteger8 (years)
audience.required_min_ageInteger21 (legal minimum, e.g. alcohol accessories)
audience.genderSingle-line text"Male", "Female", or "Unisex"
audience.typeSingle-line text"Toddlers", "Teenagers", "New Parents", "Professionals"
audience.schema_typeSingle-line text"PeopleAudience" or "BusinessAudience"

Age Range Reference for Common Product Categories

Category suggestedMinAge suggestedMaxAge audienceType
Baby/infant products01"Infants"
Toddler toys13"Toddlers"
Preschool toys (ages 3–5)35"Preschoolers"
School-age toys (ages 6–12)612"Children"
Teen products1317"Teenagers"
Young adult (18–25)1825"Young Adults"
Adult general (18+)18(omit)"Adults"
Senior products (60+)60(omit)"Seniors"
Age-restricted (alcohol/tobacco accessories)21 (required)(omit)"Adults"

Common Audience Schema Mistakes

Mistake Effect Fix
Using audience instead of suggestedAudience on Product audience is for CreativeWork; on Product @type, the correct property is suggestedAudience Switch to suggestedAudience — it is the Product-specific audience property
Using requiredMinAge for toys with "ages 3+" labeling (non-legal restriction) requiredMinAge implies a legal requirement — misleading signal Use suggestedMinAge for recommendations; reserve requiredMinAge for legally age-restricted products (alcohol accessories, firearms-related)
Setting suggestedGender to "Male/Female" for unisex products Products filtered out of gender-neutral queries like "unisex gift ideas" Use "Unisex" for products that aren't gender-specific
Omitting audience markup on gift products entirely Invisible to highest-value AI shopping queries: "gifts for X" Add suggestedAudience with at minimum audienceType describing who the gift is for
Using PeopleAudience for B2B professional equipment Mismatched type; numberOfEmployees can't be expressed on PeopleAudience Use BusinessAudience for products targeted at businesses or professionals

CatalogScan Audience Schema Checks

CatalogScan's AI Readiness scan detects Shopify stores in children's toys, baby products, apparel, gifts, and B2B categories and checks whether product pages include suggestedAudience structured data. Stores selling age-targeted or gender-targeted products without suggestedAudience receive an audience-signal gap warning. The scan validates: PeopleAudience vs. Audience base type selection, suggestedMinAge/suggestedMaxAge as numeric values (flags string values like "3 years"), and suggestedGender values against recognized enumerations.

Related guides: Clothing & apparel size schema · Age verification structured data · Ecommerce product schema overview · Shopify schema markup guide

FAQ

What is suggestedAudience and how do I use it on Shopify?

suggestedAudience on Product takes a PeopleAudience (or BusinessAudience) object. Set suggestedMinAge and suggestedMaxAge for age-targeted products, suggestedGender for gendered products, and audienceType for life-stage targeting. Store values in Shopify metafields and render conditionally in product.liquid.

How do I add age range to a toy product on Shopify?

In the Product JSON-LD block, add suggestedAudience: {"@type": "PeopleAudience", "suggestedMinAge": 3, "suggestedMaxAge": 8}. Age values are integers (years). Omit suggestedMaxAge for "ages X and up" products with no upper limit. Store these values in audience.min_age and audience.max_age metafields.

What suggestedGender values should I use?

Use "Male", "Female", or "Unisex". Only add suggestedGender when the product is genuinely gender-targeted. Gender-neutral products should use "Unisex" if gender filtering is relevant, or omit suggestedGender entirely to avoid unnecessary restriction signals.

How does audience schema help with gift recommendation queries?

AI agents building gift lists ("birthday gifts for a 5-year-old girl") filter by suggestedMinAge, suggestedMaxAge, and suggestedGender. Products matching the audience criteria are surfaced; products without audience markup are excluded or deprioritized. Adding audienceType ("New Mothers", "Teenagers") catches life-stage gift queries that don't specify an exact age.

Should I use requiredMinAge or suggestedMinAge for age-restricted products?

Use requiredMinAge only for legally age-restricted products (alcohol accessories, certain health products, firearms-related items). For toy safety labeling like "recommended for ages 3+", use suggestedMinAge — it conveys a developmental recommendation, not a legal restriction. Misusing requiredMinAge for non-legal restrictions can mislead AI agents about the nature of the restriction.