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

The navigation click event tracks when the site visitor clicks a navigation item in your app, typically on a search results page. For example, when the site visitor clicks a navigation button to move to a different page of search results.

You can send navigation click events by using the [`widgetNavigationClick`](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-widgetnavigationclick.html "widgetNavigationClick") function and passing it the [navigation 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-widgetnavigationclickeventparams.html "WidgetNavigationClickEventParams").

## The navigation click event data object

The navigation 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 navigation item 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 12. Sending a navigation click event

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

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

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

const eventData: WidgetNavigationClickEventParams = {
  widgetId: "rfkid_2",
  pathname: "/rec",
  itemPosition: 1
};

widgetNavigationClick(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 { widgetNavigationClick } from "@sitecore-cloudsdk/search/server";
import type { WidgetNavigationClickEventParams } 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: WidgetNavigationClickEventParams = {
    widgetId: "rfkid_2",
    pathname: "/rec",
    itemPosition: 1
  };

  const widgetNavigationClickResponse = await widgetNavigationClick(request, eventData);
  console.log("Sent widget navigation click event.", widgetNavigationClickResponse);

  return response;
};
```

:::
::::

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

```json
{
  "browser_id": "a38b230c-11eb-4cf9-8d5d-274e9f344925​",
  "client_key": "",
  "language": "EN",
  "page": "rec",
  "pos": "",
  "requested_at": "2026-01-14T11:`25:23`.325Z",
  "sc_search": {
    "data": {
      "action_cause": "navigation",
      "value": {
        "context": {
          "page": {
            "uri": "/rec"
          }
        },
        "index": 1,
        "rfk_id": "rfkid_2"
      }
    },
    "metadata": {
      "ut_api_version": "1.0"
    }
  },
  "type": "SC_SEARCH_WIDGET_NAVIGATION_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.
