> ## Documentation Index
> Fetch the complete documentation index at: https://algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Event types

> Learn about the different events you can collect with the Algolia Insights API and the features they unlock

export const Records = () => <Tooltip tip="A record is a searchable object in an Algolia index. Each record consists of named attributes." cta="Algolia records" href="/doc/guides/sending-and-managing-data/prepare-your-data#algolia-records">
    records
  </Tooltip>;

The Algolia Insights API accepts three types of events: click, conversion, and view events.
By sending events, you can enable one or more Algolia features.

For an overview of how events, `queryID`, and `userToken` work together,
see [Click and conversion events](/doc/guides/sending-events).
To choose an implementation path,
see [Choose how to send events](/doc/guides/sending-events/getting-started).

## Events by features

The following table lists events and where they're used.

|                                                                                                          | Search                           | Recommend                        | Advanced Personalization         | Classic Personalization          |
| -------------------------------------------------------------------------------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
| [`clickedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/clicked-object-ids-after-search)           | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`convertedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/converted-object-ids-after-search)       | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`addedToCartObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids-after-search) | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`purchasedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/purchased-object-ids-after-search)       | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`clickedObjectIDs`](/doc/libraries/sdk/v1/methods/clicked-object-ids)                                   |                                  | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`convertedObjectIDs`](/doc/libraries/sdk/v1/methods/converted-object-ids)                               |                                  | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`addedToCartObjectIDs`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids)                         |                                  | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`purchasedObjectIDs`](/doc/libraries/sdk/v1/methods/purchased-object-ids)                               |                                  | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`viewedObjectIDs`](/doc/libraries/sdk/v1/methods/viewed-object-ids)                                     |                                  |                                  | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`clickedFilters`](/doc/libraries/sdk/v1/methods/clicked-filters)                                        |                                  |                                  | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`convertedFilters`](/doc/libraries/sdk/v1/methods/converted-filters)                                    |                                  |                                  | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |
| [`viewedFilters`](/doc/libraries/sdk/v1/methods/viewed-filters)                                          |                                  |                                  | <Icon icon="circle-check-big" /> | <Icon icon="circle-check-big" /> |

<Note>
  The **Search** column refers to NeuralSearch, Dynamic Re-Ranking,
  Query Categorization, Analytics, and A/B testing.
</Note>

To learn more about the properties of each event,
see the [Insights API reference](/doc/rest-api/insights).

## Minimum number of events

In general, the features that require events work better with more events.
Some features need a minimum number of events to be active.

### Events requirements for NeuralSearch

Events **aren't** required to activate NeuralSearch.
If you don't have events, Algolia can generate a configuration from your index.

NeuralSearch uses these event types:

* [`clickedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/clicked-object-ids-after-search/) (click)
* [`convertedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/converted-object-ids-after-search/) (conversion)
* [`addedToCartObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids-after-search/) (conversion)
* [`purchasedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/purchased-object-ids-after-search/) (conversion)

### Events requirements for Recommend—Frequently Bought Together

* **Minimum** 1,000 conversion events with 2 or more products within 30 days
* **Maximum** 3,000,000 conversion events within 30 days

If there aren't enough events within 30 days, the collection period extends to 90 days.

[Frequently Bought Together](/doc/guides/algolia-recommend/overview#frequently-bought-together) uses these events:

* [`convertedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/converted-object-ids-after-search)
* [`convertedObjectIDs`](/doc/libraries/sdk/v1/methods/converted-object-ids)
* [`addedToCartObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids-after-search)
* [`addedToCartObjectIDs`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids)
* [`purchasedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/purchased-object-ids-after-search)
* [`purchasedObjectIDs`](/doc/libraries/sdk/v1/methods/purchased-object-ids)

### Events requirements for Recommend Related Products

* **Minimum** 10,000 events within 30 days
* **Maximum** 3,000,000 events within 30 days

If there aren't enough events within 30 days, the collection period extends to 90 days.

[Related Products](/doc/guides/algolia-recommend/overview#related-items) uses these events:

* [`clickedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/clicked-object-ids-after-search)
* [`clickedObjectIDs`](/doc/libraries/sdk/v1/methods/clicked-object-ids)
* [`convertedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/converted-object-ids-after-search)
* [`convertedObjectIDs`](/doc/libraries/sdk/v1/methods/converted-object-ids)
* [`addedToCartObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids-after-search)
* [`addedToCartObjectIDs`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids)
* [`purchasedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/purchased-object-ids-after-search)
* [`purchasedObjectIDs`](/doc/libraries/sdk/v1/methods/purchased-object-ids)

### Events requirements for Recommend—Related Content

* **Minimum** 10 events on items with content-based attributes within 30 days
* **Maximum** 1,500,000 events within 30 days

If there aren't enough events within 30 days, the collection period extends to 90 days.

[Related Content](/doc/guides/algolia-recommend/overview#related-items) uses the same events as the Related Products model.

### Events requirements for Recommend—Trending Items and Trending Facet Values

* **Minimum** 500 conversion events within 30 days
* **Maximum** 3,000,000 conversion events.

[Trending Items and Trending Facet Values](/doc/guides/algolia-recommend/overview#trending-items-and-trending-facet-values) use these events:

* [`convertedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/converted-object-ids-after-search)
* [`convertedObjectIDs`](/doc/libraries/sdk/v1/methods/converted-object-ids)
* [`addedToCartObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids-after-search)
* [`addedToCartObjectIDs`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids)
* [`purchasedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/purchased-object-ids-after-search)
* [`purchasedObjectIDs`](/doc/libraries/sdk/v1/methods/purchased-object-ids)

### Events requirements for Dynamic Re-Ranking

* **Minimum** 20 click events **OR** 2 conversion events within 30 days

<Records /> with fewer events won't be re-ranked.

[Dynamic Re-Ranking](/doc/guides/algolia-ai/re-ranking) uses these events:

* [`clickedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/clicked-object-ids-after-search) (click)
* [`convertedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/converted-object-ids-after-search) (conversion)
* [`addedToCartObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids-after-search) (conversion)
* [`purchasedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/purchased-object-ids-after-search) (conversion)

To prevent a [manipulation of your ranking](/doc/guides/algolia-ai/re-ranking#security),
Dynamic Re-Ranking only considers **1 event per user (`userToken`) per search query per record (`objectID`).**

### Events requirements for Query Categorization

[Query Categorization](/doc/guides/algolia-ai/query-categorization) needs a minimum number of events to train the model for predicting categories.
It always uses events from the last 90 days.

Query Categorization uses these events:

* [`clickedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/clicked-object-ids-after-search)
* [`convertedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/converted-object-ids-after-search)
* [`addedToCartObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/added-to-cart-object-ids-after-search)
* [`purchasedObjectIDsAfterSearch`](/doc/libraries/sdk/v1/methods/purchased-object-ids-after-search)

### Events requirements for Personalization

Classic Personalization and Advanced Personalization can use any of the above events.

The requirements for Advanced Personalization are detailed in [Requirements and limits](/doc/guides/personalization/advanced-personalization/configure/prerequisites/consider-requirements-limits).

## Events on category pages

You can [build category pages](/doc/guides/solutions/ecommerce/browse/tutorials/category-pages) with Algolia by sending an empty search query and an applied filter.

Because category pages are just a different form of search requests,
you'll use the same events for category pages and search results.
However, ensure you can differentiate between search and category page events by [segmenting your analytics data](/doc/guides/search-analytics/guides/segments).
Use the [events debugger](/doc/guides/sending-events/guides/validate#debugger) and consistent event names to see which segment corresponds to which event.

## Events related and unrelated to Algolia requests

Some events come in two variants: with and without a query ID.
Events with a query ID have [`AfterSearch`](/doc/guides/sending-events/concepts/event-types#events-by-features) in their name.

Most Algolia features use events with query IDs, for example, to calculate the conversion rate of your search.

<Warning>
  Events without a query ID are not considered for most Algolia features. For more information about the types of events accepted by each feature, refer to the [**Events by features**](/doc/guides/sending-events/concepts/event-types#events-by-features) table.
</Warning>

### Events related to Algolia requests

Use methods with `AfterSearch` in their name when a click or conversion happens after an Algolia search or [browse](#events-on-category-pages) request.
These methods require a `queryID`, which Algolia returns when you set [`clickAnalytics`](/doc/api-reference/api-parameters/clickAnalytics) to `true`.

<Note>
  Click and conversion events with a `queryID` are **time-sensitive.**
  They must occur within one hour of the corresponding search request.
</Note>

### Events unrelated to Algolia requests

Use methods without `AfterSearch` when an interaction isn't tied to a previous Algolia search or browse request.
Common examples include homepage modules, recommendation emails, and conversions that happen long after the original search.

For details on capturing, passing, and inferring `queryID`,
see [Keep track of query IDs](/doc/guides/sending-events/guides/queryid).
