---
title: "Suggestion click events"
slug: "suggestion-click-events"
abstract: "Understand suggestion click events, which track when a site visitor clicks a Sitecore Search search suggestion in your app."
---
# Suggestion click events

The suggestion click event tracks when the site visitor clicks a search suggestion in your app, typically one of the suggested items that pop up as they enter text in the search field.

You can send suggestion click events by using the [`widgetSuggestionClick`](https://doc.sitecore.com/sdk/en/developers/005/cloud-sdk/cloud-sdk-reference/cloud-sdk-search/cloud-sdk-search-browser/functions/cloud-sdk-search-browser-widgetsuggestionclick.html "widgetSuggestionClick") function and passing it the [suggestion click event data object](https://doc.sitecore.com/sdk/en/developers/005/cloud-sdk/cloud-sdk-reference/cloud-sdk-search/cloud-sdk-search-browser/interfaces/cloud-sdk-search-widgetsuggestionclickeventparams.html "WidgetSuggestionClickEventParams").

## The suggestion click event data object

The suggestion click event data object represents all the required and optional data about the event.

This is the object where [you provide data about the event](https://doc.sitecore.com/sdk/en/developers/005/cloud-sdk/cloud-sdk-concepts/concepts-tracking/events/sitecore-search-events/events.html#UUID-b78ff86e-4442-71e7-edc6-81adf8fabe27_section-idm46246153457504340509825241 "The data in the events"). All this data is sent to Sitecore Search, so make sure to provide the correct data depending on your organization's requirements. Construct the object in the following way:

- Provide the ID of the widget[^UUID-101b62f6-b640-ed11-1057-29646ebb9fb7_N67248fcfc8b58] that was clicked, data about the suggestion that was clicked, and the URI where the event triggered.
- Optionally, you can provide data such as the channel and the language of the page where the event triggered.

## Examples

> [!tip]
> During development, use your web browser's developer tools to [check the payload](https://doc.sitecore.com/sdk/en/developers/005/cloud-sdk/cloud-sdk-concepts/concepts-tracking/events/sitecore-search-events/events.html#UUID-b78ff86e-4442-71e7-edc6-81adf8fabe27_section-idm234451877631545 "Checking the payload") containing all the event data that is sent to Sitecore.

Example 13. Sending a suggestion click event

Here's an example event data object for a suggestion click event. The object contains all the required and some optional event data. You can send this event by passing the object to the `widgetSuggestionClick` function:

::::tabs
:::tab{title="Browser module"}

```typescript
import { widgetSuggestionClick } from "@sitecore-cloudsdk/search/browser";
import type { WidgetSuggestionClickEventParams } from "@sitecore-cloudsdk/search/browser";

const eventData: WidgetSuggestionClickEventParams = {
  request: {
    keyword: "green"
  },
  pathname: "/page",
  widgetId: "rfkid_6"
};

widgetSuggestionClick(eventData);
```

:::
:::tab{title="Server module"}

```typescript
import type { NextRequest } from "next/server";
import { NextResponse } from "next/server";
import { CloudSDK } from "@sitecore-cloudsdk/core/server";
import { widgetSuggestionClick } from "@sitecore-cloudsdk/search/server";
import type { WidgetSuggestionClickEventParams } from "@sitecore-cloudsdk/search/server";

export default async function middleware(request: NextRequest) {
  const response = NextResponse.next();

  // Initialize the SDK and the package...

  // Send event:
  const eventData: WidgetSuggestionClickEventParams = {
    request: {
    keyword: "green"
    },
    pathname: "/page",
    widgetId: "rfkid_6"
  };

  const widgetSuggestionClickResponse = await widgetSuggestionClick(request, eventData);
  console.log("Sent widget suggestion click event.", widgetSuggestionClickResponse);

  return response;
};
```

:::
::::

For this suggestion click event data object, the following payload is sent to Sitecore:

```json
{
  "browser_id": "a38b230c-11eb-4cf9-8d5d-274e9f344925​",
  "client_key": "",
  "language": "EN",
  "page": "page",
  "pos": "",
  "requested_at": "2026-01-15T11:`48:13`.573Z",
  "sc_search": {
    "data": {
      "action_cause": "suggestion",
      "value": {
        "context": {
          "page": {
            "uri": "/page"
          }
        },
        "request": {
          "keyword": "green"
        },
        "rfk_id": "rfkid_6"
      }
    },
    "metadata": {
      "ut_api_version": "1.0"
    }
  },
  "type": "SC_SEARCH_WIDGET_CLICK"
}
```

[^UUID-101b62f6-b640-ed11-1057-29646ebb9fb7_N67248fcfc8b58]: A *widget ID*, also known as the RFK ID, is a unique identifier assigned to every widget in Sitecore Search. Cloud SDK developers use the widget ID when requesting widget data and when capturing *events* that occur in a specific widget.
