There are different ways of applying personalization in Optimizely. You can either use the simple built-in visitor group functionality, or you can add the sophisticated recommendation capabilities that are included with Optimizely Product Recommendations.
By applying machine learning and statistical analysis to behavioral data, the platform uses visitor behavior to autonomously create and optimize individual content and product views.
The native integration for Optimizely Customized Commerce is part of Optimizely Product Recommendations. You also need an Optimizely Product Recommendations environment to receive tracking data and serve recommendations. See [Recommendations](🔗) and [Project recommendations](🔗) for how to get started with Product Recommendations.
## Key integration components for recommendations
Recommendations has key components that you should not alter. If you need to alter the following components, co-ordinate with Optimizely.
### User tracking
Changes to user tracking needs can result in loss of behavior and core functionality, such as if you switched from tracking plain email addresses to pseudonymized user IDs or vice versa.
**Recommendations** – To prevent user behavior from being lost, you need to send Optimizely an up-to-date mapping between email addresses and pseudonymized user IDs. This only needs to be provided once so that Optimizely Recommendations can replace existing customer email addresses with its corresponding pseudonymized user ID.
**Mail** – You need to continually provide your ESP (Email Service Provider) an up-to-date mapping between email addresses and pseudonymized user IDs. Your ESP needs to create a new placeholder (mail merge variable) that represents the pseudonymized user ID. You then replace the email address placeholder from all your Mail campaigns with this new placeholder.
**Triggers** – Your ESP must handle pseudonymized user IDs. Currently, in Triggers, this functionality is provided only by Optimizely Campaign. Alternatively, you need to advise your ESP to provide an API extension that lets Optimizely call methods that accept the pseudonymized user ID instead of email address. Also, provide and maintain a mapping between pseudonymized user ID and customer email address that your ESP can use to lookup, to send the email to the appropriate customer based on their pseudonymized user ID.
**Promote** – If provided, Optimizely Recommendations can use the visitor's IP address, within their session, to do a geolocation lookup to identify the approximate location of the visitor for a personalized online experience. IP addresses if provided will no longer be stored, so cannot be used for analytics and reporting.
When you provide and test a user mapping, co-ordinate with Optimizely to schedule a deployment and receive further instructions.
### **Product reference**
The product reference (**productId**) serves as an important connector between your data and the Optimizely recommendations engine; changes to this identifier breaks a connection between collected behavior and your product catalog. To prevent this connection from breaking, inform Optimizely of any plans to change the format of product references in your feed and tracking implementation. Provide a mapping from the old to the new product references and co-ordinate a deployment with Optimizely.
## **Known limitations**
If Optimizely ServiceApi and Optimizely Product Recommendations for Commerce are installed in parallel, this imposes the following limitations on Recommendations functionality:
Client-side tracking is not supported, and user changes cannot be detected.
Although the catalog feed export works without limitation, the utility action for locally downloading the latest feed (/episerverapi/downloadcatalogfeed) requires token authentication. For more information, see [Installation and configuration - Service API](🔗) > **Configuring OWIN startup**.
To avoid these limitations, install the Service API in a separate application.
## Related blog posts
[Multi-site support in the Personalization Native Integration for Commerce](🔗)