# Interface ISearchEvent

Describes a Coveo Cloud usage analytics search event.

## Index

### Properties

- actionCause
- actionType
- advancedQuery
- anonymous
- clientId
- contextual
- customData
- device
- didYouMean
- facetState
- language
- mobile
- numberOfResults
- originContext
- originLevel1
- originLevel2
- originLevel3
- pageNumber
- queryPipeline
- queryText
- responseTime
- resultsPerPage
- searchQueryUid
- splitTestRunName
- splitTestRunVersion
- userAgent
- userDisplayName
- userGroups
- username

## Properties

### actionCause

actionCause: string

Inherited from IAnalyticsEvent.actionCause

- Defined in rest/AnalyticsEvent.ts :12

A unique name describing the action that triggered the event.

See the `name` property of the `IAnalyticsActionCause` interface.

Example: `pagerNext`

### actionType

actionType: string

Inherited from IAnalyticsEvent.actionType

- Defined in rest/AnalyticsEvent.ts :20

A name describing the category of actions to which the action that triggered the event belongs.

See the `type` property of the `IAnalyticsActionCause` interface.

Example: `getMoreResults`

### advancedQuery

advancedQuery: string

- Defined in rest/SearchEvent.ts :71

The original advanced query expression (i.e., `aq`) sent for the related query.

Note: The framework normally sets this field by retrieving the information from the related query.

### Optional anonymous

anonymous: boolean

Inherited from IAnalyticsEvent.anonymous

- Defined in rest/AnalyticsEvent.ts :42

Whether the event should be logged anonymously to the Coveo Cloud usage analytics service.

Note: This field is normally set to the `anonymous` option value of the `Analytics` component.

### clientId

clientId: string

Inherited from IAnalyticsEvent.clientId

- Defined in rest/AnalyticsEvent.ts :131

A GUID representing the current user. This GUID is generated locally and stored in a non-expiring browser cookie.

### contextual

contextual: boolean

- Defined in rest/SearchEvent.ts :85

Whether the related query was contextual.

Note: The framework normally sets this field by retrieving the information from the related query.

### Optional customData

customData: object

Inherited from IAnalyticsEvent.customData

- Defined in rest/AnalyticsEvent.ts :127

Additional metadata to send along with the event.

Note: This field may include custom user context information (see Sending Custom Context Information).

Example: `{ "currentResultsPerPage": 25, "userRole": "developer" }`

#### Type declaration

- ##### [key: string]: any

### device

device: string

Inherited from IAnalyticsEvent.device

- Defined in rest/AnalyticsEvent.ts :50

The name of the device or browser that triggered the event.

Note: The framework normally sets this field by parsing the current `navigator.userAgent` value.

Example: `Chrome`

### didYouMean

didYouMean: boolean

- Defined in rest/SearchEvent.ts :79

Whether the did you mean feature was enabled for the related query.

Note: The framework normally sets this field by retrieving the information from the related query.

Example: `@source=="Product Documentation"`

### Optional facetState

facetState: IAnalyticsFacetState[]

- Defined in rest/SearchEvent.ts :89

A representation of the state of each dynamic facet in the search interface when the action that triggered the event was executed.

### language

language: string

Inherited from IAnalyticsEvent.language

- Defined in rest/AnalyticsEvent.ts :98

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

Must be a valid ISO-639-1 code.

Note: By default, the framework sets this field according to the currently loaded culture file (see Changing the Language of Your Search Interface).

Example: `en`

### mobile

mobile: boolean

Inherited from IAnalyticsEvent.mobile

- Defined in rest/AnalyticsEvent.ts :56

Whether the event originates from a mobile device.

Note: The framework normally sets this field by parsing the current `navigator.userAgent` value.

### numberOfResults

numberOfResults: number

- Defined in rest/SearchEvent.ts :53

The number of query result items returned by the related query.

Note: The framework normally sets this field by retrieving the information from the related Search API query response.

### originContext

originContext: string

Inherited from IAnalyticsEvent.originContext

- Defined in rest/AnalyticsEvent.ts :88

The broad application context from which the event originates.

Note: By default, the framework sets this field to `Search`. However, you can use the `setOriginContext` method of the `Analytics` component to modify the default value.

Example: `Search`

### originLevel1

originLevel1: string

Inherited from IAnalyticsEvent.originLevel1

- Defined in rest/AnalyticsEvent.ts :64

The identifier of the search interface from which the event originates.

