Personalization implementation checklist
On this page
This checklist lists all Personalization implementation steps and provides pointers to help you complete a successful implementation. You can read more about each step in the dedicated guides included in Personalizing Results.
Gathering user data
The first step to an effective Personalization implementation is gathering the right data about your users. When your users engage in specific behaviors, you need to send Algolia events describing these behaviors. Algolia then uses these events to build individual user affinity profiles. Before beginning to send events, it’s best to analyze which behaviors your users take and creating a plan for the corresponding events you’ll send.
You’ve analyzed which user behaviors are meaningful for your business objectives
- You’ve made a comprehensive list of behaviors your users take that signal their affinities.
- You’ve classified behaviors as
view
,click
, orconversion
. - You’ve classified behaviors as search-related or not.
- You’ve classified behaviors as item-based or category-based.
- You’ve selected consistent event names.
You’re sending valid events that capture all necessary information
- All your events include a unique
userToken
for the user engaging in the behavior. - You are using
view
,click
, andconversion
events for the appropriate behavior. - All your events include a valid
eventName
. - All your events include the index name where you’ve declared the applicable facets as
attributesForFaceting
. - If you’re sending events related to a search, you’ve included the
queryID
. - If you’re sending item-based events, you’ve included the relevant
objectID
(s). - If you’re sending category or filter-based events, you’ve included the relevant
filters
. - Optional but recommended: you’ve included the
timestamp
for when the behavior occurred.
You can use the Insights log debugger in your dashboard to monitor the received events and ensure that none of them are missing fields or returning errors.
Configuring your Personalization strategy
The Personalization strategy drives how Algolia computes user affinity profiles using the events you sent. You can configure the Personalization strategy directly from your Algolia dashboard or using the API clients. Algolia recommends using the dashboard since it provides a visual simulator to simulate and explain your strategy’s effects.
You’ve defined a valid Personalization strategy
- You’ve included and weighted events in your strategy.
- You’re sending the events that you chose in the strategy. You can see the events received during the last 90 days in the Personalization section of the dashboard.
- You’ve included and weighted facets in your strategy. To select facets for the strategy, you need to first declare the attributes as facets.
- You’re sending events related to the facets you chose in the strategy.
- You’ve set a non-zero Personalization impact. You can set the Personalization impact at the app level in your Personalization dashboard, or with the
personalizationImpact
search parameter, at query time.
You’ve simulated your strategy for real users
- You’ve used the simulator in the dashboard’s Personalization section to simulate your strategy for various users and queries. The personalized results are as you would expect.
Enabling personalization on searches
Personalized searches build on a user’s affinity profile to boost search results related to their preferences. It’s best to use the API clients or InstantSearch UI libraries to perform searches.
You’re including enablePersonalization
and userToken
in your search requests.
- You’ve set
enablePersonalization
totrue
either as a search parameter or in the index configuration. - You’re using consistent
userToken
s in events and searches. To have personalized results, you must use the sameuserToken
for the events you send for a particular user and the searches that user makes.
If you haven’t sent events for a particular userToken
in the last 90 days, Algolia doesn’t personalize that user’s results.
Next steps
Before enabling Personalization for all your users, it’s best to A/B test your Personalization implementation first.