PersonalizeIQ
AI personalization for e-commerce

On-Site Search Personalization: Rank by Intent, Not Popularity

Most store search ranks by what sells most. That is the wrong signal for a shopper who typed a specific need into the box.

Search should rank by the shopper's intent, which shows up in the query, the filters they used, and the products they already viewed. Popularity is a tiebreaker, not the ranking. A search that returns bestsellers for a specific query is a catalog, not a search.

What the query actually says

A shopper who types waterproof hiking boots size 10 has given the store four signals in five words: a category, a feature, and a size. A search that returns the store's bestselling boots, then filters by nothing, has ignored three of the four signals. The shopper scrolls, finds nothing in their size, and leaves. The store records a search with no click and learns nothing.

The fix starts with the query itself. Parse it for the attributes it contains, size, color, material, use case, and rank products that match all of them first. Shopify's Search and Discovery app supports synonym groups and custom ranking, and most stores never configure either. The default ranking is popularity, which is the ranking for a shopper with no intent at all. A shopper who typed a query has intent. Use it.

Related reading on this site: PersonalizeIQ and Browse Abandonment Is Not Cart Abandonment: Two Segments, Two Messages cover the neighbouring problems in more depth.

Session signals beat history

A shopper's history helps, but the current session helps more. The products they viewed in the last ten minutes, the filters they applied, and the category they came from are fresher and more specific than anything in their profile. A returning buyer who viewed three trail running shoes and then searches for shoes wants trail running shoes, not the dress shoes they bought last year.

The mistake is personalizing from the profile first and the session second. Profiles are stale the moment the shopper's need changes, and needs change constantly: a gift buyer, a replacement buyer, and a first-time buyer are three different people in the same account. Session signals catch the current need. Profile signals should only break ties.

The zero-result problem

The most honest metric in search is the zero-result rate. A query that returns nothing is a shopper telling the store what they want and the store answering that it does not have it. Most stores never look at this list, which is a shame, because it is the cheapest product research available. The top zero-result queries are either products to stock, synonyms to add, or spellings to fix.

Add the synonym first. If shoppers search for trainers and the catalog calls them sneakers, a synonym group fixes the zero results in minutes. Then check the spelling: a query with a typo that returns nothing is a search configuration failure, not a shopper failure. The stores that treat zero-result queries as a weekly report, not a dead end, fix their search faster than any ranking tweak ever will.

Frequently asked questions

Should search rank by popularity or relevance?

By relevance to the query first. Popularity is a tiebreaker. A shopper who typed a specific need wants products that match it, not the store's bestsellers.

What session signals matter for search?

The products viewed in the last ten minutes, the filters applied, and the category the shopper came from. Session signals are fresher than profile history and catch the current need.

What is a zero-result search?

A query that returns no products. It is a shopper stating a need the store cannot meet, and the top zero-result queries are the cheapest product research a store has.

How do synonyms help store search?

They map the words shoppers use to the words in the catalog. If shoppers search for trainers and the catalog says sneakers, a synonym group fixes the zero results in minutes.

© 2026 PersonalizeIQ · 447 Broadway, 2nd Floor #796, New York, NY 10013 · llms.txt