What is semantic enrichment in ecommerce?
Semantic enrichment is the work of making explicit what each piece of product data means so a machine does not have to interpret it: declaring what kind of thing it is, using properties from a shared vocabulary such as schema.org, normalizing values with units, codes and closed lists, and linking each entity with stable identifiers.
Key takeaways
- Filling in a field says what it is worth; enriching it semantically says what it means, so a machine does not have to guess.
- Schema.org supplies the types and properties, and Google uses the markup it finds to understand the page.
- An ambiguous value, like a '30' with no unit or a date like 04/01/11, is resolved with units, codes and standard formats.
- The category a machine understands comes from a public taxonomy, like Google's, not from the name of a store collection.
- If the store does not make the meaning explicit, the platform infers it, and Shopify warns that its inferred fields can vary in accuracy.
In libraries, archives or language processing, semantic enrichment means annotating a text with the entities it names. In an online store it is the same thing applied to product data: it is not about adding data, but about saying what each piece of it means. That is why it is not another name for catalog enrichment, which fills in and corrects the values of each field. A field can be full and still be ambiguous: "Capacity: 30" does not say whether it is liters or kilos, and "Category: New arrivals" does not say what the product is. It matters to you because anyone reading your catalog from outside, whether Google or an AI assistant, has to interpret each value, and what is not said gets guessed. Google puts it this way: you can help it understand a page by giving it explicit clues about its meaning with structured data.[1]Google Search Central. Introduction to structured data markup in Google Search
How it works
Semantic enrichment is done with four operations, from the most general to the most specific.
1. Say what kind of thing it is. An HTML tag tells the browser how to display a piece of text, but not what it means. Schema.org's example is a heading that says "Avatar": it could be the movie or a profile picture, and the code cannot tell them apart.[2]Schema.org. Getting started with schema.org using Microdata Declaring that a page describes a Product, that its maker is a Brand and that whoever sells it is an Organization turns a piece of text into a typed entity. Google uses the structured data it finds to understand the content of the page and to gather information about the world, such as the people, books or companies that appear in the markup.[1]Google Search Central. Introduction to structured data markup in Google Search
2. Use shared properties. Instead of a label of your own like "Col." or "Fabric," the properties the vocabulary defines: color, material, gtin. For what has no property of its own, schema.org offers additionalProperty with a value of type PropertyValue, which accepts a propertyID, the usual identifier for that characteristic, such as the code from a product-properties standard, and a unitCode, the unit according to the UN/CEFACT common code, three characters long, or a URL.[3]Schema.org. PropertyValue
3. Normalize the values. Some data a machine cannot interpret without a convention. Schema.org uses a date as its example: "04/01/11" could be January 11, 2004, April 1, 2011 or January 4, 2011, and the fix is to write it in ISO 8601 format. The same goes for closed lists, like availability, which is expressed with fixed values such as https://schema.org/InStock and not with an "only a few left."[2]Schema.org. Getting started with schema.org using Microdata A number without a unit, a date without a format and a status in free language are the three most common semantic gaps.
4. Link with stable identifiers. The GTIN identifies the product outside your store; sameAs links the brand to a reference page about it, and schema.org explains that links to third-party sites about the same item help search engines better understand what you are describing.[2]Schema.org. Getting started with schema.org using Microdata Category works the same way: Google Merchant Center accepts Google's category as a full path or as a numeric ID, and recommends the ID.[4]Google Merchant Center Help. Product data specification In Google's taxonomy, "Luggage & Bags > Backpacks" is category 100.[5]Google. Google Product Taxonomy (taxonomy-with-ids.en-US.txt) It is someone else's product taxonomy, which is why whoever reads it understands it.
If you don't do it, the platform does
Shopify Catalog, the product database Shopify uses to supply AI channels, does part of this work on its own. In December 2025, Shopify explained that the catalog infers categories, extracts attributes, consolidates variants and groups identical items so AI can understand the data.[6]Shopify Newsroom. Introducing Shopify Agentic Storefronts: Sell your products everywhere AI conversations happen Its developer documentation adds the fine print: some fields are inferred by Shopify's AI, may be missing or of varying accuracy depending on the available product data, and are marked as inferred.[7]Shopify (shopify.dev). About Catalogs The lesson is not about Shopify: what the store does not make explicit, someone infers, and the store stops deciding what its data means.
In a store
Fictional example. A mountain gear store sells a 30-liter backpack. Its product page has every field filled in, and yet almost all of them are ambiguous to a machine:
| Data | Complete but ambiguous | With the meaning explicit |
|---|---|---|
| What it is | A page with a title | A Product |
| Brand | The text "Trailhead" | A Brand with its name and sameAs to its official site |
| Capacity | "Capacity: 30" | A PropertyValue with name, value 30 and a declared unit |
| Category | "Fall arrivals" | Google category 100, "Luggage & Bags > Backpacks" |
| Availability | "Only a few left" | https://schema.org/InStock |
| Identifier | An internal code | The manufacturer's GTIN, in addition to the SKU |
In JSON-LD, the right-hand column looks like this:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trailhead 30 Backpack",
"brand": {
"@type": "Brand",
"name": "Trailhead",
"sameAs": "https://trailhead.example/"
},
"sku": "TRAIL30-BLK",
"additionalProperty": {
"@type": "PropertyValue",
"name": "Capacity",
"value": 30,
"unitText": "liters"
},
"offers": {
"@type": "Offer",
"availability": "https://schema.org/InStock"
}
}
The text on the product page has not changed; what has changed is what a machine can state about it without guessing. Clione, for example, publishes a single @graph on each product page whose product node carries a stable @id and coexists with the theme's instead of duplicating it.
What people often get wrong
Thinking that enriching semantically means writing descriptions with more synonyms and related words, which is how semantic SEO is sometimes understood. The semantics a machine reads are not in the vocabulary density of the text, but in the markup: the type, the property and the normalized value. Schema.org exists precisely because an HTML tag does not say what the text it contains means.[2]Schema.org. Getting started with schema.org using Microdata
How to check it
- Run a product page URL through the schema validator and see which types it detects. If only a web page shows up, the product is not declared as such.
- Look for numbers without units in your attributes: capacity, weight, dimensions, power. Each one needs its unit in a field, not in the product name.[3]Schema.org. PropertyValue
- Look at how you send the category to Merchant Center. If you send your collection's name instead of a category from Google's taxonomy, swap it for the ID.[4]Google Merchant Center Help. Product data specification[5]Google. Google Product Taxonomy (taxonomy-with-ids.en-US.txt)
- Review availability in the markup: it has to be one of schema.org's fixed values, not text.[2]Schema.org. Getting started with schema.org using Microdata
- Check the brand: if it is only text, declare it as an entity and, if the brand has a reference page, link it with
sameAs.
Related concept: catalog enrichment
The two jobs are done on the same product catalog and often go together, but they answer different questions. Catalog enrichment answers what each field is worth: it fills in the missing material, fixes a GTIN or writes a description. Semantic enrichment answers what that value means to a machine: that the material is the material property of a Product, that the 30 is liters, that the category is Google's 100. A catalog can be complete and semantically poor, but not the other way around: you cannot declare the meaning of a value that does not exist.
To go further, the catalog and entities reading path orders the rest of the terms, up to the product graph, which brings all these entities together in a single piece of markup.
Synonyms
- English
- semantic enrichment, semantic annotation
- Español
- enriquecimiento semántico de datos, anotación semántica
Sources
- [1] Google Search Central. Introduction to structured data markup in Google Search. Accessed . ↑ ↑
- [2] Schema.org. Getting started with schema.org using Microdata. Accessed . ↑ ↑ ↑ ↑ ↑
- [3] Schema.org. PropertyValue. Accessed . ↑ ↑
- [4] Google Merchant Center Help. Product data specification. Accessed . ↑ ↑
- [5] Google. Google Product Taxonomy (taxonomy-with-ids.en-US.txt). Accessed . ↑ ↑
- [6] Shopify Newsroom. Introducing Shopify Agentic Storefronts: Sell your products everywhere AI conversations happen. Accessed . ↑
- [7] Shopify (shopify.dev). About Catalogs. Accessed . ↑
Change history
- First English version.
This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.
Related terms
Catalog enrichment
What catalog enrichment is, what data it completes on each product and how to tell original data, inferred data and the human decision apart.
Structured data
What structured data is, which pieces make it up, what a store gets from it according to Google, and how to check it matches the product page.
Schema.org
What Schema.org is, who maintains it, how its types and properties are organized, and why it is not the same as the format or as what Google requires.
Entity
What an entity is in SEO: an identifiable thing, not a keyword. How Google recognizes one and how a store describes its brand and products.
Product taxonomy
What a product taxonomy is, how it differs from your store's categories, how Google, Shopify and ChatGPT use it, and how to design a small one.
sameAs
What the Schema.org sameAs property is, which links it takes and which it does not, where Google uses it (Organization, authors) and how to review yours.
Make your catalog easy for bots to read
Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.