Field notes on Shopify's semantic search: what the model actually reads, and what it finds in an unprepared catalog.
A shopper types "something to wear in the summer" into a Shopify search bar and gets shorts. The shopper never typed the word shorts. Nothing in the query names the product at all.
Under the rules every merchant learned, that result is impossible. Search matches strings, and no string in that sentence points at a pair of shorts.
The example comes from Shopify's own changelog, and it isn't a glitch. The engine underneath storefront search changed, and most catalogs haven't noticed yet.
The game we all learned
Storefront search used to be a matching game. The customer typed words, the engine looked for products containing those words, with a little prefix help on the last term so "snow" could find "snowboard".
Being findable was a craft of string placement. Synonyms went into tags. Misspellings went into tags. The tag field on a mature store reads like an archive of typos, lovingly maintained.
We built catalog operations on that model, and so did everyone else. If the machine matches strings, you feed it strings.
Someone swapped the engine
In June 2024, Shopify's changelog opened Semantic Search to the Shopify and Advanced plans through the free Search & Discovery app. Today the help center lists Grow, Advanced, and Plus. If your store qualifies, semantic understanding is simply part of online store search now; there is no switch to find.
The mechanism: an embedding takes your product's text and images and turns them into a long list of numbers, a point in a space where distance means similarity of meaning. The query becomes a point in the same space. The engine stops asking which products contain these words and starts asking which products sit near this meaning.
And it runs at platform scale. Shopify's engineering team describes pipelines generating roughly 2,500 embeddings per second, about 216 million a day, so an edited product gets re-read in near real time.
Nerd detail, skip freely: the pipelines are streaming Dataflow jobs, not nightly batches, because merchants expect an edit to be findable immediately. That freshness requirement is the whole reason the system is real-time.

It reads the photos too
The help center is unusually specific about the inputs. Semantic understanding uses the product description plus image data, "text that's part of the image itself and colors". Straight from the pixels.
Shopify's own example: a search for "christmas party shoes" can surface red pumps. No product mentions christmas. The model connected christmas with red, and party shoes with pumps.
A product photo is now a search field.

Missing keywords, missing meaning
Our first instinct was to file this under SEO with extra steps: keep stuffing, the model will sort it out. That instinct is backwards, and it took opening real catalogs to see why.
A description that says "Premium quality. Fast shipping. Order today." embeds to a point near every other description that says nothing. The old engine punished missing keywords. The new one punishes missing meaning, and meaning is exactly what thin product data doesn't have.
Across the 642,000+ SKUs we've processed, the most common defect is not wrong data. It's empty data: no material, no fit, no occasion, no use case, photos that quietly contradict the variant they're attached to. Under keyword search that was a conversion problem. Under semantic search it's a visibility problem, because the model can only embed what you gave it.
The fine print that decides if this is you
Semantic search runs on stores with fewer than 200,000 products, on the Grow, Advanced, and Plus plans, multilingual since September 2024, Japanese locale excepted. And it does not apply to predictive search: the suggestions under the search bar are still built from the words and phrases in your catalog, the old string machine.
Which means both engines are reading your catalog at once, and they want different things. The old one wants your strings. The new one wants your products to mean something.
What this asks of a catalog
- Write descriptions that carry attributes a model can use: material, fit, season, occasion, use case. Meaning-bearing beats keyword-bearing.
- Treat images as data. Colors and on-image text are being read, so a photo that contradicts its variant is now feeding the index.
- Keep the synonym lists. Search & Discovery still uses them, and predictive search still lives on strings.
- The work compounds: the same structured attributes feed Google, storefront filters, and now the vector.
Somewhere today a shopper is typing a sentence no merchant would ever put in a tag, and a model is deciding whether your products sit anywhere near it.
The shorts got found. Yours might not be.
If you want to know what the model sees when it reads your catalog, OKART's Infrastructure Stress-Test includes a product-data pass, read-only, delivered in 48-72 hours.
Sources
- Modifying search with Shopify Search & Discovery: semantic search requirements (product count, plans, locale, predictive search exclusion), the product attributes semantic understanding uses, and the christmas party shoes example.
- Semantic Search is now available on more plans: June 2024 rollout to more plans and the summer search example.
- Semantic Search now supports more languages: September 2024 multi-language expansion via the free Search & Discovery app.
- How Shopify improved consumer search intent with real-time ML: embedding pipeline throughput (2,500 per second, 216 million per day) and the real-time freshness requirement.
- Storefront search overview: AI-powered search behaviors, typo tolerance, and synonym groups in Search & Discovery.
- Storefront search parameters: prefix matching and storefront search query parameters.





Share:
The platform made $1.5 billion. The layer above it made $6.9 billion.
The fastest way to audit an app is to take it away