---
title: "Widget view events"
slug: "widget-view-events"
abstract: "Understand widget view events, which track when a site visitor views a Sitecore Search widget in your app."
---
# Widget view events

The widget view event tracks when the site visitor views a Sitecore Search widget in your app.

You can send widget view events by using the [`widgetView`](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-widgetview.html "widgetView") function and passing it the [widget view 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-widgetvieweventparams.html "WidgetViewEventParams").

## The widget view event data object

The widget view 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 viewed, data about the index documents that were viewed, 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 9. Sending a widget view event

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

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

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

const eventData: WidgetViewEventParams = {
  request: {
    keyword: "green",
    numResults: 3,
    totalResults: 3,
    numRequested: 10
  },
  entities: [
    {
      entity: "product",
      id: "1"
    },
    {
      entity: "product",
      id: "2"
    },
    {
      entity: "product",
      id: "3"
    }
  ],
  pathname: "/page",
  widgetId: "rfkid_7"
};

widgetView(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 { widgetView } from "@sitecore-cloudsdk/search/server";
import type { WidgetViewEventParams } 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: WidgetViewEventParams = {
    request: {
      keyword: "green",
      numResults: 3,
      totalResults: 3,
      numRequested: 10
    },
    entities: [
      {
        entity: "product",
        id: "1"
      },
      {
        entity: "product",
        id: "2"
      },
      {
        entity: "product",
        id: "3"
      }
    ],
    pathname: "/page",
    widgetId: "rfkid_7"
  };

  const widgetViewResponse = await widgetView(request, eventData);
  console.log("Sent widget view event.", widgetViewResponse);

  return response;
}
```

:::
::::

For this widget view event data object, the following payload is sent to Sitecore:

```json
{
  "browser_id": "a38b230c-11eb-4cf9-8d5d-274e9f344925​",
  "client_key": "",
  "language": "EN",
  "page": "search",
  "pos": "",
  "requested_at": "2026-01-13T09:`18:06`.130Z",
  "sc_search": {
    "data": {
      "action_cause": "entity",
      "value": {
        "context": {
          "page": {
            "uri": "/page"
          }
        },
        "entities": [
          {
            "entity_type": "product",
            "id": "1"
          },
          {
            "entity_type": "product",
            "id": "2"
          },
          {
            "entity_type": "product",
            "id": "3"
          }
        ],
        "request": {
          "keyword": "green",
          "num_requested": 10,
          "num_results": 3,
          "total_results": 3
        },
        "rfk_id": "rfkid_7"
      }
    },
    "metadata": {
      "ut_api_version": "1.0"
    }
  },
  "type": "SC_SEARCH_WIDGET_VIEW"
}
```

[^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.
