exportData schema (JSON)

Our exportData API method by default a file where each row is a single JSON object representing a single user session.

Schema

Each row in the export will have a JSON object with the following attributes. Attributes marked as optional below may not be returned (if the value is null). 

attribute type description
isSession boolean whether this data is counted towards a session
appVersion string
optional
the version of the app used on this device (e.g. 2.0.1)
country string
optional
the country the user is in, specified by ISO 2-letter code (e.g. US for United States)
timezone string
optional
the timezone abbreviation for the user. See list of timezone abbreviations
region string
optional
the region (state) the user is in (e.g. ca for California)
city string
optional
user's current city
locale string
optional
user's locale
deviceModel string
optional
the model name of the device (e.g. iPad)
priorEvents int64 the number of prior events
systemName string
optional
the name of the OS the current device is running (e.g. iOS)
systemVersion string
optional
the version number of the OS the current device is running (e.g. 6.0)
priorStates int64 number of prior states
time double the time the session started in seconds (UTC)
deviceId string
optional
the device ID for the user's device
firstRun double the time of the user's first session
sourcePublisherId string
optional
ID of the publisher used to refer the user (e.g. 1001)
sourcePublisher string
optional
name of the publisher used to refer the user (e.g. Big Fish Games)
sourceSubPublisher string
optional
name of the developer used to refer the user (e.g. GameDeveloper1)
sourceSite string
optional
name of the app or website used to refer the user (e.g. MyLittleApp)
sourceCampaign string
optional
name of the campaign used to refer the user (e.g. US CPI)
sourceAdGroup string
optional
name of the ad group used to refer the user (e.g. banners)
sourceAd string
optional
name of the ad used to refer the user (e.g. blue1)
userId string the user ID defined by your app. See more on user IDs in iOS and Android.
client string
optional
the type of client (e.g. js)
browserName string
optional
the name of the browser the current device is running (e.g. Chrome)
browserVersion string
optional
the version number of the browser the current device is running (e.g. 17.0)
sdkVersion string the SDK version running on the user's device
sessionId string the unique session ID for the current session
lat double
optional
latitude of user's current location
lon double
optional
the longitude of the user's current location
duration double
optional
the duration of the current session in seconds (e.g. 19.254)
priorTimeSpentInApp double the total time of previous session(s) in seconds
timezoneOffsetSeconds int32
optional
the offset of user's timezone in seconds
priorSessions int64 the number of prior sessions
userBucket int32 the user bucket assigned to this user (0-999)
isDeveloper boolean
optional
whether the user is a developer and not a user
experiments array see experiments
states array see states
userAttributes object an object with key/value pairs based on the attributes you define.

Experiments array

Each object within the experiments array follows this schema:

attribute type description
id int64 the ID of the A/B test the user is enrolled in
variantId  int64 the ID of the variant the user is placed within the test
impressed boolean
optional
whether the user has seen the test after being assigned to it. 

States array

Each object within the states array follows this schema:

attribute type description
stateId integer the ID for the state
info string
optional
any info attached to the state
time double
optional
the time in seconds (UTC) the user reached the state
duration double
optional
the duration of the state in seconds (UTC)
name string
optional
the name of the state
timeUntilFirstForUser double
optional
the time the user spent in the app (in seconds) before reaching the state for the first time. If this is not the first occurrence, this will be null.
parameters object key/value pairs for any parameters you passed (in your code) with the state
events array an array of events triggered while user was in this state
events[].eventId int64 the ID for the event 
events[].value double the value passed to the event (within your code)
events[].info string
optional
any info attached to the event.
events[].time double the time in seconds (UTC) the event occurred
events[].name string the name of the event (defined in your code)
events[].timeUntiFirstForUser double
optional
the time the user spent in the app (in seconds) before triggering the event for the first time. If this is not the first occurrence, this will be null. 
events[].parameters object key/value pairs for any parameters you passed (in your code) with the event

Example

The following is a single line from an export.

{
  "country": "US",
  "firstRun": 1499847141.448,
  "priorStates": 0,
  "city": "toledo",
  "experiments": [
    {
      "id": 4848982474358784,
      "variantId": 5318562523119616
    }
  ],
  "lon": "83.5552",
  "locale": "en_US",
  "isSession": false,
  "deviceId": "aUsersDeviceId",
  "states": [
      {
      "stateId": -8299958977733658706,
      "events": [
        {
          "eventId": 6467624121712405504,
          "timeUntilFirstForUser": 7191.943,
          "name": "addToCart",
          "time": 1506574496.416,
          "value": 0.0,
          "parameters": {
            "productId": "10248"
        }
      ]
    }
  ],
  "duration": 0.0,
  "systemName": "Windows",
  "browserVersion": "61",
  "client": "js",
  "browserName": "Chrome",
  "lat": "41.66",
  "priorSessions": 166,
  "userAttributes": {},
  "priorEvents": 4652,
  "sessionId": "5116700603679946752",
  "userId": "hubert.farnsworth@planetexpress.net",
  "timezoneOffsetSeconds": 0,
  "priorTimeSpentInApp": 316959.844,
  "deviceModel": "Web Browser",
  "sdkVersion": "1.1.7",
  "time": 1506575007.376,
  "region": "oh",
  "userBucket": 133
}

Note: An actual export will have multiple lines of these JSON-formatted objects, separated by a new line (not a comma). See the example below, but note that I added the ellipses to represent attributes removed. These would never appear in an actual export.

{"country":"SG","firstRun":1.488267623088E9, ... "userBucket":725}
{"country":"ID","firstRun":1.499847141448E9, ... "userBucket":540}
{"country":"US","firstRun":1.984714144849E9, ... "userBucket":430}

 


Was this article helpful?
Have more questions? Submit a request