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.
Decide which custom events to send
InstantSearch automatically captures many events through its widgets. Add custom events when an interaction matters to your business but isn’t covered by a default widget event. For example, a user might be presented with a list of real estate properties after performing a search from your homepage. Then click a property to view more details. Finally, convert by contacting the realtor. In this example, track these events:Property Clickedby using theclickedObjectIDsAfterSearchmethod.Property Contactedby using theconvertedObjectIDsAfterSearchmethod.
A conversion is any user action that’s valuable to your business; a user purchasing from your store or subscribing to your newsletter are examples of common conversions.
— GA4 About conversions
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 conversion events
Send events from InstantSearch widgets
You can use thesendEvent function to send conversion events from your InstantSearch app.
Unlike
click events, setting custom conversion events doesn’t prevent the custom click event from being sent.On pages without InstantSearch widgets
Conversion events represent user actions that are important to the success of your business. For example: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 is used by Algolia to relate the event to a prior search.
If the event isn’t directly related to a search, for example, it’s triggered on the homepage,
use the convertedObjectIDs method instead.
JavaScript
Track 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“Item More Info Clicked”. - A
clickevent with theeventName“Item 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 users click the View more info button,
only the “Item 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: