# Interface IChangeAnalyticsCustomDataEventArgs

The `IChangeAnalyticsCustomDataEventArgs` interface describes the object that all `changeAnalyticsCustomData` event handlers receive as an argument.

This interface extends the `IChangeableAnalyticsDataObject` interface.

Notes:

> - External code can only modify the attributes described by the `IChangeableAnalyticsDataObject` interface.
> - When the analytics event being logged is a `ClickEvent`, the `ChangeAnalyticsCustomDataEventArgs` object also contains a `resultData` attribute, which describes the `QueryResult` that was clicked. External code cannot modify this object.

## Index

### Properties

- actionCause
- actionType
- language
- metaObject
- originLevel1
- originLevel2
- originLevel3
- type

## Properties

### actionCause

actionCause: string

- Defined in events/AnalyticsEvents.ts :86

The cause of the usage analytics event.

For instance, triggering a query using the search box logs a usage analytics event with `searchBoxSubmit` as its `actionCause`, whereas triggering a query by selecting a facet value logs a usage analytics event with `facetSelect` as its `actionCause`.

Note:

> External code cannot modify the value of this attribute.

### actionType

actionType: string

- Defined in events/AnalyticsEvents.ts :74

The generic action type of the usage analytics event.

All analytics events that strongly relate to a certain feature or component usually share the same `actionType`.

For instance, all usage analytics events relating to the `Facet` component have `facet` as their `actionType`, whereas all usage analytics events relating to the `Breadcrumb` component have `breadcrumb` as their `actionType`.

Note:

> External code cannot modify the value of this attribute.

### language

language: string

Inherited from IChangeableAnalyticsDataObject.language

- Defined in events/AnalyticsEvents.ts :164

The language of the search interface from which the usage analytics event originates.

By default, the framework populates this attribute with the currently loaded localization and culture file of the search interface from which the usage analytics event originates.

Note:

> External code can modify the value of this attribute.

### metaObject

metaObject: IChangeableAnalyticsMetaObject

Inherited from IChangeableAnalyticsDataObject.metaObject

- Defined in events/AnalyticsEvents.ts :117

The metadata to send along with the usage analytics event.

Note:

> External code can modify existing values, or add new key-value pairs in this attribute.

### originLevel1

originLevel1: string

Inherited from IChangeableAnalyticsDataObject.originLevel1

- Defined in events/AnalyticsEvents.ts :130

The high-level origin of the usage analytics event.

For instance, this could be the name of the search hub, or a name that can uniquely identify the search page from which the usage analytics event originates.

Default value is `default`.

Note:

> External code can modify the value of this attribute.

### originLevel2

originLevel2: string

Inherited from IChangeableAnalyticsDataObject.originLevel2

- Defined in events/AnalyticsEvents.ts :141

The mid-level origin of the usage analytics event.

By default, the framework populates this attribute with the `data-id` of the currently selected tab in the search interface from which the usage analytics event originates.

Note:

> External code can modify the value of this attribute.

### originLevel3

originLevel3: string

Inherited from IChangeableAnalyticsDataObject.originLevel3

- Defined in events/AnalyticsEvents.ts :153

The low-level origin of the usage analytics event.

For instance, this could be the HTTP identifier of the page from which the usage analytics event originates.

Default value is the empty string.

Note:

> External code can modify the value of this attribute.

### type

type: "SearchEvent" | "CustomEvent" | "ClickEvent"

- Defined in events/AnalyticsEvents.ts :60

The type of the usage analytics event.

Note:

> External code cannot modify the value of this attribute.

### Hierarchy

- IChangeableAnalyticsDataObject