--- title: Product recommendation strategies slug: p85e0425 canonical_url: https://docs.coveo.com/en/p85e0425/ collection: coveo-for-commerce source_format: adoc --- --- conditionalContentOfType: productRecommendationStrategies --- # Product recommendation strategies > **Important** > > [.stem] > To know if you're using the new version or earlier version > > . On the [**Models**](https://platform.cloud.coveo.com/admin/#/orgid/ai-and-ml/models/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/ai-and-ml/models/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/ai-and-ml/models/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/ai-and-ml/models/)) page, open the model you want to check. > > . Models made with the earlier version are identified as such in a warning banner displayed at the top of the page. > > ![Warning banner indicating earlier version model type | Coveo](:https://docs.coveo.com/en/assets/images/coveo-for-commerce/images/conditional-tabs-pr-version.png) > > The new version of [Coveo Machine Learning (Coveo ML)](https://docs.coveo.com/en/188/) [Product Recommendation (PR)](https://docs.coveo.com/en/3132/) [models](https://docs.coveo.com/en/1012/) was released in February 2026. > This version is currently in open beta, and a [migration path is available](https://docs.coveo.com/en/q2bb0298/) for [Coveo organizations](https://docs.coveo.com/en/185/) using the previous version. When [associating](https://docs.coveo.com/en/p1vg0524/) a [Product Recommendation (PR)](https://docs.coveo.com/en/3132/) model with a [query pipeline](https://docs.coveo.com/en/180/), you must select a recommendation strategy to adapt the suggested products based on your use case. The strategy you choose depends on what the shopper is doing and what they're browsing. For example, you'll use different strategies when recommending products on a [product detail page (PDP)](https://docs.coveo.com/en/n8ad7392/) based on the currently viewed item versus recommending popular products on the home page based on overall site activity. Product recommendation strategies are divided into three categories: * **Seeded strategies**: These strategies require [seed products](https://docs.coveo.com/en/n5jg0219/) to be passed in the recommendation query. They're used to recommend products based on a specific set of items. For example, they can be used in a [product detail page (PDP)](https://docs.coveo.com/en/n8ad7392/) to recommend products related to the one being viewed. * **Unseeded strategies**: These strategies don't require [seed products](https://docs.coveo.com/en/n5jg0219/) to be passed in the recommendation query. They're used to recommend products based on general popularity. For example, they can be used on the home page to recommend popular products. * **User history strategies**: These strategies use the browsing and purchase history of individual visitors to recommend products. For example, they can be used on PDPs or the home page to personalize the recommendations based on the visitor's previous actions.
[[quick-ref-latest,role=tab-a]] ## Quick reference The following table groups all available recommendation strategies by their required event type. [%header,cols="~,~,~"] |=== |Event type |Strategy |Category .10+|View |[Viewed together](#viewed-together) |Seeded |[Viewed together, same category](#viewed-together-same-category) |Seeded |[Viewed together, different category](#viewed-together-different-category) |Seeded |[Most viewed](#most-viewed) |Unseeded |[Most viewed, same category](#most-viewed-same-category) |Seeded |[Intent-aware, enriched - Homepage](#intent-aware-enriched-homepage) |User history |[Intent-aware, most viewed](#intent-aware-most-viewed) |User history and seeded |[Intent-aware, most viewed, enriched](#intent-aware-most-viewed-enriched) |User history and seeded |[Most viewed with last viewed](#most-viewed-with-last-viewed) |User history |[Recently viewed without fallback](#recently-viewed-without-fallback) |User history .9+|Purchase |[Purchased together](#purchased-together) |Seeded |[Purchased together without fallback](#purchased-together-without-fallback) |Seeded |[Purchased together, same category](#purchased-together-same-category) |Seeded |[Purchased together, different category](#purchased-together-different-category) |Seeded |[Purchased together - Cart](#purchased-together-cart) |Seeded |[Most purchased](#most-purchased) |Unseeded |[Most purchased, same category](#most-purchased-same-category) |Seeded |[Purchased together with recently viewed](#purchased-together-with-recently-viewed) |User history |[Recently purchased without fallback](#recently-purchased-without-fallback) |User history |=== [[latest-strategies-seeded,role=tab-a]] ## Seeded strategies [seeded strategies](https://docs.coveo.com/en/o9ge0347/) require a [seed product](https://docs.coveo.com/en/n5jg0219/) to generate recommendations. This means that recommendation requests originating from [recommendation slots](https://docs.coveo.com/en/o9b80563/) that leverage these strategies must include a [seed product](https://docs.coveo.com/en/n5jg0219/) in the request. The [seed product](https://docs.coveo.com/en/n5jg0219/) is used to generate recommendations that are relevant to the product currently viewed by the visitor. Seed products must be passed in the `product` object of the [Execute a recommendation query](https://docs.coveo.com/en/103#tag/Recommendations/operation/recommendations) endpoint of the Commerce API. The value must be the unique identifier of the product(s) used as the baseline for generating recommendations (for example, the product being viewed by the visitor). This identifier corresponds to the value of the `ec_product_id` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) in your indexed product data. The available seeded strategies are: * [Viewed together](#viewed-together) * [Viewed together, same category](#viewed-together-same-category) * [Viewed together, different category](#viewed-together-different-category) * [Purchased together](#purchased-together) * [Purchased together without fallback](#purchased-together-without-fallback) * [Purchased together, same category](#purchased-together-same-category) * [Purchased together, different category](#purchased-together-different-category) * [Most viewed, same category](#most-viewed-same-category) * [Most purchased, same category](#most-purchased-same-category) * [Purchased together - Cart](#purchased-together-cart) ### Viewed together Recommends products that are frequently viewed with the product the visitor is currently viewing. **Example** While browsing Barca Sports, you're viewing a sea kayak. Based on other visitors' browsing history, the model recommends products that are frequently viewed with the same sea kayak, such as a paddle or a life jacket. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |[Popular items (viewed)](#popular-items-viewed) |The unique identifier of the product being viewed by the visitor. |No |`frequentViewed` |=== ### Viewed together, same category Recommends products that are frequently viewed with the product the visitor is currently viewing. The recommendations are filtered to show products in the same category as the one the visitor is viewing. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** While browsing Barca Sports, you're viewing a surf leash whose category value contains `surf`. Based on other visitors' browsing history, the model recommends the products from the `surf` category that have been viewed the most with the item you're currently viewing, such as surfboard wax, fins, or board bags. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View a|. [Most viewed, same category](#most-viewed-same-category) . [Viewed together](#viewed-together) . [Most viewed](#most-viewed) |The unique identifier of the product being viewed by the visitor. |No |`frequentViewedSameCategory` |=== ### Viewed together, different category Recommends products that are frequently viewed with the product the visitor is currently viewing. The recommendations are filtered to show products that have a different category than the one the user is currently viewing. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** While browsing Barca Sports, you're viewing a sea kayak whose category value is `kayak`. Based on other visitors' browsing history, the model recommends the products that have been viewed the most with the sea kayak you're currently viewing, but that doesn't have `kayak` as the category value, such as life jackets, paddles, or waterproof bags. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View a| . Popular items in different category (viewed) . [Viewed together](#viewed-together) . [Most viewed](#most-viewed) |The unique identifier of the product being viewed by the visitor. |No |`frequentViewedDifferentCategory` |=== ### Purchased together Recommends products that are frequently bought with the product the visitor is currently viewing. **Example** While browsing Barca Sports, you're viewing a sea kayak. Based on other customers' purchase history, the model recommends products that are frequently bought with the same sea kayak, such as a paddle or a life jacket. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |[Most purchased](#most-purchased) |The unique identifier of the product being viewed by the visitor. |No |`frequentBought` |=== #### Purchased together without fallback You can also use the **Frequently bought together without fallback** if you don't want the model to use a fallback strategy when there is insufficient data to generate recommendations. This will result in no recommendations being returned in such cases. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |No fallback strategy |The unique identifier of the product being viewed by the visitor. |No |`frequentBoughtWithoutFallback` |=== ### Purchased together, same category Recommends products that are frequently bought with the product the visitor is currently viewing. The recommendations are filtered to show products in the same category as the one the visitor is viewing. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** While browsing Barca Sports, you're viewing a surf leash whose category value contains `surf`. Based on other customers' purchase history, the model recommends the products from the `surf` category that have been purchased the most with the item you're currently viewing, such as surfboard wax, fins, or board bags. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase a|. [Most purchased, same category](#most-purchased-same-category) . [Purchased together](#purchased-together) . [Most purchased](#most-purchased) |The unique identifier of the product being viewed by the visitor. |No |`frequentBoughtSameCategory` |=== ### Purchased together, different category Recommends products that are most often purchased with the product the visitor is currently viewing. The recommendations are filtered to show products in a different category from the one the visitor is viewing. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** While browsing Barca Sports, you're viewing a sea kayak whose category value is `kayak`. Based on other customers' purchase history, the model recommends the products that have been purchased the most with the sea kayak you're currently viewing, but that doesn't have `kayak` as the category value, such as life jackets, paddles, or waterproof bags. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase a|. [Purchased together](#purchased-together) . [Most purchased](#most-purchased) |The unique identifier of the product being viewed by the visitor. |No |`frequentBoughtDifferentCategory` |=== ### Most viewed, same category Recommends the most-viewed products in the same category as the product the visitor is currently viewing. This is useful as a backup solution for other strategies when they didn't gather enough data to provide relevant recommendations. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |[Most viewed](#most-viewed) |The unique identifier of the product being viewed by the visitor. |Yes |`popularViewedSameCategory` |=== ### Most purchased, same category Recommends the most purchased products in the same category as the product the visitor is currently viewing. This is a useful backup solution for other strategies when they didn't gather enough data to provide relevant recommendations. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |[Most purchased](#most-purchased) |The unique identifier of the product being viewed by the visitor. |Yes |`popularBoughtSameCategory` |=== ### Purchased together - Cart Recommends complementary products based on items currently in a shopper's cart. The strategy analyzes historical purchase data to identify patterns and recommends products that were frequently bought alongside the same items in past customers' carts. This strategy is especially effective for cross-selling at checkout, helping customers discover related accessories or add-ons before completing their purchase. **Example** You're viewing your shopping cart on Barca Sports. The cart contains a sea kayak and a paddle. Based on purchase patterns from previous customers, the strategy recommends items that were frequently bought alongside those products, such as a life jacket, a waterproof bag, or roof racks for transportation. Behavior and requirements: * Uses up to the 10 most recently added items in the cart as seeds. * Requires at least one cart item to generate recommendations. * When there are no seed items, no recommendations are returned. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ a|Purchase |No fallback strategy |The unique identifiers of the products being viewed by the visitor. |No |`cart` |=== [[latest-strategies-unseeded,role=tab-a]] ## Unseeded strategies Unseeded strategies don't require a [seed product](https://docs.coveo.com/en/n5jg0219/) to generate recommendations. They're popularity-based strategies, meaning that they recommend products based on their popularity, without considering the products the visitor has interacted with. Available unseeded strategies are: * [Most viewed](#most-viewed) * [Most purchased](#most-purchased) ### Most viewed Recommends the most viewed products. This strategy is useful when you want to display recommendations on home or campaign landing pages to highlight trending products. It's also used as a backup solution for other strategies when they didn't gather enough data to provide relevant recommendations. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |No fallback strategy |Yes |`popularViewed` |=== ### Most purchased Recommends the most purchased products. This strategy is useful when you want to display recommendations on home or campaign landing pages to highlight trending top sellers. It's also used as a backup solution for other strategies when they didn't gather enough data to provide relevant recommendations. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |No fallback strategy |Yes |`popularBought` |=== [[latest-strategies-user,role=tab-a]] ## User history strategies User history strategies leverage the visitor's previous actions and current context to generate recommendations. They adapt in real time to the visitor's actions, providing personalized recommendations based on their browsing history. Available user history strategies are: * [Intent-aware recommendations](#intent-aware-recommendations) * [Most viewed with last viewed](#most-viewed-with-last-viewed) * [Purchased together with recently viewed](#purchased-together-with-recently-viewed) * [Recently viewed without fallback](#recently-viewed-without-fallback) * [Recently purchased without fallback](#recently-purchased-without-fallback) ### Intent-aware recommendations Leverages behavioral similarity between products to generate recommendations that align with the shopper's current journey. The model analyzes: * The products the shopper has recently viewed during their session. * The product the shopper is currently viewing. It then recommends other products that shoppers frequently interact with and that match the shopper's real-time browsing intent. This helps maximize product discovery. Intent-aware recommendations have three variations tailored to different page contexts: * [Intent-aware, enriched - Homepage](#intent-aware-enriched-homepage) * [Intent-aware, most viewed](#intent-aware-most-viewed) * [Intent-aware, most viewed, enriched](#intent-aware-most-viewed-enriched) #### Intent-aware, enriched - Homepage Recommends products that were frequently viewed with the items browsed during the shopper's current session, ideal for home pages or {PLPs} without a specific product focus. **Example** A shopper browses multiple products and returns to the home page. The home page recommendations surface items frequently viewed by other users who also viewed those products during their sessions. Refer to the following table for strategy details: [%header,cols="6"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Additional information |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |[Most viewed](#most-viewed) |No seed product |No |Supports the [cold start](https://docs.coveo.com/en/na2a8306/) feature. |`sessionRecommenderWithFallbackEnrichedHomepage` |=== #### Intent-aware, most viewed Recommends products that customers frequently view alongside the item that's being viewed, as well as the items that were browsed during the shopper's current session. The recommendations are filtered to show products in the same category as the one the visitor is viewing. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** A shopper browsers multiple products and ends up opening a product detail page for a specific item. The product detail page recommendations surface items frequently viewed by other users who also viewed those products during their sessions. Refer to the following table for strategy details: [%header,cols="6"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Additional information |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View a|. [Most viewed, same category](#most-viewed-same-category) . [Most viewed](#most-viewed) |The unique identifier of the product currently being viewed. |No |Doesn't support the [cold start](https://docs.coveo.com/en/na2a8306/) feature. |`sessionRecommenderWithFallback` |=== #### Intent-aware, most viewed, enriched Recommends products that customers frequently view alongside the item that's being viewed, as well as the items that were browsed during the shopper's current session. The recommendations are filtered to show products in the same category as the one the visitor is viewing. The strategy supports the [cold start](https://docs.coveo.com/en/na2a8306/) feature, making it effective even for products with limited interaction data. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** A shopper browses multiple products and ends up opening a product detail page for a specific item. The product detail page recommendations surface items frequently viewed by other users who also viewed those products during their sessions. If the current product has limited interaction data, the strategy leverages the [cold start](https://docs.coveo.com/en/na2a8306/) feature to ensure strong recommendation results. Refer to the following table for strategy details: [%header,cols="6"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Additional information |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View a|. [Most viewed, same category](#most-viewed-same-category) . [Most viewed](#most-viewed) |The unique identifier of the product currently being viewed. |No |Supports the [cold start](https://docs.coveo.com/en/na2a8306/) feature. |`sessionRecommenderWithFallbackEnriched` |=== ### Most viewed with last viewed Recommends products based on the visitor's view history and on the view history of other visitors with similar interests. In other words, it looks at what a visitor has viewed, both in their current and past sessions, and recommends products that people with similar browsing patterns also explored. This is useful for exposing a visitor to products that other users with similar shopping behavior have also viewed during their visit. **Example** As a user of Barca sports, you've recently viewed the following products: * A sea kayak * A carbon fiber paddle * A waterproof bag After viewing these products, you return to the home page which includes a recommendations slot that leverages the **Most viewed with last viewed** strategy. The model recommends the following products: * A life jacket * A spray skirt * A roof rack These products are shown because they were frequently viewed by other shoppers who also looked at the kayak, paddle, and dry bag in their sessions. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View a|. [Most viewed, same category](#most-viewed-same-category) . [Most viewed](#most-viewed) |No seed product |Yes |`recommendationsUsingRecentlyViewed` |=== ### Purchased together with recently viewed Recommends products by looking at what a visitor has bought, both in their current and past sessions, and recommending products that people with similar purchasing patterns also explored. This is useful for exposing a visitor to products that other users with similar shopping behavior ended up buying during their visit. **Example** As a user of Barca sports, you've recently purchased the following products: * A sea kayak * A carbon fiber paddle * A waterproof bag After viewing these products, you come back to the home page which incorporates a recommendations slot that leverages the **Purchased together with recently viewed** strategy. The model recommends the following products: * A life jacket * A spray skirt * A roof rack These products are shown because they were frequently bought by other shoppers who also purchased the kayak, paddle, and dry bag in their sessions. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase a|. [Most purchased, same category](#most-purchased-same-category) . [Most purchased](#most-purchased) |No seed product |Yes |`recommendationsUsingRecentlyBought` |=== ### Recently viewed without fallback Recommends items (up to 50) a visitor has viewed recently based on their action history. Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |No fallback strategy |No seed product |No |`recentlyViewed` |=== ### Recently purchased without fallback Analyzes the visitor's action history to recommend products that the visitor has recently purchased (up to 50). Refer to the following table for strategy details: [%header,cols="5"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Location awareness [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |No fallback strategy |No seed product |No |`recentlyBought` |=== -- [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. The type of [Coveo Analytics event](https://docs.coveo.com/en/260/) that the strategy requires to generate recommendations. [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. The strategy that the model uses as a fallback solution when it didn't gather enough data to provide relevant recommendations. If a strategy has multiple fallback strategies, the model evaluates them in the order they are listed in the table until it finds one that has enough data to provide relevant recommendations. [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. Whether the strategy requires [seed products](https://docs.coveo.com/en/n5jg0219/) to generate recommendations. [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. Whether the strategy considers the visitor's city, region, or country to scope the recommendations. A visitor's location is determined based on their IP address. The model scopes recommendations to the visitor's location only when sufficient data is available for that location, following this order of precedence: city, region, country. [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. The strategy key to use when associating the model through a JSON configuration. --
[[quick-ref-legacy,role=tab-b]] ## Quick reference The following table groups all available recommendation strategies by their required event type. [%header,cols="~,~,~"] |=== |Event type |Strategy |Category .9+|View |[Frequently viewed together](#frequently-viewed-together) |Seeded |[Frequently viewed together in the same category](#frequently-viewed-together-in-the-same-category) |Seeded |[Frequently viewed together in different categories](#frequently-viewed-together-in-different-categories) |Seeded |[Popular items (viewed)](#popular-items-viewed) |Unseeded |[Popular items in same category (viewed)](#popular-items-in-same-category-viewed) |Seeded |[User recommender](#user-recommender) |User history |[Session recommendations](#session-recommendations) |User history |[Recommendations using recently viewed](#recommendations-using-recently-viewed) |User history |[Recently viewed](#recently-viewed) |User history .9+|Purchase |[Frequently bought together](#frequently-bought-together) |Seeded |[Frequently bought together in same category](#frequently-bought-together-in-the-same-category) |Seeded |[Frequently bought together in different categories](#frequently-bought-together-in-different-categories) |Seeded |[Cart recommendations](#cart-recommendations) |Seeded |[Popular items (bought)](#popular-items-bought) |Unseeded |[Popular items in same category (bought)](#popular-items-in-same-category-bought) |Seeded |[Recommendations using recently bought](#recommendations-using-recently-bought) |User history |[Recently bought](#recently-bought) |User history |[Buy again](#buy-again) |User history |=== [[legacy-strategies-seeded,role=tab-b]] ## Seeded strategies [seeded strategies](https://docs.coveo.com/en/o9ge0347/) require a [seed product](https://docs.coveo.com/en/n5jg0219/) to generate recommendations. This means that recommendation requests originating from [recommendation slots](https://docs.coveo.com/en/o9b80563/) that leverage these strategies must include a [seed product](https://docs.coveo.com/en/n5jg0219/) in the request. The [seed product](https://docs.coveo.com/en/n5jg0219/) is used to generate recommendations that are relevant to the product currently viewed by the visitor. Seed products must be passed in the `itemId` parameter of the [`mlParameters`](https://docs.coveo.com/en/13#operation/searchUsingPost-mlParameters) object of the related query to the Search API. The value must be the unique identifier of the product(s) used as the baseline for generating recommendations (for example, the product being viewed by the visitor). This identifier corresponds to the value of the `ec_product_id` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) in your indexed product data. The available seeded strategies are: * [Frequently viewed together](#frequently-viewed-together) * [Frequently viewed together in the same category](#frequently-viewed-together-in-the-same-category) * [Frequently viewed together in different categories](#frequently-viewed-together-in-different-categories) * [Frequently bought together](#frequently-bought-together) * [Frequently bought together in same category](#frequently-bought-together-in-the-same-category) * [Frequently bought together in different categories](#frequently-bought-together-in-different-categories) * [Popular items in same category (viewed)](#popular-items-in-same-category-viewed) * [Popular items in same category (bought)](#popular-items-in-same-category-bought) * [Cart recommendations](#cart-recommendations) ### Frequently viewed together Recommends products that are frequently viewed with the product the visitor is currently viewing. **Example** While browsing Barca Sports, you're viewing a sea kayak. Based on other visitors' browsing history, the model recommends products that are frequently viewed with the same sea kayak, such as a paddle or a life jacket. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |[Popular items (viewed)](#popular-items-viewed) |The unique identifier of the product being viewed by the visitor. |`frequentViewed` |=== ### Frequently viewed together in the same category Recommends products that are frequently viewed with the product the visitor is currently viewing. The recommendations are filtered to show products in the same category as the one the visitor is viewing. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** While browsing Barca Sports, you're viewing a surf leash whose category value contains `surf`. Based on other visitors' browsing history, the model recommends the products from the `surf` category that have been viewed the most with the item you're currently viewing, such as surfboard wax, fins, or board bags. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View a|. [Frequently viewed together](#frequently-viewed-together) . [Popular items (viewed)](#popular-items-viewed) |The unique identifier of the product being viewed by the visitor. |`frequentViewedSameCategory` |=== ### Frequently viewed together in different categories Recommends products that are frequently viewed with the product the visitor is currently viewing. The recommendations are filtered to show products that have a different category than the one the user is currently viewing. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** While browsing Barca Sports, you're viewing a sea kayak whose category value is `kayak`. Based on other visitors' browsing history, the model recommends the products that have been viewed the most with the sea kayak you're currently viewing, but that doesn't have `kayak` as the category value, such as life jackets, paddles, or waterproof bags. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View a|. [Frequently viewed together](#frequently-viewed-together) . [Popular items (viewed)](#popular-items-viewed) |The unique identifier of the product being viewed by the visitor. |`frequentViewedDifferentCategory` |=== ### Frequently bought together Recommends products that are frequently bought with the product the visitor is currently viewing. **Example** While browsing Barca Sports, you're viewing a sea kayak. Based on other customers' purchase history, the model recommends products that are frequently bought with the same sea kayak, such as a paddle or a life jacket. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase a|. [Frequently bought together in different categories](#frequently-bought-together-in-different-categories) . [Frequently viewed together](#frequently-viewed-together) . [Popular items (bought)](#popular-items-bought) |The unique identifier of the product being viewed by the visitor. |`frequentBought` |=== ### Frequently bought together in the same category Recommends products that are frequently bought with the product the visitor is currently viewing. The recommendations are filtered to show products in the same category as the one the visitor is viewing. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** While browsing Barca Sports, you're viewing a surf leash whose category value contains `surf`. Based on other customers' purchase history, the model recommends the products from the `surf` category that have been purchased the most with the item you're currently viewing, such as surfboard wax, fins, or board bags. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase a|. [Frequently bought together](#frequently-bought-together) . [Popular items (bought)](#popular-items-bought) |The unique identifier of the product being viewed by the visitor. |`frequentBoughtSameCategory` |=== ### Frequently bought together in different categories Recommends products that are most often purchased with the product the visitor is currently viewing. The recommendations are filtered to show products in a different category from the one the visitor is viewing. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. **Example** While browsing Barca Sports, you're viewing a sea kayak whose category value is `kayak`. Based on other customers' purchase history, the model recommends the products that have been purchased the most with the sea kayak you're currently viewing, but that doesn't have `kayak` as the category value, such as life jackets, paddles, or waterproof bags. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase a|. [Frequently bought together](#frequently-bought-together) . [Popular items (bought)](#popular-items-bought) |The unique identifier of the product being viewed by the visitor. |`frequentBoughtDifferentCategory` |=== ### Popular items in same category (viewed) Recommends the most-viewed products in the same category as the product the visitor is currently viewing. This is useful as a backup solution for other strategies when they didn't gather enough data to provide relevant recommendations. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |No fallback strategy |The unique identifier of the product being viewed by the visitor. |`popularViewedSameCategory` |=== ### Popular items in same category (bought) Recommends the most purchased products in the same category as the product the visitor is currently viewing. This is a useful backup solution for other strategies when they didn't gather enough data to provide relevant recommendations. This strategy requires your catalog data to have the `ec_category` [standard field](https://docs.coveo.com/en/n73f0502#standard-commerce-fields) on products with consistent values. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |No fallback strategy |The unique identifier of the product being viewed by the visitor. |`popularBoughtSameCategory` |=== ### Cart recommendations Recommends complementary products based on items currently in a shopper's cart. The strategy analyzes historical purchase data to identify patterns and recommends products that were frequently bought alongside the same items in past customers' carts. This strategy is especially effective for cross-selling at checkout, helping customers discover related accessories or add-ons before completing their purchase. **Example** You're viewing your shopping cart on Barca Sports. The cart contains a sea kayak and a paddle. Based on purchase patterns from previous customers, the strategy recommends items that were frequently bought alongside those products, such as a life jacket, a waterproof bag, or roof racks for transportation. Behavior and requirements: * Uses up to the 10 most recently added items in the cart as seeds. * Requires at least one cart item to generate recommendations. * When there are no seed items, no recommendations are returned. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |No fallback strategy |The unique identifiers of the products being viewed by the visitor. |`cart` |=== [[legacy-strategies-unseeded,role=tab-b]] ## Unseeded strategies Unseeded strategies don't require a [seed product](https://docs.coveo.com/en/n5jg0219/) to generate recommendations. They're popularity-based strategies, meaning that they recommend products based on their popularity, without considering the products the visitor has interacted with. Available unseeded strategies are: * [Popular items (viewed)](#popular-items-viewed) * [Popular items (bought)](#popular-items-bought) ### Popular items (viewed) Recommends the most viewed products. It applies a time discount, so that newer events are always more relevant. This helps capture timely trends. This strategy is useful when you want to display recommendations on home or campaign landing pages to highlight trending products. It's also used as a backup solution for other strategies when they didn't gather enough data to provide relevant recommendations. Refer to the following table for strategy details: [%header,cols="3"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |No fallback strategy |`popularViewed` |=== ### Popular items (bought) Recommends the most purchased products. This strategy is useful when you want to display recommendations on home or campaign landing pages to highlight trending top sellers. It's also used as a backup solution for other strategies when they didn't gather enough data to provide relevant recommendations. Refer to the following table for strategy details: [%header,cols="3"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |No fallback strategy |`popularBought` |=== [[legacy-strategies-user,role=tab-b]] ## User history strategies User history strategies leverage the visitor's previous actions and current context to generate recommendations. They adapt in real time to the visitor's actions, providing personalized recommendations based on their browsing history. Available user history strategies are: * [User recommender](#user-recommender) * [Session recommendations](#session-recommendations) * [Recommendations using recently viewed](#recommendations-using-recently-viewed) * [Recommendations using recently bought](#recommendations-using-recently-bought) * [Recently viewed](#recently-viewed) * [Recently bought](#recently-bought) * [Buy again](#buy-again) ### User recommender Recommends products to the current visitor based on their general interests. To achieve this, the model learns from visitors' previous actions, and uses this information to find other customers that share similar browsing patterns. The model then suggests products that have been previously browsed by customers who share similar interests with the current visitor. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |No fallback strategy |No seed product |`user` |=== ### Session recommendations Leverages behavioral similarity between products to generate recommendations that align with the shopper's current journey. The model analyzes: * The products the shopper has recently viewed during their session. * The product the shopper is currently viewing. It then recommends other products that shoppers frequently interact with and that match the shopper's real-time browsing intent. This helps maximize product discovery. **Example** As a user of an ecommerce website, you're browsing multiple products during a single [visit](https://docs.coveo.com/en/271/). After viewing several products, you access the home page. Since the home page incorporates a recommendations interface that leverages the **Session recommendations** strategy, the recommended products are those that other users frequently viewed or purchased together with the products seen during the session. This produces recommendations tailored to the shopper’s evolving interests, without requiring user identification or historical profiles. [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |No fallback strategy |No seed product |`sessionRecommender` |=== ### Recently viewed Recommends items (up to 50) a visitor has viewed recently based on their action history. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |No fallback strategy |No seed product |`recentlyViewed` |=== ### Recommendations using recently viewed Recommends products based on the visitor's view history and on the view history of other visitors with similar interests. In other words, it looks at what a visitor has viewed, both in their current and past sessions, and recommends products that people with similar browsing patterns also explored. This is useful for exposing a visitor to products that other users with similar shopping behavior have also viewed during their visit. **Example** As a user of Barca sports, you've recently viewed the following products: * A sea kayak * A carbon fiber paddle * A waterproof bag After viewing these products, you return to the home page which includes a recommendations slot that leverages the **Most viewed with last viewed** strategy. The model recommends the following products: * A life jacket * A spray skirt * A roof rack These products are shown because they were frequently viewed by other shoppers who also looked at the kayak, paddle, and dry bag in their sessions. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |View |No fallback strategy |No seed product |`recommendationsUsingRecentlyViewed` |=== ### Recently bought Analyzes the visitor's action history to recommend products that the visitor has recently purchased (up to 50). Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |No fallback strategy |No seed product |`recentlyBought` |=== ### Recommendations using recently bought Recommends products by looking at what a visitor has bought, both in their current and past sessions, and recommending products that people with similar purchasing patterns also explored. This is useful for exposing a visitor to products that other users with similar shopping behavior ended up buying during their visit. **Example** As a user of Barca sports, you've recently purchased the following products: * A sea kayak * A carbon fiber paddle * A waterproof bag After viewing these products, you come back to the home page which incorporates a recommendations slot that leverages the **Purchased together with recently viewed** strategy. The model recommends the following products: * A life jacket * A spray skirt * A roof rack These products are shown because they were frequently bought by other shoppers who also purchased the kayak, paddle, and dry bag in their sessions. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |No fallback strategy |No seed product |`recommendationsUsingRecentlyBought` |=== ### Buy again Calculates the visitors' tendency to repurchase certain products within a given time frame. To achieve this, the model analyzes the visitor's action history to identify previous purchases. It then checks the category of the purchased products to recognize items with a high likelihood of being repurchased. **Example** As a user of an ecommerce pet store, you previously bought a bag of dog food and a dog cage. The model recognizes that products of the `dog-food` category are often repurchased, while those in the `dog-cage` category aren't. Since the website incorporates a recommendations interface that leverages the **Buy again** strategy, the model recommends previously purchased products from the `dog-food` category because of their likelihood to be repurchased. Refer to the following table for strategy details: [%header,cols="4"] |=== |Required event type [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Fallback strategy [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Seed product [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Strategy key [.footnote]^[[{counter:footnote-number-counter}](#footnote-{counter:footnote-number-counter})]^ |Purchase |No fallback strategy |Products previously purchased by the visitor. |`buyAgain` |=== -- [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. The type of [Coveo Analytics event](https://docs.coveo.com/en/260/) that the strategy requires to generate recommendations. [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. The strategy that the model uses as a fallback solution when it didn't gather enough data to provide relevant recommendations. If a strategy has multiple fallback strategies, the model evaluates them in the order they are listed in the table until it finds one that has enough data to provide relevant recommendations. [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. Whether the strategy requires [seed products](https://docs.coveo.com/en/n5jg0219/) to generate recommendations. [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. Whether the strategy considers the visitor's city, region, or country to scope the recommendations. A visitor's location is determined based on their IP address. The model scopes recommendations to the visitor's location only when sufficient data is available for that location, following this order of precedence: city, region, country. [[footnote-{counter:footnote-number-counter}]]{counter:footnote-number-counter}. The strategy key to use when associating the model through a JSON configuration. --