Optimization Guide

Shopify Video Game Product Schema — gamePlatform, ESRB/PEGI Ratings & PC Game JSON-LD

When a parent asks an AI shopping agent "find me a Nintendo Switch game rated E for a 7-year-old," or a gamer asks "PlayStation 5 open-world RPGs under $60," the AI filters by platform, content rating, and genre simultaneously — using structured data that Shopify's default Product JSON-LD doesn't output for games. Schema.org's VideoGame type provides machine-readable properties for platform, rating system, genre, game edition, and multiplayer support. Without it, your game catalog is filtered by generic Product signals and will lose to any competitor who implements VideoGame markup correctly.

TL;DR Use @type: "VideoGame" instead of "Product" for game listings. Set gamePlatform using full platform names ("PlayStation 5", "Nintendo Switch", not "PS5"). Add contentRating with the rating system prefix: "ESRB E", "ESRB T", "ESRB M" for North America; "PEGI 3", "PEGI 12", "PEGI 18" for EU/UK. Use genre for the game category. Add gameEdition for special editions. Link DLC to base game via isPartOf. Map all values from game.* metafields via the Dawn Liquid snippet.

VideoGame @type: Why It Beats Product for Game Listings

Schema.org's VideoGame type extends both SoftwareApplication and CreativeWork, inheriting a vocabulary specifically designed for game products. It adds properties that Product cannot express: gamePlatform, genre, contentRating, gameEdition, numberOfPlayers, gamingPlatform, and playMode. These are the exact filters AI shopping agents apply when matching game queries.

The difference in query coverage is substantial. A game listed as Product with platform mentioned only in the description will match generic "video games" searches. A game listed as VideoGame with gamePlatform: "Nintendo Switch" and contentRating: "ESRB E10+" will match "Nintendo Switch games for 10-year-olds," "family-friendly Switch games," and "E10+ games Nintendo Switch" — queries that represent high-purchase-intent searches from parents buying for specific children.

VideoGame @type key properties

Property Type AI filter use Example
gamePlatform Text Platform compatibility filter "Nintendo Switch", "PlayStation 5"
contentRating Text Age-appropriateness filter "ESRB T", "PEGI 12"
genre Text Game category filter "Role-playing game", "Action-adventure"
gameEdition Text Edition disambiguation "Deluxe Edition", "Game of the Year"
operatingSystem Text PC platform compatibility "Windows 10/11", "macOS 12+"
numberOfPlayers QuantitativeValue Multiplayer capacity filter minValue: 1, maxValue: 4
playMode GamePlayMode Single/multi/co-op/competitive signal CoOp, MultiPlayer, SinglePlayer
isPartOf VideoGame DLC/expansion → base game link Points to base game VideoGame entity

ESRB Rating System: North America

The Entertainment Software Rating Board (ESRB) assigns age and content ratings to video games sold in the US and Canada. Include the full ESRB rating in the contentRating property, using the format "ESRB [rating code]". Add content descriptors as a second contentRating value for granular content signal.

ESRB Rating Code Age guidance contentRating value
Early Childhood EC Ages 3+ "ESRB EC"
Everyone E All ages "ESRB E"
Everyone 10+ E10+ Ages 10+ "ESRB E10+"
Teen T Ages 13+ "ESRB T"
Mature 17+ M Ages 17+ "ESRB M"
Adults Only 18+ AO Ages 18+ "ESRB AO"
Rating Pending RP Not yet rated "ESRB RP"

For PEGI ratings (EU/UK): use "PEGI 3", "PEGI 7", "PEGI 12", "PEGI 16", "PEGI 18". For a game sold in both North American and European markets, include both ratings as an array: "contentRating": ["ESRB T", "PEGI 16"]. AI agents serving regional queries will apply the appropriate rating system based on the user's locale.

