1. App Platform

Description

Referring to the game SDK, after being integrated by clients, it is ultimately packaged into an app and runs on Android & iOS platforms

1.1. Pre-defined events

Event variable name (English)Event display nameAttribute variable name (English)Attribute display nameAttribute value typeAttribute value example or descriptionTrigger condition
$AppStartApp Start$is_first_timeWhether it is the first timeBoolean valueIndicates whether it is the first time the app is launched. For more details, please refer to the documentNew users and first-day first-time markingTriggered when starting the app or switching back to the app from the background
$resume_from_backgroundWhether awakened from the backgroundBoolean value
$AppEndApp exit$event_durationEvent durationNumerical valueRefers to the duration from app launch to app exit in secondsTriggered when quitting the app or the app goes to the background
$AppInstall





App activation / First launch after app installation$browserBrowser nameStringValue parsed from the user agent (UA)

It needs to call the trackAppInstall interface to collect this event and will only be triggered after the first app launch following installation. It will not be triggered upon the second call.





$utm_sourceAdvertising Campaign SourceStringTo use Sensors Analytics App Channel Tracking, the AppInstall event requires a successful channel match to have $utm related attributes. Refer to Sensors Analytics' App Channel Tracking for more information.

$utm_mediumAdvertising Campaign MediumString
$utm_termAdvertising Campaign TermString
$utm_contentAdvertising Campaign ContentString
$utm_campaignAdvertising Campaign NameString
$ios_install_source/String

Record the matching field when accurately matching an App, such as IMEI, Android ID, Mac address, IDFA. This field is uploaded when collecting data on the App side, but will be removed by the extractor module and not stored in the database. Therefore, this attribute will not be stored.

$utm_matching_typeChannel tracking matching modeStringBy default, this property is not included when collecting events on the App side, but is added by the extractor module. It records the successful channel matching mode, such as fuzzy device fingerprint matching or precise device identification matching. If no successful match is made, the value of this property will be displayed as "Unknown" on the event analysis page.
$matched_keyChannel matching keywordStringBy default, this property is not included when collecting events on the App side, but is added by the extractor module. It records the matching key field, such as the MD5 of the successfully matched IMEI, or IP_UA for IP_UA matching. If no successful match is made, the value of this property will be displayed as "Unknown" on the event analysis page.
$matching_key_listChannel matching keyword listStringSupported since SA 1.14. By default, this property is not included when collecting events on the App side, but is added by the extractor module. It records all the matching keywords for the activation event, such as the MD5 of the IMEI, Android ID, oaid, IP_UA, etc. When matching, it will prioritize these keywords and match them with the keywords recorded when the ad was clicked.
$channel_active_period_dayActive period window (days)NumericRecords the information of the window period configuration. The activation changes caused by changes in the window period can also be traced.
$channel_attribute_period_hourActivation Attribution Window (hours)Value
$AppRemoteConfigChangedRemote control configuration changed$app_remote_configRemote control configuration informationStringWhen obtaining remote configuration, after the SDK loads the configuration and takes effect, this event is collected along with the corresponding control information for troubleshooting.SDK Obtains Remote Configuration

1.2. Pre-defined attributes for all events

Attribute NameAttribute TypeDefault Display NameDescriptionRemarks
$app_idString

Unique Identifier for the App

Unique identifier for the app


$app_nameStringApp NameApplication's Name


$app_versionStringApp VersionAPP's Application Version
$libStringSDK TypeSDK Type, e.g. Android/iOS
$lib_versionStringSDK VersionSDK Version
$manufacturerStringDevice ManufacturerDevice Manufacturer
$brandStringDevice BrandDevice BrandOnly collected on Android
$modelStringDevice ModelDevice Model
$osStringOperating SystemOperating System
$os_versionStringOperational System VersionOperational System Version
$screen_heightNumericScreen HeightScreen Height (On iOS, it is logical resolution in development points; On Android, it collects the physical pixel points. For example, if the resolution of the Android phone is 1920 x 1080, it collects this value.)
$screen_widthNumericScreen WidthScreen Width (On iOS, it refers to the logical resolution, which is the point pixel in development; while on Android, it refers to the physical pixel, for example, if the resolution of an Android phone is 1920 x 1080, it will collect this value.)
$wifiBooleanWiFi IndicatorIndicates whether it is WiFi when the event is triggered
$carrierStringCarrier NameThe carrier name of the device's SIM card when the event is triggered. If Android does not have the READ_PHONE_STATE permission or there is no SIM card inserted, the carrier name cannot be obtained. If there is no SIM card inserted in iOS, the carrier name cannot be obtained.
$network_typeStringNetwork TypeThe network type when the event is triggered. If the SDK does not have permission to access the network type or the phone is in airplane mode, no SIM card is inserted, or there is no WiFi connection, the network type cannot be obtained.
$timezone_offsetNumberTimezone OffsetThe timezone offset of the app or system.


