> For a complete documentation index, fetch https://docs.voximplant.ai/llms.txt

# MeasurementProtocol

## Functions

### endSession

Forces the current session to end with this hit. All other values are ignored.

```ts
endSession(): typeof MeasurementProtocol
```

### sendEvent

Send an event to the Universal Analytics

```ts
sendEvent(options: SendEventOptions): typeof MeasurementProtocol
```

**Parameters**

**`options`** `SendEventOptions` — required

---

### sendException

Sends a record about exception

```ts
sendException(options: SendExceptionOptions): typeof MeasurementProtocol
```

**Parameters**

**`options`** `SendExceptionOptions` — required

---

### sendItem

Sends an item to E-commerce

```ts
sendItem(options: SendItemOptions): typeof MeasurementProtocol
```

**Parameters**

**`options`** `SendItemOptions` — required

---

### sendSocial

Sends a social interaction

```ts
sendSocial(options: SendSocialOptions): typeof MeasurementProtocol
```

**Parameters**

**`options`** `SendSocialOptions` — required

---

### sendTiming

Measures the user's timings

```ts
sendTiming(options: SendTimingOptions): typeof MeasurementProtocol
```

**Parameters**

**`options`** `SendTimingOptions` — required

---

### sendTransaction

Sends a transaction to E-commerce

```ts
sendTransaction(options: SendTransactionOptions): typeof MeasurementProtocol
```

**Parameters**

**`options`** `SendTransactionOptions` — required

---

### setApplicationInfo

Sets application name and version

```ts
setApplicationInfo(options: SetApplicationInfoOptions): typeof MeasurementProtocol
```

**Parameters**

**`options`** `SetApplicationInfoOptions` — required

---

### setSessionByCallerId

```ts
setSessionByCallerId(options: SetSessionByCallerIdOptions): Promise<typeof MeasurementProtocol>
```

**Parameters**

**`options`** `SetSessionByCallerIdOptions` — required

---

### setTrafficSource

Sets traffic source values.

```ts
setTrafficSource(options: SetTrafficSourceOptions): typeof MeasurementProtocol
```

**Parameters**

**`options`** `SetTrafficSourceOptions` — required

---

### setup

Setups the most required tracking parameters

```ts
setup(trackingId: string, debug: boolean, dataSource: string): typeof MeasurementProtocol
```

**Parameters**

**`trackingId`** `string` — required

---

**`debug`** `boolean` — required

---

**`dataSource`** `string` — required

---

### startSession

Forces a new session to start with this hit. All other values are ignored.

```ts
startSession(options: StartSessionOptions): typeof MeasurementProtocol
```

**Parameters**

**`options`** `StartSessionOptions` — required

---

## Types

### SendEventOptions

**`action`** `string`

---

**`category`** `string`

---

**`label`** `string`

*optional*

---

**`nonInteractionHit`** `string`

*optional*

---

**`value`** `string`

*optional*

---

### SendExceptionOptions

**`description`** `string`

*optional*

---

**`isFatal`** `boolean`

*optional*

---

**`nonInteractionHit`** `string`

*optional*

---

### SendItemOptions

**`category`** `string`

*optional*

---

**`code`** `string`

*optional*

---

**`name`** `string`

---

**`nonInteractionHit`** `string`

*optional*

---

**`price`** `number`

---

**`quantity`** `number`

---

**`transactionId`** `number`

---

### SendSocialOptions

**`action`** `string`

*optional*

---

**`network`** `string`

*optional*

---

**`nonInteractionHit`** `string`

*optional*

---

**`trigger`** `string`

*optional*

---

### SendTimingOptions

**`category`** `string`

*optional*

---

**`label`** `string`

*optional*

---

**`name`** `string`

*optional*

---

**`nonInteractionHit`** `string`

*optional*

---

**`time`** `number`

*optional*

---

### SendTransactionOptions

**`affiliation`** `string`

*optional*

---

**`id`** `number`

---

**`nonInteractionHit`** `string`

*optional*

---

**`revenue`** `number`

---

**`shipping`** `number`

*optional*

---

**`tax`** `number`

*optional*

---

### SetApplicationInfoOptions

**`id`** `string`

*optional*

---

**`installerID`** `string`

*optional*

---

**`name`** `string`

---

**`version`** `string`

*optional*

---

### SetSessionByCallerIdOptions

**`anonymizeIP`** `string`

*optional*

---

**`callerId`** `string`

*optional*

---

**`IPOverride`** `string`

*optional*

---

**`userID`** `string`

*optional*

---

### SetTrafficSourceOptions

**`campaignContent`** `string`

*optional*

---

**`campaignID`** `string`

*optional*

---

**`campaignKeyword`** `string`

*optional*

---

**`campaignMedium`** `string`

*optional*

---

**`campaignName`** `string`

*optional*

---

**`campaignSource`** `string`

*optional*

---

**`documentReferrer`** `string`

*optional*

---

**`googleAdsID`** `string`

*optional*

---

**`googleDisplayAdsID`** `string`

*optional*

---

### StartSessionOptions

**`anonymizeIP`** `boolean`

*optional*

---

**`clientID`** `string`

---

**`geographicalOverride`** `string`

*optional*

---

**`IPOverride`** `string`

*optional*

---

**`userID`** `string`

*optional*

---