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

# Added to cart object IDs

> Send a conversion event to capture when users add items to their shopping cart.

**Required ACL:** `search`

Use this event to track when users add items to their shopping cart unrelated to a previous Algolia request.
For example, if you don't use Algolia to build your [category pages](/doc/guides/solutions/ecommerce/browse/tutorials/category-pages),
use `addedToCartObjectIDs`.

For details where this event is used, see [Event types](/doc/guides/sending-events/concepts/event-types).

**Related methods:**

* [`addedToCartObjectIDsAfterSearch`](/doc/libraries/search-insights/added-to-cart-object-ids-after-search): track *Add to cart* events **related to Algolia requests**.
* [`purchasedObjectIDs`](/doc/libraries/search-insights/purchased-object-ids): track *Purchase* events **not related to Algolia requests**.
* [`convertedObjectIDs`](/doc/libraries/search-insights/converted-object-ids): track other conversion events **not related to Algolia requests**.
* [`sendEvents`](/doc/libraries/search-insights/send-events): if you don't want to send real-time events.

## Examples

For more information about initializing the JavaScript Insights client `aa`,
see [Initialize the Insights client](/doc/libraries/search-insights/init).

```js JavaScript icon=code theme={"system"}
aa("addedToCartObjectIDs", {
  userToken: "anonymous-123456", // required for Node.js
  authenticatedUserToken: "user-123456",
  eventName: "your_event_name",
  index: "INDEX_NAME",
  objectIDs: ["objectID-1", "objectID-2"],
  objectData: [
    {
      price: 19.99,
      discount: 3.99,
      quantity: 3,
    },
    {
      price: 59.99,
      quantity: 2,
    },
  ],
  value: 179.95,
  currency: "USD",
});
```

## Parameters

<ParamField body="eventName" type="string" required>
  Name of the specific event.

  **Format:** 1-64 ASCII characters, except control characters.

  To maximize the impact of your events,
  use consistent event names and consistent formatting,
  for example, "Product Added To Cart" (always in title case).

  For example, you can adopt Twilio Segment's [object-action framework](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework).
</ParamField>

<ParamField body="indexName" type="string" required>
  Name of the Algolia index.

  **Format**: same as the index name used by the search engine.

  Some API clients use `index` instead of `indexName`.
</ParamField>

<ParamField body="objectIDs" type="string[]" required>
  List of object IDs for items of an Algolia index.

  You can include up to 20 object IDs.
</ParamField>

<ParamField body="userToken" type="string" required>
  Anonymous user identifier.

  See also: [User token](/doc/guides/sending-events/concepts/usertoken)
</ParamField>

<ParamField body="authenticatedUserToken" type="string">
  Pseudonymous identifier for authenticated users.

  <Warning>
    Don't include personally identifiable information in user tokens.
  </Warning>

  See also: [User token](/doc/guides/sending-events/concepts/usertoken)
</ParamField>

<ParamField body="currency" type="string">
  If you include pricing information in the `objectData` parameter or provide `value`,
  you must also specify the currency as ISO-4217 currency code,
  such as USD or EUR.
</ParamField>

<ParamField body="discount" type="number | string">
  Absolute value of the discount in effect for this object,
  measured in `currency`.

  Must be a decimal number with no more than 16 characters (including non-digit characters).
</ParamField>

<ParamField body="objectData" type="object[]">
  Extra information about the records involved in the event,
  for example, price and quantities of purchased products.

  If provided, must be the same length as `objectIDs`.

  If you include pricing information, you must also specify the `currency` parameter.
</ParamField>

<ParamField body="price" type="number | string">
  The price of the item.
  This should be the final price including any discounts.

  Must be a decimal number with no more than 16 characters (including non-digit characters).
</ParamField>

<ParamField body="quantity" type="number">
  The quantity of the purchased or added-to-cart item.
  The total value of a purchase is the sum of `quantity` multiplied by the
  `price` of each purchased item.
</ParamField>

<ParamField body="value" type="number | string">
  The monetary value of the event, measured in `currency`.
  For example, the total value of a purchase.

  If you assign a `value`, you must also specify the `currency` parameter.

  Must be a decimal number with no more than 16 characters (including non-digit characters).
</ParamField>
