NEWSLayers closes first external funding round led by LOI VentureRead more
‹ All Articles

Why Your Synonym List is a Bug, Not a Feature

Deb MukherjeeDeb Mukherjee12 min read

In this article

Key takeaways

  • A synonym list is a workaround for an engine that can't understand language, not a feature you should have to maintain.
  • Shopify Search & Discovery caps custom synonyms at 20 per group and 1,000 store-wide, each unique to the whole store. At Plus scale, that ceiling is a wall.
  • Synonym upkeep scales with catalog size, launch cadence, and number of languages, so the cost recurs every month and never compounds in your favor.
  • Semantic query expansion handles "sofa" and "couch," or "sneakers" and "trainers," because the engine learned they mean the same thing, not because you typed both into a list.
  • A few manual terms still earn their keep: brand-coined names, deliberate redirects, compliance language. Everything else is debt.

There is a ticket that never leaves your board. A shopper searched for "trainers," your catalog says "sneakers," and the results came back empty.

So someone adds "trainers" as a synonym for "sneakers." Again. Third time this quarter, because the last two launches added new words and nobody updated the list in time.

That ticket gets treated as routine. It shouldn't be. It is your search engine sending you a monthly invoice for something it should do on its own: understand that two words can mean the same thing.

A synonym list is the most normalized workaround in ecommerce search. Nearly every Shopify Plus store carries one, and nearly every team that maintains one has accepted it as the cost of doing search.

This piece makes the opposite argument. The list is not a feature you chose. It is a symptom of an engine that can't read language, and at Plus catalog scale it gets more expensive every month you keep it.

What is a synonym list, and why does your search need one?

A synonym list is a manual table of equivalent terms a keyword engine uses to match shopper language to catalog language. It exists because keyword matching compares text to text. When the words differ, the engine sees no match unless a human has already listed the pair.

That is the whole mechanism. A keyword engine takes the shopper's words and looks for those exact words in your product fields. "Couch" finds products that contain "couch."

If your titles all say "sofa," the engine returns nothing. To a text-matching system, "sofa" and "couch" are as unrelated as "sofa" and "bicycle."

The synonym list is the patch. You hand the engine a dictionary of equivalences so it can pretend to understand that the two words point at the same thing.

It works, narrowly. The problem is who does the understanding. In a keyword setup, that burden sits on a person updating a table, not on the engine reading meaning.

Ranking in a modern engine runs on several signal groups at once, including semantic similarity and keyword matching. A synonym list is a manual prop you build under the keyword signal, because the engine has no semantic signal to lean on.

What does maintaining a synonym list actually cost?

Maintaining a synonym list costs recurring merchandiser time, and it is capped. Shopify allows 20 synonyms per group and 1,000 store-wide. The bill climbs with catalog size, launch cadence, and the number of markets you sell into, so it recurs every month and never finishes.

Take the drivers one at a time. More products mean more terms shoppers reach for. Every new collection introduces language the list has never seen.

And every market multiplies the naming problem. US "sneakers," UK "trainers," and AU "runners" are three entries for one concept, repeated across the entire catalog.

That ceiling matters more than it sounds. Shopify Search & Discovery also requires each synonym to be at most five words and unique across your whole store, so the same term can't live in two groups.

On a 20,000-SKU multi-region catalog, 1,000 store-wide runs out fast, and you end up triaging which misses to fix and which to live with.

The time cost is real and recurring. We've seen teams spend anywhere from a few hours to most of a day each month on it: maintaining the list, auditing misses, patching what the latest launch broke, reconciling regional terms.

And the search still misses words the list hasn't caught up to yet.

None of that work compounds. It is pure maintenance that resets every month.

How does semantic search handle synonyms without a list?

Semantic query expansion enriches a search with synonyms, related terms, and alternative phrasings, so the engine matches "couch" to "sofa" without a manual list. The understanding is learned, not maintained, which means new products and regional terms are covered by default.

Instead of a human listing equivalences, the engine understands them. Our AI Search reads meaning, so query understanding enriches the shopper's query with related terms on its own:

  • "Sneakers" is understood alongside "athletic shoes" and "trainers."
  • "Couch" is understood alongside "sofa" and "loveseat."
  • Abbreviations resolve the same way, so "lbd" becomes "little black dress" and "pjs" becomes "pajamas."

