Enable events collection
To follow this guide, build search results or category pages with one of these UI libraries:- InstantSearch.js version 4.59 or later (Upgrade guide)
- React InstantSearch version 7.2.1 or later (Upgrade guide)
- Vue InstantSearch version 4.12.0 or later (Upgrade guide)
search-insights library for you from jsDelivr.
You don’t need to install or initialize it yourself.
If you’re using a Content Security Policy and you want to let InstantSearch load search-insights,
add https://cdn.jsdelivr.net to your list of trusted JavaScript sources.
search-insights, add it to your project:
InstantSearch doesn’t load search-insights when it detects it on the page.
You can enable automatic collection in the Algolia dashboard or in your InstantSearch app.
Enabling automatic events collection does the following:
- Adds the
search-insightslibrary to your project and makes it globally available aswindow.aa - Sets an anonymous
userTokenfor events and search requests - Includes the
queryIDparameter in the search response - Sends default click and view events for your InstantSearch widgets
No code
- Go to the Algolia dashboard and select your Algolia .
- On the left sidebar, select Data sources > Events > Settings.
- Click Enable automatic events collection.
Code
Enable theinsights option:
queryID and userToken,
see Keep track of query IDs
and User token.
Map your media journey to events
Map the steps users take through your website and add events that aren’t automatically captured by InstantSearch widgets. This is especially useful for actions such as watching a video, reading an article, or liking a page.- Search results page
- Browse page
- External referrals

- Select content from the search results to open the content details page.
- Consume content, such as watching a video, reading an article, or listening to an audio track.
- Interact with content, such as liking, subscribing, or following.
Search and search results pages
Browse/category page
Content details page
| User action | Method name | Automatically collected? |
|---|---|---|
| User views content | viewedObjectIDs | No |
Track query IDs across pages
Conversion events often happen outside the search results page.- A query ID is returned by the when a user performs a search.
- To associate a conversion with the correct , save this query ID and include it in your conversion events.
- To link conversion events back to the originating search request on your search results or category pages, track query IDs across your pages.
Track media conversion events
Send events from InstantSearch widgets
You can use thesendEvent function to send conversion events from your InstantSearch app.
Setting custom
conversion events doesn’t prevent the custom click event from being sent.On pages without InstantSearch widgets
An example of a conversion event that may be relevant to your media site:JavaScript
window.aa object is the API client for the Insights API and is globally available
if you enabled automatic events collection.
The queryID parameter of the convertedObjectIDsAfterSearch method is used by Algolia to relate the event to a prior search.
The objectIDs parameter of the convertedObjectIDsAfterSearch method indicates which items were part of the conversion.
The objectID parameter is included in the search response for each hit.
If the event isn’t directly related to a search, for example, it’s triggered on the homepage,
use the convertedObjectIDs method instead.
JavaScript
Article Bookmarked: a user bookmarked an article.Article Liked: a user liked an article.Article Recommended: a user recommended an article.Playlist Followed: a user followed a playlist.Author Followed: a user followed an author.Brand Followed: a user followed a brand.
Track media click events
Override default click events
Thehits and infiniteHits widgets expose a sendEvent function. Use it to send click events when users interact with your search results.
- A
clickevent with theeventName“Article More Info Clicked” - A
clickevent with theeventName“Article Clicked” (through event propagation)
Event.stopPropagation in your event handler.
click event that you defined,
it doesn’t send the default click event. In the following example,
when clicking the View more info button, only the “Article More Info Clicked” event is sent.
Track more click events
For Algolia Recommend and Personalization, capture additional click events when users select individual items:- On your home page
- From recommendations
JavaScript
Optional: identify known users for Personalization
For effective personalization, identify users across sessions. It’s best to use an identifier from your authentication system after users sign in. After getting the identifier from your system, set it as theauthenticatedUserToken parameter.
JavaScript
JavaScript
Optional: send view events for Personalization
Personalization benefits from the same click and conversion events, plus it can use view events to enrich each . Use the following code snippet to track view events, such as when a user views search results.JavaScript
You don’t need to send a
queryID when tracking view events.Examples
- InstantSearch.js:
- React InstantSearch:
- Vue InstantSearch:

