Data export is a stream of JSON objects, where each object represents a single event. Each event object consists of a common wrapper containing metadata and a data object that holds the core event information. The data.category
field determines the type of event and the specific schema of the other fields within the data object.
Common Schema
These fields are present in every event, regardless of the category
.
Top-Level Fields
Field Path | Data Type | Required | Description | Origin |
---|
arrival_ts | Integer | Yes | UNIX timestamp indicating when the event was received by our servers. | GA servers |
country_code | String | Yes | The country code detected from the user's IP address. | GA servers |
data | Object | Yes | The core event payload. Its schema varies by data.category . | SDK |
game_id | Integer | Yes | Unique GameAnalytics game ID. | SDK |
ip | String | Yes | The (anonymized) IP address of the user. | SDK |
user_meta | Object | Yes | Contains metadata related to user acquisition and lifetime value. | GA servers |
Field Path | Data Type | Required | Description | Origin |
---|
user_meta.attribution_partner | String | No | The attribution partner that provided the install data. | GA servers |
user_meta.cohort_month | Integer | Yes | UNIX timestamp for the start of the month the user was acquired. | GA servers |
user_meta.cohort_week | Integer | Yes | UNIX timestamp for the start of the week the user was acquired. | GA servers |
user_meta.first_build | String | Yes | The build version the user first played on. | GA servers |
user_meta.install_adgroup | String | No | The ad group associated with the user's install campaign. | GA servers |
user_meta.install_campaign | String | No | The name of the user's install campaign. | GA servers |
user_meta.install_publisher | String | No | The publisher associated with the user's install campaign. | GA servers |
user_meta.install_site | String | No | The site associated with the user's install campaign. | GA servers |
user_meta.install_hour | Integer | Yes | UNIX timestamp of the user's first-seen time, truncated to the hour. | GA servers |
user_meta.install_ts | Integer | Yes | UNIX timestamp of the user's first-seen time. | GA servers |
user_meta.is_converting | String | No | "true" if it's the first purchase for this user, otherwise "false". | GA servers |
user_meta.is_paying | String | No | "true" if the user has ever made a purchase, otherwise "false". | GA servers |
user_meta.origin | String | Yes | The acquisition source of the user (e.g., "organic"). | GA servers |
user_meta.pay_ft | Integer | No | UNIX timestamp of the user's first validated purchase. | GA servers |
user_meta.receipt_status | String | No | The validation status of the receipt. | GA servers |
user_meta.revenue | Object | No | An object containing total user revenue, keyed by currency (e.g., "USD": 199 ). | GA servers |
Common data
Fields
Field Path | Data Type | Required | Description | Origin |
---|
data.ab_admission_ts | Integer | No | The UNIX timestamp of when the player was first assigned to the A/B test. | SDK |
data.ab_id | String | No | A unique identifier for the A/B test. | SDK |
data.ab_title | String | No | The descriptive title of the A/B test. | SDK |
data.ab_variant_id | String | No | The custom ID for the test variant. | SDK |
data.ab_variant_name | String | No | The custom name for the test variant. | SDK |
data.build | String | Yes | The game version/build string. | SDK |
data.category | String | Yes | The category of the event. Determines the rest of the data schema. | SDK |
data.client_ts | Integer | Yes | The UNIX timestamp when the event was generated on the client's device. | SDK |
data.configurations_v3 | Array | No | An array of remote configuration objects applied to the user. | SDK |
data.connection_type | String | Yes | The network connection type (e.g., "wifi", "wwan", "offline"). | SDK |
data.country_code | String | Yes | The country code of the user at the time of the event. | SDK |
data.custom_01 | String | No | Custom dimension 1. | SDK |
data.custom_02 | String | No | Custom dimension 2. | SDK |
data.custom_03 | String | No | Custom dimension 3. | SDK |
data.device | String | Yes | The specific device model. | SDK |
data.engine_version | String | No | The version of the game engine used (e.g., "unity 2020.3.2"). | SDK |
data.event_uuid | String | Yes | A unique identifier generated for each individual event. | SDK |
data.google_aid | String | No | The Google Advertising ID. | SDK |
data.manufacturer | String | Yes | The device manufacturer. | SDK |
data.os_version | String | Yes | The version of the operating system. | SDK |
data.platform | String | Yes | The operating system platform (e.g., "android", "ios"). | SDK |
data.sdk_version | String | Yes | The version of the GameAnalytics SDK used. | SDK |
data.session_id | String | Yes | A unique identifier for the current game session. | SDK |
data.session_num | Integer | Yes | The sequential number of the user's current session. | SDK |
data.user_id_ext | String | No | An external user identifier, if provided. | SDK |
data.user_id | String | Yes | The main GameAnalytics user identifier. | SDK |
data.v | Integer | Yes | The version of the event schema. | SDK |
Field Path | Data Type | Required | Description | Origin |
---|
data.android_app_build | String | No | The internal build or version code of the app. | SDK |
data.android_app_set_id | String | No | The app set ID, used for analytics across a developer's apps. | SDK |
data.android_app_signature | String | No | A string representing the app's cryptographic signature. | SDK |
data.android_app_version | String | No | The public-facing version of the app (e.g., "1.0.1"). | SDK |
data.android_bundle_id | String | No | The application's package name (e.g., "com.company.game"). | SDK |
data.android_channel_id | String | No | The installation source, indicating the app store (e.g., "com.android.vending"). | SDK |
data.google_aid_src | String | No | The source of the advertising ID (e.g., "service"). | SDK |
data.google_aid | String | No | The Google Advertising ID. | SDK |
Field Path | Data Type | Required | Description | Origin |
---|
data.ios_app_build | String | No | The internal build number of the app. | SDK |
data.ios_app_version | String | No | The public-facing version of the app from the App Store (e.g., "1.2.3"). | SDK |
data.ios_att | String | No | The App Tracking Transparency (ATT) authorization status (e.g., 3 for 'Authorized'). | SDK |
data.ios_bundle_id | String | No | The application's bundle identifier (e.g., com.company.appname). | SDK |
data.ios_idfa | String | No | The Identifier for Advertisers, available only if the user grants tracking permission. | SDK |
data.ios_idfv | String | No | The Identifier for Vendors, an ID shared across apps from the same developer. | SDK |
data.limited_ad_tracking | Bool | No | Indicates if the user has enabled the "Limit Ad Tracking" privacy setting. | SDK |
2. Category-Specific Schemas
The fields below are located within the data
object and are in addition to the common data
fields listed above.
user
This event is sent when a session starts.
Field Path | Description | Origin |
---|
No category-specific fields | This event only contains the common data fields. | n/a |
session_end
This event is sent when a session ends.
Field Path | Data Type | Required | Description | Origin |
---|
data.length | Integer | Yes | The duration of the session in seconds. | SDK |
business
This event is for real-money transactions.
Field Path | Data Type | Required | Description | Origin |
---|
data.event_id | String | Yes | The ID of the item purchased, structured as [ItemType]:[ItemID] . | SDK |
data.amount | Integer | Yes | The cost of the item in the smallest unit of the currency (e.g., cents). | SDK |
data.amount_usd | Float | No | The amount converted to USD cents. | SDK |
data.currency | String | Yes | The currency code (e.g., "USD"). | SDK |
data.transaction_num | Integer | Yes | The session-specific, sequential number of this transaction. | SDK |
data.cart_type | String | Yes | The type of store or cart used for the purchase. | SDK |
data.receipt_info | Object | Yes | An object containing store validation data. See table below. | SDK |
data.receipt_info
Object
Field Path | Data Type | Required | Description | Origin |
---|
data.receipt_info.store | String | Yes | The app store used for the purchase (e.g., "google_play"). | SDK |
data.receipt_info.receipt_id | String | Yes | A unique ID for the receipt. | SDK |
data.receipt_info.receipt | String | Yes | The raw receipt data from the store, often base64 encoded. | SDK |
data.receipt_info.signature | String | Yes | The signature data for the receipt, used for validation. | SDK |
resource
This event tracks the flow of in-game resources (virtual currencies, items).
Field Path | Data Type | Required | Description | Origin |
---|
data.event_id | String | Yes | Structured as [FlowType]:[Currency]:[ItemType]:[ItemID] . | SDK |
data.amount | Number | Yes | The number of resources gained or spent. | SDK |
progression
This event tracks player progress, such as completing levels or checkpoints.
Field Path | Data Type | Required | Description | Origin |
---|
data.event_id | String | Yes | Structured as [Status]:[ProgressionType]:[Progression01]:[Progression02]:[Progression03] . | SDK |
data.attempt_num | Integer | No | The number of attempts for this progression event. | SDK |
data.score | Integer | No | A score achieved during the attempt. | SDK |
error
This event is for logging client-side game errors.
Field Path | Data Type | Required | Description | Origin |
---|
data.severity | String | Yes | The severity of the error (e.g., "critical", "error", "warning", "info"). | SDK |
data.message | String | Yes | The error message or description. | SDK |
design
This event is for tracking any other custom gameplay event.
Field Path | Data Type | Required | Description | Origin |
---|
data.event_id | String | Yes | Custom event ID, which can be structured with colons, up to 5 (e.g., World:Stage:Action1:Action2:Action3 ). | SDK |
data.value | Number | No | An optional numeric value associated with the event. | SDK |
This event tracks direct interactions with advertisements.
Field Path | Data Type | Required | Description | Origin |
---|
data.ad_sdk_name | String | Yes | The name of the ad SDK used (e.g., "applovin"). | Attribution partner |
data.ad_placement | String | Yes | The placement ID within the game where the ad was shown. | Attribution partner |
data.ad_type | String | Yes | The type of ad shown (e.g., "rewarded_video", "interstitial"). | Attribution partner |
data.ad_action | String | Yes | The action being tracked (e.g., "request", "show", "clicked", "reward_received"). | Attribution partner |
impression
This event tracks ad revenue impressions from mediation.
Field Path | Data Type | Required | Description | Origin |
---|
data.ad_network_name | String | Yes | The name of the ad network that served the impression (e.g., "admob"). | Advertising partner |
data.impression_data | Object | Yes | An object containing detailed revenue data. See table below. | Advertising partner |
impression_data
Object
Field Path | Data Type | Required | Description | Origin |
---|
data.ad_network_version | Array | Yes | An array containing the version of the ad network's SDK. | Advertising partner |
data.adunit_format | String | Yes | The format of the ad unit (e.g., "INTERSTITIAL"). | Advertising partner |
data.adunit_id | String | Yes | The specific ad unit ID that served the impression. | Advertising partner |
data.currency | String | Yes | The ISO 4217 currency code for the revenue. | Advertising partner |
data.network_class_name | String | Yes | The class name of the mediation adapter. | Advertising partner |
data.precision_name | String | Yes | The precision of the revenue data (e.g., "precise", "estimated"). | Advertising partner |
data.precision | Integer | Yes | A numeric code for the precision level. | Advertising partner |
data.publisher_revenue_usd_cents | Float | Yes | The revenue in USD cents. | Advertising partner |
data.revenue | Float | Yes | The revenue generated by the impression in the specified currency. | Advertising partner |
health
This event tracks the technical performance of the game.
Field Path | Data Type | Required | Description | Origin |
---|
data.fps_data_table | Array | Yes | A histogram where the array index is the FPS and the value is the duration. | SDK |
data.value | Integer | Yes | A value associated with the health event (e.g., the actual FPS or memory usage). | SDK |
fps_quantiles_sketch | String | Yes | A base64-encoded quantile sketch summarizing the FPS distribution. | SDK |