Full VideoGame JSON-LD Example: Physical Console Game

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoGame",
  "name": "Starfall Chronicles — Collector's Edition",
  "description": "An epic open-world action RPG set across five distinct alien biomes. Features 80+ hours of main campaign, fully voiced companion system, and optional 4-player co-op online mode. Collector's Edition includes game disc, 200-page art book, and official soundtrack.",
  "url": "https://example.com/products/starfall-chronicles-collectors-edition",
  "sku": "GAME-SFC-CE-PS5",
  "gamePlatform": "PlayStation 5",
  "genre": ["Action role-playing game", "Open world", "Science fiction"],
  "contentRating": ["ESRB T", "PEGI 12"],
  "gameEdition": "Collector's Edition",
  "playMode": ["https://schema.org/SinglePlayer", "https://schema.org/CoOp"],
  "numberOfPlayers": {
    "@type": "QuantitativeValue",
    "minValue": 1,
    "maxValue": 4
  },
  "applicationCategory": "Game",
  "datePublished": "2025-11-15",
  "director": {
    "@type": "Person",
    "name": "Maya Chen"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Nexus Game Studios"
  },
  "copyrightHolder": {
    "@type": "Organization",
    "name": "Nexus Game Studios"
  },
  "image": {
    "@type": "ImageObject",
    "contentUrl": "https://cdn.shopify.com/…/starfall-chronicles-box.jpg",
    "description": "Starfall Chronicles Collector's Edition box art for PlayStation 5",
    "representativeOfPage": true
  },
  "offers": {
    "@type": "Offer",
    "price": "89.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/products/starfall-chronicles-collectors-edition",
    "condition": "https://schema.org/NewCondition"
  }
}
</script>

PC Game Pattern: operatingSystem and downloadUrl

PC games sold as digital codes on Shopify need additional properties to signal platform compatibility and redemption instructions. Use operatingSystem (inherited from SoftwareApplication) for Windows/macOS/Linux compatibility, and downloadUrl or the Offer description for platform redemption links.

{
  "@context": "https://schema.org",
  "@type": "VideoGame",
  "name": "Starfall Chronicles — PC Steam Key",
  "description": "Steam activation key for Starfall Chronicles on PC/Mac. Requires Steam client. Delivered via email within 5 minutes of purchase.",
  "gamePlatform": "PC",
  "operatingSystem": "Windows 10 or later / macOS 12 Monterey or later",
  "applicationCategory": "Game",
  "genre": ["Action role-playing game", "Open world"],
  "contentRating": ["ESRB T"],
  "softwareRequirements": "Steam client, 85 GB storage, NVIDIA RTX 2060 or equivalent",
  "downloadUrl": "https://store.steampowered.com/app/XXXXX",
  "offers": {
    "@type": "Offer",
    "price": "59.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "deliveryMethod": "https://schema.org/DeliveryModeDirectDownload",
    "description": "Steam activation key. Redeemable on Steam only. Activation instructions emailed after purchase.",
    "url": "https://example.com/products/starfall-chronicles-pc-key"
  }
}

The deliveryMethod: "DeliveryModeDirectDownload" on the Offer signals digital delivery, distinguishing this from a physical disc. AI shopping agents filter by delivery method for queries like "buy Steam games online" or "digital PS5 game codes." For physical vs. digital edition comparisons on the same page, use a ProductGroup with two variants distinguished by an additionalProperty with name "Format" and values "Physical" and "Digital".

DLC and Expansion Packs: isPartOf Pattern

Downloadable content, expansion packs, and season passes are VideoGame entities that require the base game. The isPartOf property links the DLC to the base game, enabling AI agents to answer "what DLC is available for [game]?" and to warn buyers that the base game is required.

{
  "@context": "https://schema.org",
  "@type": "VideoGame",
  "name": "Starfall Chronicles: The Void Expansion — DLC",
  "description": "Major story expansion for Starfall Chronicles. Adds 20+ hours of new campaign, 3 new biomes, and 2 new playable characters. Requires Starfall Chronicles base game.",
  "gamePlatform": "PlayStation 5",
  "genre": ["Action role-playing game", "Expansion pack"],
  "applicationCategory": "GameAddOn",
  "contentRating": ["ESRB T"],
  "isPartOf": {
    "@type": "VideoGame",
    "name": "Starfall Chronicles",
    "url": "https://example.com/products/starfall-chronicles-ps5",
    "gamePlatform": "PlayStation 5"
  },
  "offers": {
    "@type": "Offer",
    "price": "29.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "description": "Requires Starfall Chronicles base game (sold separately). Digital code for PlayStation Store."
  }
}