None of it lives in a table you own. The query interpretation layer handles the same expansion because the meanings cluster. Words with similar meaning sit close together in vector space, so the engine groups them on its own.

None of this is new. Google rebuilt ranking around understanding language instead of matching keywords, because, as it put it, "Search is about understanding language."

On-site search has improved the same way. NNGroup found ecommerce search success climbed from 64% in 2000 to 92% in 2017. The lift came largely from smarter algorithms and autosuggest, not from longer synonym lists.

Functional search is now the shopper's baseline expectation. The broader picture is still uneven, though. Baymard catalogued more than 700 search-specific usability issues across the leading sites it tested.

One honest boundary: switching to semantic doesn't mean zero configuration ever. You still steer merchandising in plain English through Search Instructions, and core behaviors like embedding similarity have their own settings.

What changes is that you stop hand-maintaining a term dictionary. You keep the control; you drop the chore.

We built expansion this way on purpose. The first thing teams tell us in onboarding is that they're afraid of losing the synonyms they spent two years building. Within a week the list is a fallback they forget to look at.

When is a manual synonym still worth keeping?

Manual terms still make sense for a few things: brand-coined names the model can't infer, deliberate query-to-landing-page redirects, and compliance-driven language. These are editorial decisions, not gap-filling.

The rule of thumb: if you're adding a term because the engine can't understand language, it's a workaround. If you're expressing a business decision the engine couldn't infer, it's merchandising.

Semantic understanding covers natural language. It does not, and should not, invent intent that is specific to your business. Three categories of manual term still belong, and each one is a deliberate choice:

  • Brand-coined names. If you sell "the Cloudwalker" and shoppers also search "running shoe," the model has no way to know those map together until you teach it once. That is a deliberate, one-time decision, not a recurring patch.
  • Deliberate redirects. Sometimes a query should route to a landing page or a curated collection rather than a product set. That is a merchandising decision, not a hole in the engine's vocabulary.
  • Compliance or policy language. Terms you must surface, or must never surface, for legal or brand-safety reasons are rules you own on purpose.

The test is intent. The same word can be debt or strategy depending on why you added it. If the engine should have understood it, the term is a bug report. If only your team could have known the mapping, it is real merchandising work.

What this looks like in practice

Picture a basics label scaling from one market into the UK and Australia.

Their catalog says "knickers." US shoppers search "panties." Australian shoppers search "undies." Their merchandiser keeps a synonym list that has grown into the hundreds, and it still misses a fresh term every season because intimates vocabulary fragments by region and by trend.

"Bandeau" or "strapless." "Loungewear" or "athleisure." Each launch adds words; each new market multiplies them. The list is never wrong, exactly. It is just always behind.

The fix is a matching layer that reads meaning, so "panties," "knickers," and "undies" resolve to the same products.

The list stops being load-bearing. The merchandiser stops spending the back half of every launch week patching vocabulary.

This is the operator-time story. The business-results story is separate. It comes from the whole search and merchandising stack working together, not from retiring synonyms alone.

Across our customers, that full stack drives a +13% lift in conversion and +14% in revenue per visitor.

Layers doesn't just merchandise, it also finds the strategy and provides unparalleled control, all while saving us hours we didn't know we were losing. Not to mention, we've seen a massive lift in key KPIs.

Brittany Csik, eCommerce Manager, Negative Underwear (quote from the Layers homepage)

How do you retire a synonym list without breaking search?

To retire a synonym list safely, do it in stages, not all at once. Export and categorize every entry. Convert the keepers into deliberate configuration. Run semantic expansion in shadow, measure before and after, then deprecate the language-gap entries once expansion covers them.

You do not have to cut over blind, and you should not. Here is the sequence we walk teams through.

  1. Inventory. Export your current synonym list. Tag each entry as one of four things: a language gap (most of them), a brand-coined name, a redirect, or a compliance rule.
  2. Keep the keepers. The brand-coined, redirect, and compliance entries become deliberate configuration through Search Instructions and redirects. They are getting promoted from debt to decision.
  3. Shadow. Run semantic expansion alongside the existing list. Let both operate while you watch.
  4. Measure. Run the synonym-pair test below before and after, and watch your zero-result rate on the language-gap pairs. Synonym fragmentation is only one of six ways search leaks revenue, which is why a bigger list never fixes the whole thing.
  5. Deprecate. Once the language-gap entries are covered and the misses fall to near zero, retire them. Stop maintaining the table.

