Product Recommendations Overview

Recommendations allow you to show contextually relevant product recommendations in any channel. This feature gives you the ability, for example, to recommend red products on the cart page if a customer has a red shirt in the cart, or to display recommendations only for products in stock for a customer's preferred size. The possibilities are nearly endless.

Getting Started

Recommendations are powered by your product catalog, which is very similar to the catalog you are likely already sending to major search engines. The product catalog required for recommendations is at the SKU level. This information enables highly personalized use cases based on SKU-level affinities such as size, color, pattern, and category.

You can leverage all attributes within the product catalog as filters for recommendations. You can omit any of the optional attributes that aren't applicable to recommendation strategies, and you can add them in a product catalog update later should future use cases need them.

Review the product catalog specification to understand what each attribute represents along with a use case for each.

Implementation Requirements

Recommendations use two pieces of data from a product catalog:

  • Product ID: The parent identifier of a group of SKUs (for example, men's crewneck t-shirt)
  • SKU: The individual product identifier, often a combination of product, color or pattern, and size (for example, size medium green men's crewneck t-shirt)

Product IDs in Recommendations

Product ID (PID) is required for any channel implementation. It's often found on category, index, product detail, cart, and purchase pages and is the identifying value of a parent product. The PID should be the same value sent in the product catalog within the item_group_id field.

A recommendations action reads the PID on the page to compile a list of recommended products based on the selected recommendation algorithm, such as Viewed and Also Viewed or Purchased and Also Purchased, and filters.

To illustrate how PIDs are used, consider this example. Recommendations are running across all your site's product detail pages, and the recommendation strategy includes a filter so that only products matching the gender attribute of the product being viewed are recommended. The platform reads the product ID on the page and looks up the gender attribute from the product catalog associated with the recommendation strategy. In real time the platform then filters the recommendations results to include only products matching the gender attribute of the PID on the page.

The platform uses PIDs for filtering when all SKUs on the page have the same value.

SKUs in Recommendations

To display SKU-based recommendations, you must provide the SKU being viewed within your implementation. Common examples of SKU-based attributes include color and size. If you use a SKU-based filter in a recommendation strategy but SKU is not provided in your implementation, then the platform returns the first SKU found for the given PID. This situation could lead to unexpected recommendation results if the attribute of the returned SKU does not align with what the customer is viewing.

To illustrate how SKUs are used, consider this example. Recommendations are running across all product detail pages and the recommendation strategy is set up to only show products that are the same color as the product being viewed. The platform reads the SKU being viewed on the page and looks up its color attribute from the product catalog associated with the recommendation strategy. The recommendation results are then filtered to include only SKUs with the same value for the color attribute.

When sending SKUs in your implementation, you may need to include a retrack on pages on which customers can select different SKUs. This retrack enables the platform to understand each SKU the customer is viewing without requiring a page refresh. If the page already refreshes when a customer navigates between SKUs, then you may not need to implement a retrack.

If the recommendation strategies you create don't require SKU-based filtering, then the implementation doesn't need to provide SKUs. However, sending this data enhances your ability to get value out of the product.

Uploading a Product Catalog

Recommendations require a product catalog. Refer to Create a Product Catalog Dataset Schema for more information on how to accomplish this task.

You can send updates using SFTP, via the platform's Data API, or by using the Upload Data wizard within the platform. SFTP is the most common method for updating the product catalog. However, integrating with the API enables more real-time use cases, such as removing out-of-stock products from recommendations in real time.

Recommendation Strategies

In addition to a product catalog, recommendations require you to build recommendation strategies. A recommendation strategy is the combination of a selected recommendation algorithm and applied filters. Refer to Create a Recommendation Strategy for the steps to build a strategy.

As you build a library of recommendation strategies, you can combine up to four of them into a slotted recommendation. Within that slotted recommendation, you can set the order in which recommended products are identified to better customize and control the results. See the slotted recommendations documentation for more information.

Recommendations Datasets

You can upload your own internally developed product recommendations as a recommendations dataset. This type of dataset typically enables use cases such as "New Arrivals" and recommendations based on custom-built algorithms. Refer to Recommendations Datasets for dataset specifications and the steps to upload one to the platform.

Recommendations Actions

Recommendations actions are fully customizable templates that allow you to configure the placement, styling, and display of recommendation zones. You can apply action conditions if you want the recommendations to only appear on certain pages or URLs.

Refer to the following documentation for the steps to configure one of these actions, the options available, and other information: