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

# Error codes

> Learn about errors you may encounter when setting up Advanced Personalization and how to resolve them

Advanced Personalization relies on valid, relevant, and well-structured [click and conversion events](/doc/guides/sending-events) to generate accurate user profiles.
When you [configure Advanced Personalization](/doc/guides/personalization/advanced-personalization/configure/setup/indices),
Algolia checks your events and search queries to ensure they meet specific requirements.
If they don't, Algolia returns a combination of the following errors.

Resolve any errors before continuing to configure Advanced Personalization.

<Callout icon="credit-card" color="#c084fc">
  This feature isn't available on every plan.
  Refer to your [pricing plan](https://www.algolia.com/pricing) to see if it's included.
</Callout>

## Application errors

Enabling Advanced Personalization on an application can sometimes cause it to enter a `paused` state with one of the following errors.

### Application blocked

**code:** `blocked`

Advanced Personalization has blocked the application.
Contact the [Algolia support](https://support.algolia.com/hc/en-us/requests/new) team for help.

### Application deleted

**code:** `deleted`

The application has been deleted and is no longer available within Algolia.

### Unauthorized application

**code:** `no_perso_access`

The application no longer has access to Advanced Personalization.
To verify this, go to the [Advanced Personalization dashboard](https://dashboard.algolia.com/advanced-personalization).
If needed, contact your Algolia application administrator to request access to Advanced Personalization.

### Missing attributes

**code:** `all_attr_value_filtered`

For the personalized indices in this application,
Advanced Personalization couldn't identify any attributes suitable for generating affinities.

### No application events

**code:** `no_events_last_30_days`

Advanced Personalization couldn't find any events from the last 30 days for your personalized indices.
Ensure you [capture all relevant events](/doc/guides/sending-events/getting-started) for your search and discovery process.
If the error persists after checking your setup, contact the [Algolia support](https://support.algolia.com/hc/en-us/requests/new)
team for help.

### Missing index

**code:** `missing_index`

The personalized index is no longer available within Algolia.

### Invalid configuration

**code:** `invalid_config`

The application's configuration doesn't meet the [Advanced Personalization requirements](/doc/guides/personalization/advanced-personalization/configure#before-you-begin).
Verify that you properly configured [indices](/doc/guides/personalization/advanced-personalization/configure/setup/indices) and [user events](/doc/guides/personalization/advanced-personalization/configure/setup/events).

### Pending pipelines

**code:** `pending_pipelines`

Advanced Personalization can't process this application.
Algolia has been notified and is working to resolve the issue.
If the issue persists, contact the [Algolia support](https://support.algolia.com/hc/en-us/requests/new)
team for help.

### All facets invalid

**code:** `all_facets_invalid`

The [attributes selected for affinities](/doc/guides/personalization/advanced-personalization/configure/setup/indices#select-the-attributes-for-affinities) in your Advanced Personalization configuration are invalid.
Ensure that your [index structure is appropriate](/doc/guides/personalization/advanced-personalization/configure/prerequisites/index-structure) for Advanced Personalization.

## Index errors

Algolia returns the following errors if your indices don't meet the requirements for Advanced Personalization.

### Missing index

**code:** `no_index`

An index in your configuration doesn't exist in your app.
Ensure the index name is accurately spelled or [configure Advanced Personalization in the dashboard](/doc/guides/personalization/advanced-personalization/configure/setup/indices) so you only select indices that exist.

### Missing records

**code:** `no_records`

An index in your configuration doesn't contain any records.
[Review your indices](https://dashboard.algolia.com/indices) to ensure you are configuring the correct index.
If the index you intend to use contains no records, [send data to the index](/doc/guides/sending-and-managing-data/send-and-update-your-data).

## Events errors

Algolia returns the following errors if the events for your indices don't meet the Advanced Personalization requirements.

<Tip>
  Use the [Events Debugger](https://dashboard.algolia.com/events/debugger) to check the 3,000 most recent events.
</Tip>

Advanced Personalization only checks [valid events](/doc/guides/sending-events/guides/validate) with object IDs received by Algolia in the past 24 hours.
Events with filters aren't used.

When you select a primary or replica index in the configuration,
Advanced Personalization combines and validates events for that primary index and its replicas.

### Invalid events mapping

**code:** `invalid_events_mapping`

Some events in the [`eventsMapping`](https://dashboard.algolia.com/advanced-personalization/configuration/events/) don't exist.
Ensure the event names and types of the events are accurately spelled or [use the dashboard to configure Advanced Personalization](/doc/guides/personalization/advanced-personalization/configure/setup/events).

### Mismatched object IDs

**code:** `mismatched_object_ids`

Less than 80% of events for this index and its replicas, with an `objectID`, match a corresponding record in the primary index.
[Review the index](https://dashboard.algolia.com/indices) and ensure you aren't sending events for objects that don't exist in the primary index, were recently deleted from the index, or exist in another primary index.

### Missing events

**code:** `no_events`

No events exist for this index or its replicas.
Ensure you are [capturing all important events](/doc/guides/sending-events/getting-started) related to your search and discovery experience.

### Missing user tokens

**code:** `no_user_tokens`

No events in this index or its replicas have a `userToken`.
Ensure you are [sending a valid `userToken`](/doc/guides/sending-events/concepts/usertoken) for all events.

### Unique user tokens

**code:** `single_user_token`

All the events for this index or replicas have the same `userToken`.
Ensure you are [sending a unique `userToken`](/doc/guides/sending-events/concepts/usertoken#persistent-user-token) for each user.

### Invalid user tokens

**code:** `undefined_user_tokens`

All the events for this index or replicas have a `userToken` of `undefined`, `anonymous`, or `''`.
Ensure you are [sending a unique `userToken`](/doc/guides/sending-events/concepts/usertoken#persistent-user-token) for each user.

### Missing object IDs

**code:** `no_object_ids`

Less than 50% of the received events for this index and its replicas have object IDs.
Ensure you are sending events with object IDs.

### Low number of returning users

**code:** `low_returning_users`

Less than 1% of user tokens appear in events on consecutive days.
If this isn't what you expected,
check that you've [implemented persistent user tokens](/doc/guides/sending-events/concepts/usertoken#algolia-cookie).
If this aligns with your goals,
develop a strategy to motivate users to revisit your site.

## Events warnings

To ensure the most accurate user profiles, avoid the following warnings related to your events.
Fixing them isn't mandatory but can be helpful.

### Missing user tokens

**code:** `some_events_with_no_user_tokens`

Not all events in this index or its replicas include a `userToken`.
Ensure you're [sending a valid `userToken`](/doc/guides/sending-events/concepts/usertoken) for every event.

### Invalid user tokens

**code:** `some_events_with_undefined_user_tokens`

At least 1% of the events for this index or replicas have a `userToken` of `undefined`, `anonymous`, or `''`.
Ensure you are [sending a unique `userToken`](/doc/guides/sending-events/concepts/usertoken#persistent-user-token) for every user.

### Low number of events with object IDs

**code:** `low_object_ids`

Not all events in this index or its replicas include a `userToken`.
Ensure you're [sending events with object IDs](/doc/guides/sending-events/concepts/event-types#events-by-features).

### No event subtypes

**code:** `no_event_subtypes`

Received conversion events don't have `addToCart` or `purchase` subtypes.
Ensure you're sending [valid subtypes](/doc/guides/sending-events/concepts/event-types) for all conversion events.

### Low number of returning users

**code:** `low_returning_users`

Less than 10% of user tokens appear in events on consecutive days.
If this isn't what you expected,
check that you've [implemented persistent user tokens](/doc/guides/sending-events/concepts/usertoken#algolia-cookie).
If this aligns with your goals,
develop a strategy to motivate users to revisit your site.

## Queries warnings

To ensure the highest impact of personalization on search results, resolve the following warnings related to your search queries.
Fixing them isn't mandatory but can be helpful.
Advanced Personalization only checks search queries received by Algolia in the past 24 hours.
When you select a primary or replica index in the configuration, Advanced Personalization combines and validates events and queries for that primary index and its replicas.

### No users

**code:** `no_users`

In the past 24 hours, no users have searched your personalized index.
Ensure you've correctly [configured the index for personalization](/doc/guides/personalization/advanced-personalization/configure/setup/indices).

### No queries

**code:** `no_queries`

In the past 24 hours, no search queries targeted your personalized index.
Ensure you've correctly [configured the index for personalization](/doc/guides/personalization/advanced-personalization/configure/setup/indices).

### Low number of queries with a valid user token

**code:** `low_queries_valid_user_token`

Less than 90% of your queries had a valid `userToken` parameter.

Add the [`userToken` parameter to search API requests](/doc/api-reference/api-parameters/userToken), and ensure it's not empty (`""`), `"null"`, `"undefined"`, or `"anonymous"`.

### Low number of queries with personalization enabled

**code:** `low_queries_perso_enabled`

Less than 50% of your queries have personalization enabled:

* Check your index settings under **Index > Configuration > Personalization** and set `enablePersonalization` parameter to `true`.
  You can also set this parameter while [creating an A/B test](/doc/guides/ab-testing/ab-test-implementation-checklist) or send it as a [query parameter to the search API](/doc/api-reference/api-parameters/enablePersonalization).
* Add the [`userToken` parameter to search API requests](/doc/api-reference/api-parameters/userToken).

### Low number of users with personalization enabled

**code:** `low_users_perso_enabled`

Less than 50% of your users have search personalization enabled.
This check is like [low number of queries with personalization enabled](/doc/guides/personalization/advanced-personalization/monitor/in-depth/error-codes#low-number-of-queries-with-personalization-enabled) but verifies the unique user tokens received by the search API.

### Low number of queries with personalization found

**code:** `low_queries_profile_found`

Less than 50% of your queries with personalization enabled match a user profile.
Ensure that:

* You're [sending a valid `userToken`](/doc/guides/sending-events/concepts/usertoken).
* Users have a [user token that persists across sessions](/doc/guides/sending-events/concepts/usertoken#persistent-user-token).
* User tokens sent to the search API match user tokens from Insights events.

### Low number of users with personalization found

**code:** `low_users_profile_found`

Less than 50% of your user profiles with personalization enabled are found for search queries.
This check is like [low number of queries with personalization found](/doc/guides/personalization/advanced-personalization/monitor/in-depth/error-codes#low-number-of-queries-with-personalization-found) but verifies the unique user tokens received by the search API.

### Low number of queries with personalization applied

**code:** `low_queries_profile_applied`

Less than 50% of your queries with a personalization profile found can be re-ranked by personalization.

Ensure that user profiles have more than one or two affinities.
This allows them to match with record attributes, which boosts the records in search results.

### Low number of users with personalization applied

**code:** `low_users_profile_applied`

Less than 50% of your users with a personalization profile found had search queries with records that can be boosted by personalization.
This check is like [low number of queries with personalization applied](/doc/guides/personalization/advanced-personalization/monitor/in-depth/error-codes#low-number-of-queries-with-personalization-applied) but verifies the unique user tokens received by the search API.

## Attribute errors

### Ignored regex

**code:** `ignored_regex`

This attribute uses a reserved name such as `objectID`.
Ensure that none of the attributes in your index uses a reserved name.

### No values

**code:** `no_values`

You don't have any values for this attribute in your index.
Ensure that every record in your index has a value for this attribute.

### All invalid values

**code:** `all_invalid_values`

All records in your index have an invalid value for this attribute.
Common examples of invalid values include
`unknown`, `Unknown`, `""`, `***`, `{}`, `n/a`, `N/A`, `NULL`, `null`, and `not-set`.
Remove all invalid values from your index for this attribute.

### Numerical type

**code:** `numerical_type`

This attribute is numerical across your index, making it unsuitable as a categorical attribute.
Ensure you [use categorical attributes](/doc/guides/personalization/advanced-personalization/configure/prerequisites/index-structure#use-categorical-attributes) when configuring Advanced Personalization.

### Mostly invalid values

**code:** `mostly_invalid_values`

Most of the values for this attribute in the index are invalid.
Common examples of invalid values include
`unknown`, `Unknown`, `""`, `***`, `{}`, `n/a`, `N/A`, `NULL`, `null`, and `not-set`.
Remove all invalid values from your index for this attribute.

### Excessive unique values

**code:** `excessive_unique_values`

Most values for this attribute in the index are unique, indicating it isn't truly categorical.
Ensure you [use categorical attributes](/doc/guides/personalization/advanced-personalization/configure/prerequisites/index-structure#use-categorical-attributes) when configuring Advanced Personalization.

### Single unique value

**code:** `single_unique_value`

All values for this attribute in the index are identical,
but Advanced Personalization requires at least two categories.
Ensure your index includes at least two distinct values for this attribute.