Note: This field is normally set through the `searchHub` option of the `Analytics` component. However, when actually recording the event, the Coveo Cloud usage analytics service may override this value with information extracted from the search token.

Example: `PartnerPortalSearch`

### originLevel2

originLevel2: string

Inherited from IAnalyticsEvent.originLevel2

- Defined in rest/AnalyticsEvent.ts :72

The identifier of the tab from which the event originates.

Note: The framework normally sets this field to the identifier of the currently selected `Tab` in the search interface.

Example: `All`

### Optional originLevel3

originLevel3: string

Inherited from IAnalyticsEvent.originLevel3

- Defined in rest/AnalyticsEvent.ts :80

The address of the webpage that linked to the search interface from which the event originates.

Note: The framework normally sets this field to the current `document.referrer` value.

Example: `http://example.com/`

### pageNumber

pageNumber: number

- Defined in rest/SearchEvent.ts :65

The 0-based page of results requested for the related query.

Note: The framework normally sets this field by retrieving the information from the related query.

### queryPipeline

queryPipeline: string

- Defined in rest/SearchEvent.ts :23

The name of the query pipeline to which the related query was routed.

Note: The framework normally sets this field by retrieving the information from the related Search API query response.

Example: `PartnerPortalSearchPipeline`

### queryText

queryText: string

- Defined in rest/SearchEvent.ts :47

The original basic query expression (i.e., `q`) sent for the related query.

Note: The framework normally sets this field by retrieving the information from the related query.

Example: `coveo machine learning`

### responseTime

responseTime: number

Inherited from IAnalyticsEvent.responseTime

- Defined in rest/AnalyticsEvent.ts :105

The time it took to get a response from the Search API for the query related to the event (in milliseconds).

Note: The framework normally sets this field to `0`, except for search events in which case it sets the field by retrieving the information from the related Search API query response.

### resultsPerPage

resultsPerPage: number

- Defined in rest/SearchEvent.ts :59

The number of results per page requested for the related query.

Note: The framework normally sets this field by retrieving the information from the related query.

### searchQueryUid

searchQueryUid: string

- Defined in rest/SearchEvent.ts :15

The unique identifier of the related query.

Note: The framework normally sets this field by retrieving the information from the related Search API query response.

Example: `74682726-0e20-46eb-85ac-f37259346f57`

### splitTestRunName

splitTestRunName: string

- Defined in rest/SearchEvent.ts :31

The name of the A/B test that applied to the related query.

Note: This field may be set through the `splitTestRunName` option of the `Analytics` component. However, if the option is left undefined, the framework attempts to set this field by retrieving information from the related Search API query response.

Example: `Test new ART model`

### splitTestRunVersion

splitTestRunVersion: string

- Defined in rest/SearchEvent.ts :39

The version of the A/B test that applied to the related query (i.e., version A or version B).

Note: This field may be set through the `splitTestRunVersion` option of the `Analytics` component. However, if the option is left undefined and the related Search API query response indicates that an A/B test was applied, the framework sets this field to the name of the query pipeline to which the query was routed.

Example: `PartnerPortalSearchPipelineWithART`

### Optional userAgent

userAgent: string

Inherited from IAnalyticsEvent.userAgent

- Defined in rest/AnalyticsEvent.ts :113

The software acting on behalf of the end-user whose action triggered the event.

Note: By default, the framework sets this field to the current `navigator.userAgent` value.

Example: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36`

### Optional userDisplayName

userDisplayName: string

Inherited from IAnalyticsEvent.userDisplayName

- Defined in rest/AnalyticsEvent.ts :36

The display name of the end-user whose action triggered the event.

Note: This field is normally set to the `userDisplayName` option value of the `Analytics` component. However, when actually recording the event, the Coveo Cloud usage analytics service may override this value with information extracted from the search token.

Example: `Alice Smith`

### Optional userGroups

userGroups: string

Inherited from IAnalyticsEvent.userGroups

- Defined in rest/AnalyticsEvent.ts :119

The groups the end-user whose action triggered the event belongs to.

Note: This field is normally left undefined, and the Coveo Cloud usage analytics service attempts to extract the information from the search token when actually recording the event.

### Optional username

username: string

Inherited from IAnalyticsEvent.username

- Defined in rest/AnalyticsEvent.ts :28

The identifier of the end-user whose action triggered the event.

Note: This field is normally set to the `user` option value of the `Analytics` component. However, when actually recording the event, the Coveo Cloud usage analytics service may override this value with information extracted from the search token.

Example: `asmith@example.com`

### Hierarchy

- IAnalyticsEvent