Create links between similar products so that they appear close together in search results

Example for Anchoring


Anchoring refers to the e-commerce merchandising practice of explicitly associating similar products so that they appear close together in a user’s search results.

A common example of anchoring is promoting a private-label good alongside its name-brand counterpart. Typically, private-label goods are lower priced, have little-to-no discernible difference in quality (they often have the same manufacturer as their name-brand competitor), and have significantly higher profit margins for the retailer.

In a brick and mortar store, you could create an explicit association between the private-label and name-brand products by stocking them side by side and presenting the private-label version as a viable alternative. Miso’s Search API supports similar functionality using the anchoring_settings parameter.

The following steps assume you have already set up an engine for Search. If not, head over to the Quickstart guide to get started.

Do it with Dojo

Dojo provides an intuitive, no-code UI for managing your Miso data sets and engines.

Let’s build off the previous example to see how we can promote a private-label snack using Dojo. Suppose we are running an online grocery store where the following name-brand snacks are most frequently purchased (among many other similar products):


The best-selling snacks above are our anchors. Suppose we’d like to increase sales of our own private-label box of cookies called “LG’s Chocolate Wafers”. By creating an Anchoring Campaign, we can configure the Search Engine to return the chocolate wafers whenever an anchor snack appears in search results.

  1. From the left navigation pane of the Dojo Dashboard, under the Engines category, select Search.

    Dojo Navigation Pane - Search Engine

  2. Navigate to the Anchoring tab, where you can create and manage anchoring campaigns. An anchoring campaign is where you specify a product to promote, the anchor products, and the desired position of the promoted product relative to the highest ranked anchoring product.

  3. Name your anchoring campaign - Give your anchoring campaign a descriptive name and press Confirm. Let’s name our anchoring campaign: “Private Label Cookies”.

  4. Define anchoring criteria - In this section, you must specify the product to promote, the anchor product(s), and the desired position of the promoted product relative to the highest ranked anchoring product.

    First, in 2-1, select a product to promote by entering its title or product_id. We'll type in our private-label cookies, "LG’s Chocolate Wafers". Note: The product can be selected from the autocomplete drop-down as you begin typing.

    The Require search query matching checkbox is selected by default. This limits the anchoring to only occur if both products match the search query. Uncheck this box if you want to anchor complementary products instead.

    Next, in 2-2, we'll type in the first anchor product, "Nate's Bake Shop Chocolate Chip cookies", and select Confirm. Repeat the step for the other anchor products.

    Finally, in 2-3, we need to select the position of the promoted product, relative to the anchor products. In our case, we want the promoted product, the chocolate wafers, to appear right before the highest rated anchor product so we'll keep the default settings.

  5. Optional: Schedule - You can include a date/time range for your anchoring campaign. This is useful for setting up campaigns in advance or for seasonal campaigns such as holiday sales.

  6. When you're finished, select Create to finalize the configuration of the anchoring campaign. On the main anchoring tab, toggle the GO LIVE switch to on to start using the campaign. If you’ve scheduled your campaign to run during a specific timeframe, it will automatically go-live on the start date/time.

For more information about Dojo, see the official documentation .

Do it with APIs

As an alternative to Dojo, the anchoring_settings parameter within the Search API allows you to specify a product that you would like to promote (using its unique product_id) and the set of products to be used as anchors. You also need to specify the position that you want the promoted product to be returned within the search results (relative to the highest-ranked anchor product).

Let's revisit our previous example and use the anchoring_settings parameter to configure our Search API to return the chocolate wafers whenever an anchor snack appears in search results.

Implementing the anchoring_settings parameter

Using the Search API, include the following schema inside the request body:

POST v1/search/search
    "anchoring_settings": [
         "product_id": "string",
         "anchor_ids": [ 
         "relative_position": int, //optional
         "start_time": "string", //optional
         "end_time": "string" //optional

For our example, the Search API might look like the following:

POST v1/search/search
    "anchoring_settings": [
         "product_id": "lg_choc_wafers",
         "anchor_ids": [ 
         "relative_position": -1, 
         "start_time": "2022-01-01T00:00:00Z", 
         "end_time": "2022-12-31T23:59:59Z"

With this API request, whenever a user performs a search that would normally return any of the three snacks, our private-label snack LG’s Chocolate Wafers, is returned one position before the highest-ranked anchor snack. We have successfully anchored our product!

Additional Resources

For more information on Miso’s Search API, check out the official API Documentation.

For additional personalization use-cases, visit the Recipes page on our Docs site.

Published Date: April 18th, 2022

API Reference


Need more info on the API? Check out our dedicated API page with all the info you could ever want.

Read API Reference
Icon/Activity Icon/Add Icon/API Icon/Arrow/Down Icon/Arrow/Left Icon/Arrow/Right Icon/Arrow/TopRight Icon/Arrow/Up Icon/Bento Icon/Billing Icon/Bin Icon/Book Icon/Bookmark/Default Icon/Bookmark/Filled Icon/Calendar Icon/Caret/Down Icon/Caret/Up Icon/Chavron/DownIcon/Chavron/LeftIcon/Chavron/RightIcon/Chavron/UpIcon/Checknox/CheckedIcon/Checknox/Unchecked Icon/Checklist Icon/Chip Icon/Clipboard / Copied Icon/Clipboard/Default Icon/Clock/Stopwatch Icon/CMD Icon/Data/Catalog Icon/Data/Engine Icon/Data/Group Icon/Data/Interact Icon/Data/Users Icon/Dive Icon/Docs/Key Icon/Dojo Icon/Email Icon/Env/Development Icon/Env/Playground Icon/Env/Prod Icon/Folder Icon/Fullscreen/Collapse Icon/Fullscreen/Expand Icon/Guides/Multiple Icon/Guides/Single Icon/Hashtag Icon/Heart/Outline Icon/Heart/Solid Icon / Cart z Icon / Click Icon / Clock Icon / Data Icon / Doc Icon / EmptyCart z Icon/Social/Facebook Icon / Genome Incognito Icon / Money Icon/Social/ProductHunt Icon / Search Icon/Social/Twitter Icon / User Icon/Info/Error Icon/Info/Info Icon/Info/Question Icon/Info/Warning Icon/Interact/Download Icon/Interact/Edit Icon/Interact/External v2 Icon/Interact/External Icon/Interact/Filter Icon/Interact/Logout Icon/Interact/Options Icon/Interact/Re-order Icon/Interact/Reload Icon/Interact/Remove Icon/Interact/Replace Icon/Interact/Search Icon/Interact/Shuffle Icon/Interact/Undo Icon/Interact/Upload Icon/Interact/Video Icon/Invoice Icon/Loading Icon/Loading Icon/Lock/Locked Icon/Lock/Unlocked Icon/Lock Icon/Mapping Menu Icon/Notification Icon/Overview Icon/Person/Team Icon/Person/User Icon/Plan/Enterprise Icon/Plan/Growth Icon/Plan/Startup Icon/Plan/Trial Icon/Recipe Icon/Rocket Icon/Settings/App Icon/Settings/User Icon/Settings Icon/Shrine Icon/Sidebar/Close Icon/Sidebar/Open Icon/Slideout Icon/Sort/Ascending Icon/Sort/Default Icon/Sort/Descending Icon/Star/Filled Icon/Star/Outlined Stopwatch Icon/Support Icon/Tag Icon/Interact/Thumb/Dislike Icon/Interact/Thumb/Like Icon/Tick Icon/Trend/New Icon/Trend/Trending Icon/Tutorial Icon/Lock/Unlocked Icon/View/Grid Icon/View/List Icon/Watchlist/Add