Dawn Liquid Snippet: VideoGame JSON-LD from Metafields

Save as snippets/video-game-schema.liquid. Renders from your product template for products tagged with "video-game". Uses a game.* metafield namespace for all game-specific properties.

{% comment %} video-game-schema.liquid — VideoGame JSON-LD from game.* metafields {% endcomment %}
{% if product.tags contains 'video-game' %}

{% assign g_platform    = product.metafields.game.platform %}
{% assign g_esrb        = product.metafields.game.esrb_rating %}
{% assign g_pegi        = product.metafields.game.pegi_rating %}
{% assign g_genre       = product.metafields.game.genre %}
{% assign g_edition     = product.metafields.game.edition %}
{% assign g_players_min = product.metafields.game.players_min | default: 1 %}
{% assign g_players_max = product.metafields.game.players_max | default: 1 %}
{% assign g_release     = product.metafields.game.release_date %}
{% assign g_publisher   = product.metafields.game.publisher %}
{% assign g_is_dlc      = product.metafields.game.is_dlc %}
{% assign g_base_game   = product.metafields.game.base_game_title %}
{% assign g_base_url    = product.metafields.game.base_game_url %}

{% assign g_content_ratings = '' %}
{% if g_esrb != blank %}{% assign g_content_ratings = 'ESRB ' | append: g_esrb %}{% endif %}
{% if g_pegi != blank %}
  {% unless g_content_ratings == '' %}{% assign g_content_ratings = g_content_ratings | append: '|' %}{% endunless %}
  {% assign g_content_ratings = g_content_ratings | append: 'PEGI ' | append: g_pegi %}
{% endif %}

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoGame",
  "name": {{ product.title | json }},
  "description": {{ product.description | strip_html | truncatewords: 60 | json }},
  "url": "{{ shop.url }}{{ product.url }}",
  "sku": {{ product.selected_or_first_available_variant.sku | json }}
  {% if g_platform != blank %},"gamePlatform": {{ g_platform | json }}{% endif %}
  {% if g_genre != blank %},"genre": {{ g_genre | json }}{% endif %}
  {% if g_edition != blank %},"gameEdition": {{ g_edition | json }}{% endif %}
  {% if g_release != blank %},"datePublished": {{ g_release | json }}{% endif %}
  {% if g_publisher != blank %},"publisher": { "@type": "Organization", "name": {{ g_publisher | json }} }{% endif %}
  {% unless g_content_ratings == '' %}
  ,"contentRating": {% assign cr_parts = g_content_ratings | split: '|' %}{% if cr_parts.size == 1 %}{{ cr_parts[0] | json }}{% else %}{{ cr_parts | json }}{% endif %}
  {% endunless %}
  {% if g_players_max > 1 %}
  ,"numberOfPlayers": { "@type": "QuantitativeValue", "minValue": {{ g_players_min }}, "maxValue": {{ g_players_max }} }
  {% endif %}
  {% if g_is_dlc == true or g_is_dlc == 'true' %}
  ,"applicationCategory": "GameAddOn"
  {% if g_base_game != blank %}
  ,"isPartOf": { "@type": "VideoGame", "name": {{ g_base_game | json }}, "url": {{ g_base_url | json }} }
  {% endif %}
  {% 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 %},
    "condition": "https://schema.org/NewCondition",
    "url": "{{ shop.url }}{{ product.url }}"
  }
}
</script>
{% endif %}

game.* metafield namespace

Metafield Type Maps to Example
game.platform Single line text gamePlatform Nintendo Switch
game.esrb_rating Single line text contentRating (ESRB prefix added) E10+ → output as "ESRB E10+"
game.pegi_rating Single line text contentRating (PEGI prefix added) 12 → output as "PEGI 12"
game.genre Single line text genre Action role-playing game
game.edition Single line text gameEdition Collector's Edition
game.players_min Integer numberOfPlayers.minValue 1
game.players_max Integer numberOfPlayers.maxValue 4
game.publisher Single line text publisher.name Nexus Game Studios
game.release_date Date datePublished 2025-11-15
game.is_dlc True/false applicationCategory: "GameAddOn" true
game.base_game_title Single line text isPartOf.name Starfall Chronicles

