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

# Clicked filters

> Send a click event to capture when users select filters.

export const Legacy = ({title, href}) => {
  return <Note>

    This page documents an earlier version of the API client.
    For the latest version, see <a href={href}>{title}</a>.

    </Note>;
};

<Legacy title="Send events" href="/doc/libraries/sdk/methods/insights/push-events" />

**Required ACL:** `search`

Use this event to track when users click facet filters in your user interface.

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

<Info>
  You can't send these events for numeric filters.
</Info>

## Examples

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

<CodeGroup>
  ```cs C# theme={"system"}
  var insights = new InsightsClient(
    "YourApplicationID",
    "YourSearchOnlyAPIKey"
  ).User("user-123456");

  insights.ClickedFilters(
    "Brand Clicked",
    "YourIndexName",
    new List<string> { "brand:apple" }
  );
  ```

  ```go Go theme={"system"}
  client := insights.NewClient(
  	"YourApplicationID",
  	"YourSearchOnlyAPIKey",
  ).User("user-123456")

  res, err := client.ClickedFilters(
  	"Brand Clicked",
  	"YourIndexName",
  	[]string{"brand:apple"},
  )
  ```

  ```java Java theme={"system"}
  UserInsightsClient insights = DefaultInsightsClient
      .create("YourApplicationID","YourSearchOnlyAPIKey")
      .user("user-123456");

  insights.clickedFilters(
    "Brand Clicked",
    "YourIndexName",
    Collections.singletonList("brand:apple")
  );
  ```

  ```js JavaScript theme={"system"}
  // This requires the `search-insights` library

  aa("clickedFilters", {
    userToken: "anonymous-123456", // required for Node.js
    authenticatedUserToken: "user-123456",
    index: "YourIndexName",
    eventName: "Brand Clicked",
    filters: ["brand:apple"],
  });
  ```

  ```kotlin Kotlin theme={"system"}
  val userToken = UserToken("user-123456")

  clientInsights.User(userToken).clickedFilters(
      indexName = IndexName("YourIndexName"),
      eventName = EventName("Brand Clicked"),
      filters = listOf(Filter.Facet(Attribute("brand"), "apple"))
  )
  ```

  ```php PHP theme={"system"}
  $insights = Algolia\AlgoliaSearch\InsightsClient::create(
    'YourApplicationID',
    'YourSearchOnlyAPIKey'
  );

  $insights->user("user-123456")->clickFilters(
    'Brand Clicked',
    'YourIndexName',
    ['brand:apple']
  );
  ```

  ```python Python theme={"system"}
  insights = InsightsClient.create("YourApplicationID", "YourSearchOnlyAPIKey")

  insights.user("user-123456").clicked_filters(
      "Brand Clicked", "YourIndexName", ["brand:apple"]
  )
  ```

  ```ruby Ruby theme={"system"}
  insights = Algolia::Insights::Client.create("YourApplicationID", "YourSearchOnlyAPIKey")

  insights.user("user-123456").clicked_filters(
    "Brand Clicked",
    "YourIndexName",
    ["brand:apple"]
  )
  ```

  ```scala Scala theme={"system"}
  client.execute {
    send event ClickedFilters(
      "user-123456",
      "Brand Clicked",
      "YourIndexName",
      Seq("brand:apple")
    )
  }
  ```

  ```swift Swift theme={"system"}
  Insights.register(
    appId: "YourApplicationID",
    apiKey: "YourSearchOnlyAPIKey",
    userToken: "user-123456"
  )

  Insights.shared?.clicked(
    eventName: "Brand Clicked",
    indexName: "YourIndexName",
    filters: ["brand:apple"]
  )
  ```
</CodeGroup>

## 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="filters" type="string[]" required>
  List of facet filters.

  You can include up to 10 filters.

  **Format:** `${attribute}:${value}`—for example, `brand:apple`.
  Both the `attribute` and `value` in each facet filter must be [URL-encoded](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding) individually and separated by a `:`, such as, `"discount:10%25"`.
</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="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>
