---
title: Collected data points - Capacitor
description: Events and metadata collected by the Contentsquare SDKs
lastUpdated: 09 October 2025
source_url:
  html: https://docs.contentsquare.com/en/capacitor/collected-data-points/
  md: https://docs.contentsquare.com/en/capacitor/collected-data-points/index.md
---

* The events are in JSON format, which lists the properties and their description in comment.
* Events are sent to the server in batches.
* A batch is a subset of events originating from one session. A session can send events in more than one batch.
* The batch size is defined in a run configuration file specific to each app (50 events by default).

## Requests meta data

Each batch has a common header, a set of device specific, and repeatable information and an array of events, which is immutable. The header is composed at the moment of sending, so it has to be constant info ONLY. The array in the payload is data stored at the moment of collection.

The structure of the batches of events will have the following format:

```javascript
{
  pid:8, // int - ProjectId - represented in the mobile config format
  uid:"ac1529a7-59f6-49d9-b254-6f0a22f57284", // String - uuid Unique user ID
  dt:4, // int - device type (loosely enforced enum - [SDK-phone : 4, SDK-tablet :5])
  dma:"Samsung", // String - device manufacturer. This property is optional and if by any chance the device model cannot be determined it will be dropped from the Json object.
  dmo:"SG", // String - device model. This property is optional and if by any chance the device model cannot be determined it will be dropped from the Json object.
  os:"7.0", // String - os version (Android version name 6.0, 7.0, 8.0)
  l:"en_US", // String - Language in iso-639 format https://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html
  tz:"Europe/Paris", // String - timezone https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  now:1522159618000, // long - timestamp when the batch was sent
  to:{ // object - type origin of the event
    an:"appname" // String - application name
    st:"SDK-android", // String - type of SDK
    sf:"release", // string - SDK flavor/variant [release/debug/god]
  },
  r:{ // Device - resolution.
    w:1080, // int - width
    h:1920 // int - height
    d: 1.5 // The device density as float. Its values can vary between (0.75 and 10)
  },
  pl:[] // JSON array payload - list of event objects, see below
}
```

## Events

### Events meta data

All events have a common first part (don't confuse it with the header explained above). This common section is data which is common for all events by type but is gathered at the moment the event occurred. This common section is a part of the actual event payload.

```javascript
{
  upt:1522, // long - system update in milliseconds
  euid:"euid", // String - event UUID
  url:"app-and://identifier/mainPath/secondaryPath?title=screeName", // String - screenName is passed in the title query Parameter
  scn:4, // int - the number of screens already shown in the session
  c:3, // int - connectivity type [-1 - offline, 0 - error, 1 - wifi, 2 - 2g, 3 - 3g, 4 - 4g]
  ci:"verizon", // String - carrier_id when user is on mobile network
  o:1, // int - orientation [0 = portrait, 1 = landscape]
  vo:{ // object - version origin of the event
    sv:"2.1", // string version of the SDK
    sb:4, // int - SDK build number
    av:"appVersion", // String - application version
    af:"appFlavor" // String - application string - [release/debug/god]
    ab:1 // int - application build number
  },
  sn:1, // int - session id (positive int)
  t:12894726459435 // long - timestamp of the event (in milliseconds)
}
```

All event specific properties are appended to this JSON object.

### App Start

This event describes the absolute start of the app.

The trigger for this event is the absolute start of the app.

This is the first event sent when the SDK is invoked.

```javascript
ea: 0; // int - event action - defined above
```

### App Show

This event is sent when the user brings the app in the foreground (switching from another app, exiting lock screen, etc.). This event means the app is focused.

```javascript
ea: 1; // int - event action - defined above
```

### App Hide

This event is sent when the user exits (minimizes) the app, or switches to something else. This event means the app is not focused and the session might end, but we have not completely ended the session yet, as the user might return.

```javascript
ea: 2; // int - event action - defined above
```

### Screenview

Everything starts with a View event. This is an event which describes the equivalent of a "page view" on the web. This event is sent when the Track Screen API is called.

```javascript
ea:4 // int - event action - defined above
st:"title", // String - screen title
sl:34543 // int - (load time) screen load time (diff between last action and this event)
```

### Transaction

To track transactions, we provide a public API which can send a transaction object (see section [Track Transactions](https://docs.contentsquare.com/en/capacitor/track-transactions/)). This object must contain the following parameters:

```javascript
ea: 16, // int - event action - defined above
tr: { // a json object with different properties defining the transaction made
    vl: 20.0, // mandatory - float - the value of the transaction
    cu: 978, // mandatory - int - the ISO 4217 code of the currency of the transaction
    id: "32akjkljklJ575775" // optional - string - an id for the transaction
}
```

### Dynamic variables

To track dynamic variables we provide a public API which can send a custom event object (see section [Dynamic variables](https://docs.contentsquare.com/en/capacitor/track-dynamic-variables/)).

```javascript
// Dynamic variable event with a string value
ea:18, // int - event action - defined above
k:"key", // String - Custom key assigned by client.
v:"value" // String - Custom value assigned by client.
```

```javascript
// Dynamic variable event with a number value
ea:19, // int - event action - defined above
k:"key", // String - Custom key assigned by client.
v: 2344 // Integer - Custom value assigned by client.
```