$is_first_dayBooleanWhether it is the first day of visitIndicates whether it is the first day of triggering the event. This attribute can be used to filter new and existing users. For specific value logic, please refer to the document on new user and first-day first-time marking


$is_login_idBoolean valueWhether the Login ID isAdded when data is stored
$ipStringIPObtained by parsing the HTTP request on the back end
$countryStringCountry

Obtained from IP parsing


$provinceStringProvince

$cityStringCity

$device_idStringDevice IDFor Android devices, it mainly takes Android ID; for iOS devices, it first tries to obtain IDFA. If it fails to obtain IDFA, it takes IDFV. The specific logic for obtaining the value can be referred to in the document How to accurately identify users



1.3. Predefined User Property

Property NameProperty TypeDefault Display NameDescriptionRemarks
$first_visit_timeDatetimeFirst Visit TimeAfter calling the trackAppInstall interface, the first time the user starts the App, this property will be assigned a value.

This property is set when calling the trackAppInstall interface, usually marked on anonymous ID (Android ID/IDFA) users. If the login ID and anonymous ID are not associated successfully, the property value of the login ID user will be empty.








$utm_sourceStringFirst Ad Campaign Source

These attributes rely on calling the trackAppInstall interface and using APP Channel Tracking. After successful matching, the corresponding channel information (utm_ parameters) contained in the channel link will be written to the user profile. The channel tracking matching mode and channel matching keyword record the matching channel method and which keyword was used to make the match.

$utm_mediumStringFirst Ad Campaign Medium
$utm_termStringFirst Ad Campaign Keyword
$utm_contentStringFirst ad campaign content
$utm_campaignStringFirst ad campaign name
$utm_matching_typeStringChannel tracking matching type

$matched_key

StringChannel Matching Keyword
matching_key_liststringChannel Matching Keyword ListChannel Matching Keyword List, including all possible keys used for channel matching.Same as above, and supported by SA 1.14+ version. Channel Matching Keyword List, including all possible keywords used for channel matching.

1.4. Others

Attribute NameAttribute TypeDefault Display NameDescriptionNotes
$lib_plugin_versionListSDK Plugin VersionThis property is used to record the version number of the Sensory Analysis plugin, for example: Android plugin; Collection example: $lib_plugin_version:["android_plugin:4.2"]Usually collected when the SDK is integrated in the form of a third-party framework plugin


2. PC Platform

Description

  • Refers to the game SDK, which is integrated by the client and finally runs on the PC platform (including Windows & macOS)
  • Currently, only Unity SDK and Unreal Engine SDK support the PC platform


2.1. Predefined Event

Event English Variable NameEvent Display NameProperty English Variable NameEvent Property Display NameProperty Value TypeExample or description of attribute valueTrigger timingRemarks
$AppStartApp Start$is_first_timeWhether it is the first timeBoolean valueIndicates whether it is the first time the app is started. Refer to the documentNew Users and First-day First-time MarkingsTriggered when the app is started or switched from the background to the appUnreal Engine SDK is not supported yet
$AppEndApp Exit$event_durationEvent DurationNumeric valueSpecifically refers to the duration from the app start to the app exit, in secondsTriggered when exiting the app or when the app goes to the backgroundUnreal Engine SDK is not supported yet
$AppInstall





App Activation / App First Launch After Installation$browserBrowser NameStringThe value parsed from the User Agent (UA)

This event needs to be collected by calling the trackAppInstall API. It will only be triggered when the app is launched for the first time after installation, and will not be triggered upon subsequent launches.

Unreal Engine SDK v0.0.3 and later versions are supported.


$channel_active_period_dayEffective Activation Window (Days)NumericRecord information about the configuration of the activation window period. It can be used to trace changes in activations caused by changes in the window period.
$channel_attribute_period_hourActivation Attribution Window (Hours)Numeric

2.2. Preset properties for all events

