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

# Retrieve add-to-cart rate

> Retrieves the add-to-cart rate for all your searches with at least one add-to-cart event, including a daily breakdown.

**Required ACL:** `analytics`

By default, the analyzed period includes the last eight days including the current day.

The rate is the number of add-to-cart conversion events divided by the number of tracked searches.
A search is tracked if it returns a queryID (`clickAnalytics` is `true`).
This differs from the response's `count`, which shows the overall number of searches, including those where `clickAnalytics` is `false`.

**There's a difference between a 0 and null add-to-cart rate when `clickAnalytics` is enabled:**

* **Null** means there were no queries: since Algolia didn't receive any events, the add-to-cart rate is null.
* **0** mean there *were* queries but no [add-to-cart events](https://www.algolia.com/doc/guides/sending-events/getting-started) were received.

## Usage

<CodeGroup>
  ```cs C# theme={"system"}
  // Initialize the client
  var client = new AnalyticsClient(
    new AnalyticsConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
  );

  // Call the API
  var response = await client.GetAddToCartRateAsync("index");

  // print the response
  Console.WriteLine(response);
  ```

  ```go Go theme={"system"}
  // Initialize the client with your application region, eg. analytics.ALGOLIA_APPLICATION_REGION
  client, err := analytics.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", analytics.US)
  if err != nil {
    // The client can fail to initialize if you pass an invalid parameter.
    panic(err)
  }

  // Call the API
  response, err := client.GetAddToCartRate(client.NewApiGetAddToCartRateRequest(
    "index"))
  if err != nil {
    // handle the eventual error
    panic(err)
  }


  // print the response
  print(response)
  ```

  ```java Java theme={"system"}
  // Initialize the client
  AnalyticsClient client = new AnalyticsClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");

  // Call the API
  GetAddToCartRateResponse response = client.getAddToCartRate("index");

  // print the response
  System.out.println(response);
  ```

  ```js JavaScript theme={"system"}
  // Initialize the client
  // Replace 'us' with your Algolia Application Region
  const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initAnalytics({ region: 'us' });

  // Call the API
  const response = await client.getAddToCartRate({ index: 'index' });


  // print the response
  console.log(response);
  ```

  ```kotlin Kotlin theme={"system"}
  // Initialize the client
  val client =
    AnalyticsClient(
      appId = "ALGOLIA_APPLICATION_ID",
      apiKey = "ALGOLIA_API_KEY",
      region = "ALGOLIA_APPLICATION_REGION",
    )

  // Call the API
  var response = client.getAddToCartRate(index = "index")


  // print the response
  println(response)
  ```

  ```php PHP theme={"system"}
  // Initialize the client
  $client = AnalyticsClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY', 'ALGOLIA_APPLICATION_REGION');

  // Call the API
  $response = $client->getAddToCartRate(
      'index',
  );


  // print the response
  var_dump($response);
  ```

  ```python Python theme={"system"}
  # Initialize the client
  # In an asynchronous context, you can use AnalyticsClient instead, which exposes the exact same methods.
  client = AnalyticsClientSync(
      "ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION"
  )

  # Call the API
  response = client.get_add_to_cart_rate(
      index="index",
  )


  # print the response
  print(response)
  ```

  ```ruby Ruby theme={"system"}
  # Initialize the client
  client = Algolia::AnalyticsClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")

  # Call the API
  response = client.get_add_to_cart_rate("index")


  # print the response
  puts(response)
  ```

  ```scala Scala theme={"system"}
  // Initialize the client
  val client = AnalyticsClient(
    appId = "ALGOLIA_APPLICATION_ID",
    apiKey = "ALGOLIA_API_KEY",
    region = Option("ALGOLIA_APPLICATION_REGION")
  )

  // Call the API
  val response = Await.result(
    client.getAddToCartRate(
      index = "index"
    ),
    Duration(100, "sec")
  )

  // print the response
  println(response)
  ```

  ```swift Swift theme={"system"}
  // Initialize the client
  let client = try AnalyticsClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY", region: .us)

  // Call the API
  let response = try await client.getAddToCartRate(index: "index")

  // print the response
  print(response)
  ```
</CodeGroup>

<Card icon="folder-code" horizontal="true" title="See the full API reference" arrow="true" href="/doc/rest-api/analytics/get-add-to-cart-rate">
  For more details about input parameters
  and response fields.
</Card>
