Retail and e-commerce/Search inputs

Search results that know what this shopper tried.

Signals tells your search engine what this shopper has typed, clicked and skipped this visit, so the fourth search can be ranked differently from the first.

Higher search conversion

Turn more searches into orders by ranking the fourth search differently from the first.

Search conversion moves when the ranker can tell a shopper's fourth query from their first. Signals gives your search engine this visit's searches, result clicks and dead ends, so it can loosen the match, weight the category the shopper has been browsing, drop what they opened and left, or put help above the list.

Loosen the match when nothing has been clicked

A shopper typed "linen shirt navy", then "navy linen shirt", then "blue linen shirt", and clicked nothing on any of the three lists. The ranker scores each query as it arrives, and what the shopper did with the two before it arrives after the third list is on the screen. Three searches with no click say the catalog's words are not this shopper's words. The next list should match more loosely, or show the nearest categories, while the shopper is still at the search box.

What Signals knows
searches_session
Searches run this visit
result_clicks_session
Results opened from a search this visit
last_queries_session
The queries typed this visit
What your search engine does

Switches to a looser match and shows the nearest categories above the list once a visit reaches three searches with no result opened, and passes the earlier queries in as synonyms for this one.

search.tsx · 16 lines
// In the code that sends a search request to your search engine
const shopper = await signals.getServiceAttributes({
  name: "shop_search_dead_end",
  attribute_key: "domain_sessionid",
  identifier: sessionId,
});
// { searches_session: 3, result_clicks_session: 0, last_queries_session: ["linen shirt navy", "navy linen shirt", "blue linen shirt"] }

if (shopper.searches_session >= 3 && shopper.result_clicks_session === 0) {
  search.query({
    q: query,
    synonyms: shopper.last_queries_session,
    match: "loose",
    showCategories: true,
  });
}

Try it on your own site.

Add the SDK, define one thing you want to know about a visitor, and watch it update while you click around. The free tier runs on the real engine: no card, no sales call.