Property NameAttribute TypeDefault Display NameDescriptionRemarks
$app_idString

App Unique Identifier

Unique identifier for the app

Not supported by Unreal Engine SDK at the moment

$app_nameStringApp NameName of the app

Not supported by Unreal Engine SDK at the moment

$app_versionStringApp VersionVersion of the app
$libStringSDK TypeThe type of SDK, such as Android/iOS
$lib_versionStringSDK VersionSDK version
$manufacturerStringDevice manufacturerDevice manufacturer, Windows result is graphics card manufacturer

Unreal Engine SDK does not support for now

$modelStringDevice modelDevice modelUnreal Engine SDK does not support for now
$osStringOperating SystemOperating System
$os_versionStringOperating System VersionOperating System Version
$screen_heightNumericScreen HeightScreen Height
$screen_widthNumericScreen WidthScreen Width
$timezone_offsetNumerical valueTimezone offsetApp or system timezone


$is_first_dayBoolean valueWhether it is the first day of visitIndicates whether it is the first day the event is triggered. This attribute can be used to filter new and old users. For specific value logic, please refer to the document Newly added users and first day first-time marking


$is_login_idBoolean valueWhether it is a login IDDetermined when data is stored
$ipStringIPObtained by parsing the HTTP request on the backend
$countryStringCountry

Obtained by IP resolution


$provinceStringProvince

$cityStringCity

$device_idStringDevice ID



2.3. Predefined User Properties

Description

Unreal Engine SDK v0.0.3 and later versions are supported

Property NameProperty TypeDefault Display NameDescriptionRemarks
$first_visit_timeDatetimeFirst Visit TimeAfter calling the trackAppInstall interface, the first launch time of the app for new users is assigned to this property.

This property is set when calling the trackAppInstall interface and is generally tagged on anonymous ID users. If the association between login ID and anonymous ID is not successful, the property value for the login ID user is not available.

$matching_key_listStringChannel Matching Keyword ListThe list of channel matching keywords, including all possible keys for channel matching.Same as above, and supported in SA 1.14+ version. The channel matching keyword list includes all possible keywords for channel matching.

3. Mini Game Platform

Description

The main platforms of mini-games include:

  • Non-H5 mini-games: WeChat mini-games, QQ mini-games, Byte mini-games, etc.
  • H5 mini-games: H5 mini-games


3.1. Preset Events

Event English Variable NameEvent Display NameTriggered OccasionCorresponding LifecycleNon-H5 mini-gamesH5 mini-games
$MPShowMini-program DisplayTriggered when the mini-game is hot-started or brought to the foreground from the backgroundTriggered when the onShow lifecycle function of the mini-game is triggeredSupportedNot supported
$MPHideMini-program enters the backgroundTriggered when the mini-game enters the backgroundThe onHide lifecycle function of triggering mini-games is triggeredSupportNot Supported

3.2. Common properties for all events

Field NameTypeDescriptionNon-H5 mini-gameH5 mini-game
$libStringSDK TypeSupportedSupported
$lib_versionStringSDK versionSupportedSupported
$app_idStringApp ID of the mini programSupportNot supported
$brandStringBrandSupportNot supported
$screen_heightNumericScreen heightSupportSupport
$screen_widthNumericScreen widthSupportSupport
$modelStringDevice typeSupportedSupported
$manufacturerStringDevice manufacturerSupportedSupported
$mp_client_app_versionStringVersion of the client applicationSupportedNot Supported
$mp_client_basic_library_versionStringlib versionSupportedNot Supported
$osStringOperating SystemSupportedSupported
$os_versionStringOperating System VersionSupportedSupported
$is_first_dayBooleanWhether it is the first day of visit (From the first visit of new users to 23:59:59 on the day, it is true; after that, it is false. The judgment flag is stored in WeChat storage)SupportedSupported
$is_login_idBooleanWhether it is a login ID (added after data is imported into the database)SupportedSupported
$ipStringAttributes carried by SDK data requestSupportedSupported
$timezone_offsetNumericTimezone offsetSupportedSupported
$countryStringObtained from IP resolutionSupportedSupported
$provinceStringObtained from IP resolutionSupportedSupported
$cityStringIP ResolvedSupportedSupported
$network_typeStringNetwork TypeSupportedSupported
$browserStringBrowser Type, resolved from UASupportedSupported
$browser_versionStringBrowser Version, resolved from UASupportedSupported