HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Install and configure recommendations

Describes the NuGet packages and initial configuration for the setup of product recommendations and personalized search results with the Optimizely Recommendations suite.

To get recommendations running for a site, configure access to the tracking API to post usage data and get recommendations back.


To install and configure, you need the configuration keys and credentials provided by Optimizely during onboarding of the service. Contact Optimizely for questions regarding the onboarding process.


In addition to onboarding the service, install the following NuGet packages for the tracking and recommendations features:

  • EPiServer.Find.Personalization – (Legacy) Native integrations search recommendations (Personalized Search & Navigation).
  • EPiServer.Personalization – Integrates Recommendations UI (Optimizely Product Recommendations and Optimizely Email Product Recommendations) with the Optimizely top menu.
  • EPiServer.Personalization.Commerce – Native integrations for product recommendations.
  • EPiServer.Personalization.Common – Common base API classes.
  • EPiServer.Profiles.Client – Main package for tracking of an Optimizely site to Optimizely Profile Store.
  • EPiServer.Profiles.Client.Common – Contains common classes used by other packages.
  • EPiServer.Tracking.Cms – CMS integration for tracking of data.
  • EPiServer.Tracking.Commerce – Commerce integration for tracking (Optimizely Product Recommendations and Optimizely Email Product Recommendations, Optimizely Profile Store, Personalized Search & Navigation (legacy)).
  • EPiServer.Tracking.Core – Generic package for tracking.
  • EPiServer.Tracking.PageView – Native integration for tracking of Optimizely Content Management System (CMS) and content data to Optimizely Profile Store.

Native integrations

Installing a main native integration package also installs other packages based on dependencies. The package sets provide product-specific access to the tracking APIs:

  • Product recommendations for Optimizely Commerce
    • Optimizely Product Recommendations and Optimizely Email Product Recommendations tracking and recommendations: EPiServer.Personalization.Commerce.
    • Optimizely Recommendations Portal integration: EPiServer.Personalization.
    • See Install and configure the native integration package for Optimizely Customized Commerce 14.
  • (Legacy) Personalized search results for Optimizely Search & Navigation (formerly Find)
    • Optimizely Personalized Search & Navigation: EPiServer.Find.Personalization.
    • See Personalized Search & Navigation to learn how to install and configure this native integration.

General integration APIs

Instead of using the native integrations, you can use the Server-to-Server API and JavaScript API to call the HTTP endpoints directly to integrate with the core Recommendations tracking API, and send and receive tracking data and recommendations in JSON format.

Import data

For Optimizely Customized Commerce sites, the core part of the recommendations functionality consists of a catalog product feed that provides the input data, combined with a tracking script that enables Optimizely to track behavior and serve suitable recommendations. When you set up the Recommendations, you configure the feed and import the source data. See Data import guides.

Recommendations algorithms learn which products to recommend.

  • If you see large volumes of orders per week, the system should learn quickly, and start recommending highly relevant products.
  • If you take limited orders, or you have an incredibly expansive product catalogue, it will take longer for the system to learn as there is less input relative to an extensive inventory.

You should import historic orders prior to launch; see Offline and historical orders.

Additionally after launch, you can continue to send offline orders through as an XML file or as a real-time API reporting (if you can hook that up to your offline order processing system), if their volume is pertinent for your business, and the offline orders would help the algorithms to produce optimized results. See Offline order tracking.

Recommendations API

Customize Recommendations with the Recommendations API. This API contains header information, endpoints, and response messages for tracking and recommendations. The client calls the Recommendations API that (primarily) returns product or content recommendations, to be used in various output channels.  See Recommendations API.

Profile Store and Visitor Intelligence



Visitor Intelligence is deprecated and no longer supported. For migration options to Optimizely Data Platform (ODP), contact your sales representative or customer success manager.

Using Optimizely Profile Store and Optimizely Visitor Intelligence depends on how Recommendations is set up for your solution.

  • Optimizely Profile Store, also known as the Optimizely Customer Data Management Platform, stores tracking data, which then can be processed and used for visualizing data, and segmenting visitor profiles.
  • Optimizely Visitor Intelligence is the user interface for visualizing data and segmenting profiles.

See Visitor Intelligence and Personalization to learn how to set up tracking clients and the profile management user interface.

Feature-specific configurations

Below are some product/feature-specific configurations.

Email Product Recommendations

Contact Optimizely to provide the mapping of email addresses to pseudonymized IDs (enabling use of hashed IDs when using Optimizely Campaign), and Optimizely will configure this in the Recommendations Portal.

Product Recommendations

Contact Optimizely to configure these features:

  • Allow updated orders to affect personalization.
  • Multi-site support for recommendations.

Content Recommendations

Contact Optimizely to configure availability in Optimizely DXP regions - East/West US, EMEA, APAC.