Skip to main content
Personalization gives your users a better search experience and increases engagement with your catalog. Implementing personalization has three main steps:
  1. Gather user data, which breaks down into:
    • Plan which user behavior to track
    • Capturing user behavior by sending events
  2. Configure your personalization strategy, including simulating and testing
  3. Enable personalization in production
This page provides a high-level overview of these steps.
This feature isn’t available on every plan. Refer to your pricing plan to see if it’s included.

Plan which user behavior to track

User behavior, both search and non-search related, gives insight into their affinities. For example, users signal preferences when they click products, bookmark pages, visit category pages, add items to their cart, watch videos, and read articles. Algolia calls these user preferences “affinities.” Each time a user does something meaningful, you can send an event to Algolia. Algolia uses this event to build that user’s profile. Before you send events, understand your users’ behavior and plan which ones to collect. Without this planning, you could end up with inconsistent user data. That makes later stages harder. For more information, see Plan your implementation.

Capture user behavior by sending events

After you decide which behaviors to track, send Algolia events that capture each behavior’s important details. These events give Algolia the user data it needs to build affinity profiles. To send events, add short code snippets to your frontend components, one for each user behavior. For example, say adding a product to the cart is a meaningful behavior. You add code to the “Add to cart” button. This code sends an event with the user and product information. See separate guides for how to send events to Algolia using the frontend libraries and API clients. Algolia uses many of the same events for Click, conversion, and revenue analytics and other advanced features such as A/B testing and Dynamic Re-ranking. To track activity consistently, no matter which features use the data, plan which user behaviors to monitor before you send any events. For more information, see Capture user behavior as events. Different event types need different information. It’s best to use the API clients, which offer specific methods for each event type. You can send events from anywhere in your website or app. Keep event names and meanings consistent throughout your app. Use the same event name for the same behavior. This way, you can reuse the same events across platforms, such as your website and mobile app.
Sending events requires coding.

Configure your personalization strategy

A personalization strategy is the set of configuration choices that build accurate user affinity profiles. You need to configure personalization because one strategy doesn’t fit every need. Different goals need different strategies. Configuring your personalization strategy comes down to three questions:
  1. Which events should you include, and how important are they relative to one another?
  2. Which facets should you include, and how important are they relative to one another?
  3. How much impact should personalization have on your relevance?
To configure your personalization strategy, go to the Personalization section of the Algolia dashboard. In the dashboard, select which events and facets to include, and how strongly to weight them when Algolia creates user affinity profiles. For example, you can make purchasing a product a stronger signal than liking it, and make brand a more important than color. You can also decide how much impact personalization has on your relevance. To learn more, see Configure personalization.

Simulate and test your personalization strategy

Knowing how much each event and facet should weigh in your strategy can be hard. Though you may know that purchasing is a stronger signal than liking, it can be hard to decide how much stronger it should be. Similarly, you may not know how much of a role you want personalization to play in your ranking. That’s why the Personalization section of the dashboard includes a simulator. The simulator shows the effect of potential strategies on real user profiles before you put the strategy into production. Even after you configure and simulate a strategy with multiple users, it’s best to use A/B testing. This feature lets you test personalization on a percentage of your users before you roll it out to everyone. Personalization can strongly affect your relevance and search experience. Plan each step, and take care. Use the Algolia dashboard to simulate your strategy and run A/B tests. For more information, see:

Turn on personalization in production

For your users to receive personalized results, you need to do two things:
  1. Enable personalization at query time.
  2. Let Algolia know which user is making which query.
To turn on personalization, set enablePersonalization to true, either as setting or as a search parameter. If you enable enablePersonalization as an index setting, every query made to that index uses personalization by default unless overridden at query time. Whether you set enablePersonalization at query time or at the index level, you must send a user’s userToken with each query you want to personalize. Without it, Algolia doesn’t know which affinity profile to use to personalize results.
Enabling personalization in production requires coding.
For more information, see Distinguish users for analytics.

Troubleshooting personalization

Algolia provides tools to help you debug your personalization setup if it isn’t working. First, ensure you’ve taken all the steps in the implementation checklist. If you have, use the Implementation help tab in the Personalization section of the dashboard. For more information, see:
Last modified on September 16, 2026