The point of shadowing is confidence. You prove the engine covers what the list covered before you take the list away.

Which synonyms is your store missing right now?

You can quantify your own fragmentation this afternoon. Pick 20 same-meaning pairs that matter for your catalog, and run both terms on your live store.

Flag any pair where one term returns dozens of products and the other returns zero. That gap is synonym fragmentation, and the count is your maintenance debt made visible.

Starter pairs, swap for your category:

  • sofa / couch
  • sneakers / trainers
  • bandeau / strapless
  • loungewear / athleisure
  • brief / knicker
  • beanie / toque
  • hoodie / jumper
  • sunglasses / shades
  • backpack / rucksack
  • raincoat / mac

Write the results in two columns: term A count, term B count, and the gap. Any non-trivial gap is a vote for retiring the list and changing the layer underneath it.

Run the 20 pairs, then book a demo and we'll run the same 20 live against your catalog, on a search engine that never needed the list.

Stop maintaining the list

The synonym list was always a workaround for an engine that couldn't read language.

It costs merchandiser time every month, it caps out at Shopify's 1,000-term ceiling, and it breaks a little more with every launch and every new market.

Run the 20 pairs on your store. If the gaps are there, you already have your answer.

The few terms worth keeping are the ones that express a real decision only your team could make. The engine covers the rest.

If you want to see what search looks like when the list is a fallback nobody checks, schedule a demo. We'll bring your own terms.

FAQs

1. Do I still need a synonym list with semantic search? Mostly no. Semantic query expansion understands that different words can describe the same product, so it handles the language gaps a synonym list was built to patch. You keep a small number of manual terms for brand-coined names, deliberate redirects, and compliance language, and you retire the rest.

2. What is a synonym list in ecommerce search? A synonym list is a manual table of equivalent terms a keyword search engine uses to match shopper language to your catalog language, for example treating "couch" and "sofa" as the same word. It exists because keyword matching compares text to text and sees no match when the words differ.

3. How many synonyms can Shopify Search & Discovery have? Shopify allows a maximum of 20 synonyms per synonym group and 1,000 synonyms store-wide. Each synonym can be a single word or up to five words, and each must be unique across your whole store.

4. Is semantic search better than synonym dictionaries? For language coverage, yes. A synonym dictionary only matches pairs a human has already entered, so it is always behind your catalog. Semantic search understands meaning, so it covers new products and regional terms by default. Synonym dictionaries still help for a few deliberate, business-specific mappings.

5. How do I stop maintaining synonyms on my store? Move the matching layer to semantic search, keep only the brand-coined, redirect, and compliance terms as deliberate configuration, and run the new layer in shadow alongside your list until its misses fall to near zero. Then deprecate the language-gap entries. The migration sequence above walks through it.

6. When are manual synonyms still worth keeping? When they express a business decision the engine could not infer: brand-coined product names, queries you deliberately route to a landing page, and compliance-driven language. The test is intent. If you are adding a term because the engine cannot read language, it is a workaround. If only your team could have known the mapping, it is merchandising.

7. Will moving off a synonym list hurt my search relevance? Not if you shadow first. Run semantic expansion alongside the existing list, measure your zero-result rate on same-meaning pairs before and after, and only retire entries once the engine demonstrably covers them. You prove coverage before you remove the list.

8. Why does my synonym list keep missing new terms? Because it only knows the pairs you have entered. Every product launch, trend, and new market introduces shopper words the list has not caught up to yet, which is why maintenance recurs and never finishes. An engine that understands meaning covers those terms without a manual entry.

About the author

Deb Mukherjee writes about ecommerce search and merchandising for Layers, the enterprise search and merchandising platform built for Shopify Plus. He works with Plus brands on search relevance, merchandising strategy, and the hidden operational cost of tools that look like features.