5 Common VideoGame Schema Mistakes on Shopify

# Mistake Impact Fix
1 Using Product @type instead of VideoGame All game-specific properties (gamePlatform, contentRating, genre) are unavailable on Product. Platform and rating queries cannot be matched. Google Rich Results won't show game-specific carousels Change "@type": "Product" to "@type": "VideoGame" in product JSON-LD for all game listings
2 Using abbreviated platform names ("PS5", "XSX") instead of full canonical names AI agents queried for "PlayStation 5 games" filter on "PlayStation 5" — not "PS5". Abbreviated forms may match some agents but fail others, creating inconsistent coverage Use full canonical platform names: "PlayStation 5", "Xbox Series X", "Nintendo Switch", "PC". Abbreviations belong in the product title; the structured data property needs the canonical form
3 Missing PEGI ratings for EU market games EU-based AI shopping agents default to PEGI as the age filter. A game with only "ESRB T" in contentRating will fail PEGI-based age filtering for European buyers — showing as "no age rating" rather than "PEGI 12" For games sold in both NA and EU, include both ratings as an array: ["ESRB T", "PEGI 12"]
4 DLC listed as standalone Product without isPartOf link to base game AI agents recommending DLC cannot verify that the base game is required, leading to buyer complaints when DLC is purchased without the base game. Also, "what DLC exists for [game]?" queries can't be answered without the isPartOf link Set isPartOf on every DLC/expansion pointing to the base game's VideoGame entity. Add applicationCategory: "GameAddOn" to signal add-on status
5 No genre property — relying on product tags or title for genre signals AI agents filtering for "action RPGs under $50" or "co-op games for two players" cannot match genre queries without structured genre data. Product tags and title-based genre parsing is unreliable and inconsistent Add genre with the primary genre (and optionally subgenre as an array) using canonical genre names: "Role-playing game", "Action-adventure", "Strategy", "First-person shooter", "Sports", "Puzzle"

Frequently Asked Questions

Should I use VideoGame or Product @type for game listings on Shopify?

Use VideoGame for any game (physical disc, digital code, DLC). VideoGame extends SoftwareApplication + CreativeWork and unlocks gamePlatform, contentRating, genre, gameEdition, and numberOfPlayers. Only gaming peripherals (controllers, headsets) remain Product @type. For software products that are not games, see Shopify Software Application Schema.

How do I encode ESRB ratings in schema.org?

Use contentRating with the format "ESRB [code]": "ESRB E", "ESRB E10+", "ESRB T", "ESRB M", "ESRB AO". Include content descriptors as a second contentRating value if relevant. For multi-region games, include both ESRB and PEGI values as an array. AI shopping agents use the rating system prefix to apply the correct regional age filter.

What gamePlatform values should I use?

Use full canonical names: "PlayStation 5", "PlayStation 4", "Xbox Series X", "Xbox Series S", "Xbox One", "Nintendo Switch", "PC", "Mac", "iOS", "Android". Never use abbreviations ("PS5", "XSX") as the primary structured data value — they belong in the product title only. For multi-platform games, output gamePlatform as an array.

How do I handle DLC and expansion packs in schema?

Set isPartOf on the DLC pointing to the base game VideoGame entity. Set applicationCategory: "GameAddOn" to distinguish it from standalone games. AI agents use the isPartOf link to answer "what DLC is available?" queries and to include the prerequisite base game in purchase recommendations. For digital delivery of codes, see Shopify Digital Product Delivery Schema.

How do I differentiate physical vs digital editions in schema?

Physical editions: standard Offer with normal shipping delivery method. Digital code editions: add deliveryMethod: "https://schema.org/DeliveryModeDirectDownload" to the Offer and include downloadUrl on the VideoGame pointing to the redemption platform. For a page selling both, use a ProductGroup with variants distinguished by an additionalProperty Format field. For subscription gaming services, see Shopify Subscription Products & AI Agents.

Are your game listings invisible to platform and rating AI filters?

CatalogScan audits your Shopify store's structured data and identifies games using generic Product @type, missing contentRating, absent gamePlatform, and DLC without isPartOf links — across your entire game catalog.

Run Free Scan

Related Resources