Skip to content

Relaxing search criteria

Not all search experiences are extraordinary experiences. A typical poor experience happens when the visitor receives few or poor results on a search result page. The cause can be one of the following:

  • The search query was poorly chosen, overly specific, or misspelled.
  • The search engine cannot figure out the correct interpretation of the query.
  • The retailer does not offer a solution to the visitor’s problem.

Whatever the reason, if the visitor believes they can't find what they are looking for, they may leave the site entirely at this point. To avoid this, Elevate provides a section with related searches in the search page result to give the visitor a second chance at finding what they're after and keeping them engaged.

Enable feature

For compatibility reasons, existing integrations need to enable support for related searches. For more information about enabling support for related searches, please contact Voyado Support.

The related searches are returned as a field, relatedSearches, in the search page response. The field will include simple queries when the primary list contains less than 100 products. In addition, questions can be relaxed by removing soft criteria such as color, size, and material but retaining more complex requirements such as product type and brand. Note that the actual rules for relaxing queries are subject to change without notice.

Step-by-step

  1. Ensure that search criteria relaxation is enabled for the selected cluster. Either contact Voyado Support, or perform a search page query with a search phrase containing multiple soft criteria and a product type, for example brown leather bag. If the relatedSearches field and the secondaryList field is present in the response, the feature is enabled.
  2. Add code to render related searches after the primary list in the front end.
    // Pseudo code
    if searchPageBody.relatedSearches exists and is not empty then
        print heading "Searches related to '<original phrase>'"
        for each item in searchPageBody.relatedSearches
            print link with text=item.q and href="?q=<urlencode(item.q)>"
    
  3. Set the search origin to RELATED_SEARCHES in the request.
  4. Verify that the code is working and that clicking on a link shows a new search result page with the query replaced and all filters and sort orders reset.

Adding a secondary list to the search result page

While the related searches make it easier for the visitors to restate their queries explicitly, they can be hard to notice at a quick glance. Also, it is not apparent that the results will be any more valuable than the current result. To further increase the probability of visitors finding what they are looking for, Elevate also offer a secondary result list.

The secondary list will be populated with products that do not strictly adhere to the original search phrase but that Elevate still believes to be reasonable candidates, should the primary list be insufficient. Typically, the second list contains products from the results of the relaxed queries. Some queries may also include products found by lower-probability interpretations that would otherwise obfuscate the primary list.

When the search criteria relaxation is enabled, Elevate will expect the site to render both related searches and a secondary list when they are non-empty.

Step-by-step

  1. Ensure that search criteria relaxation is enabled for the selected cluster. Either contact Voyado Support, or perform a search page query with a search phrase containing multiple soft criteria and a product type, for example brown leather bag. If the relatedSearches field and the secondaryList field is present in the response, the feature is enabled.
  2. Add code to render the secondary list after the primary list (and before the related searches) in the front-end.
    // Pseudo code
    if body.secondaryList exists and
      body.secondaryList.totalHits > 0 then
      print heading "Explore more options" // or a heading of your choice
      for each item in body.secondaryList.productGroups
        print product card for item
      print link with text="View all <body.secondaryList.totalHits>
        item(s)" and href="<current url with added parameter
        viewAllSecondary=true>"
    
  3. Add code to check if viewAllSecondary is set to true when the search result page is loaded. If so, add viewAllSecondary=true as a parameter to the Elevate search-page request too, and replace the heading of the primary results with a message saying, Products related to <q>.
  4. Verify that the code is working and that clicking on a link in the secondary list shows a new search result page with the same query but with viewAllSecondary set and the heading modified. The primary list now includes all the items from the secondary list, and the second list has been emptied.
×
Copyright

This online publication is intellectual property of Voyado Lund AB. Its contents can be duplicated in part or whole, provided that a copyright label is visibly located on each copy and the copy is used in conjunction with the product described within this document.

All information found in these documents has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither Voyado Lund AB nor the authors shall be held liable for possible errors or the consequences thereof.

Software and hardware descriptions cited in these documents might be registered trademarks. All trade names are subject to copyright restrictions and may be registered trademarks. Voyado Lund AB essentially adheres to the manufacturer’s spelling. Names of products and trademarks appearing in this document, with or without specific notation, are likewise subject to trademark and trade protection laws and may thus fall under copyright restrictions.

CLOSE