1. Predefined Events

Event English Variable NameEvent Display NameProperty English Variable NameProperty Display NameProperty Value TypeProperty Value Example or ExplanationTrigger TimingRemarks
$AppStartApp Start$is_first_timeWhether First TimeBoolean valueIndicates whether it is the first time the App is launched, please refer to the documentation Newly Added Users and First Day First Time MarkingTriggered when the App is launched or switched from the background to the foreground

Universal data collection for Android/iOS SDK, enabling the AutoTrack interface will automatically enable it, please refer to the integration documentation of the client SDK.


UTM advertising campaign parameters used for channel tracking, refer to the documentation: App Channel Tracking

$AppStart, $AppEnd support property modification through attribute plugins.


 

$resume_from_backgroundWhether awakened from the backgroundBoolean value

$screen_namePage nameStringPackage name.class name of the Activity (only applicable for Android platform, the startup logic on the iOS platform does not require jumping to a specific page to determine if the app is launched, so the iOS platform cannot collect the page name during startup)
$titlePage titleStringTitle of the Activity (only applicable for Android platform, the startup logic on the iOS platform does not require jumping to a specific page to determine if the app is launched, so the iOS platform cannot collect the page title during startup)
$AppEndApp exit$event_durationEvent durationNumerical valueRefers to the duration from app launch to app exit for this particular session, in secondsExit App or go to background on App
triggered

$screen_namePage nameStringPackage name. Class name of Activity (Only available on Android. For iOS, there is no need to jump to a specific page to determine if the app is exited. Therefore, the page name cannot be collected when the app is exited on iOS.)
$titlePage titleStringTitle of the Activity (Only available on Android. For iOS, there is no need to jump to a specific page to determine if the app is exited. Therefore, the page title cannot be collected when the app is exited on iOS.)
$AppViewScreenApp browsing page$screen_namePage nameStringPackage name. Class name of Activity on Android / Class name of ViewController on iOS. The value of this property can be set manually.Triggered when opening an Activity / ViewController page (For Android, by default, Fragment does not trigger browsing page event. If you want to collect it, you need to enable it separately.)
$titlePage titleStringTitle of Activity (Android) / Title of ViewController (iOS)
$urlPage URLStringAuto-tracking version: Android 3.2.8, iOS 1.11.5
$referrerReferring URLStringAuto-tracking version: Android 3.2.8, iOS 1.11.5
$AppClickApp Element Click$screen_namePage NameStringPackage name.class name of Activity (Android) / Class name of ViewController(iOS); the value of this attribute can be manually set

Triggered when a control is clicked

Can collect most controls, such as:

For Android:

CheckBox, RadioButton, button, SwitchCompat, Spinner, TextView, ImageView, ImageButton, SeekBar, RatingBar, RadioGroup, MenuItem, ExpandableListView, Dialog, ListView, GridView, TabHost, etc.

For iOS:

UIButton, UIBarButtonItem, UISwitch, UISlider, UISegment, UIPageControl, UIStepper, UILabel + gesture, UIImageView + gesture, UIAlertController, UIMenu, etc.











$titlePage TitleStringTitle of the Activity (Android) / Title of the ViewController (iOS)
$element_positionElement PositionStringPosition of the element within the module, starting from 0.
Only under special controls, this attribute will have a value (such as UITableView and UICollectionView in iOS, ListView in Android). For controls where this attribute value cannot be collected, the value will be displayed as "Unknown" in the Sensors Analytics page.
$element_idElement IDString

Default value for Android;

For iOS, each control is generally not set with an ID, so it will not be collected by default. Can be manually set

$element_contentElement contentString

If the element content set in the control code is not set in a control, or the control type is a picture, the property cannot be collected and displayed as "unknown" on the event analysis page. Therefore, if you find that the content of a button is not collected, you need to confirm the type of this button control with the customer's R and D students, and whether the element content is set in the code.


$element_typeElement typeStringThe type of the control, such as Button
$element_selectorElement selectorStringThis attribute mainly records the position of a button in the APP. This attribute is used when the App of Shence clicks the graph to display, and business personnel do not need to pay attention to the value logic of this attribute.
$element_pathElement pathStringThe visual all-buried feature collects the value of this property and requires manual code to enable it
AppInstall / $AppInstall



App activation/First startup after App installation$browserBrowser NameStringValue parsed from user agentIt needs to call the trackInstallation/trackAppInstall API to collect this event. The event will only be triggered when the app is installed and opened for the first time, and will not be triggered on the second opening.




Sensors Analytics Android SDK v4.3.6+ and iOS SDK v2.1.14+ add the trackAppInstall interface. Calling this interface will collect the $AppInstall event.

If the original activated event name is not $AppInstall, you need to use avirtual eventto merge the original activated event and $AppInstall for analysis. For details, please consult Sensors Analytics technical support.



$utm_sourceAdvertising Campaign SourceStringThe App Install event will have the $utm-related properties only after successfully tracking the app channel with Sensors Analytics App channel tracking method. For details, refer to Sensors Analytics App Channel Tracking.
$utm_mediumAdvertising Campaign MediumString
$utm_termAdvertising Campaign TermString
$utm_contentAd Campaign ContentString
$utm_campaignAd Campaign NameString
$ios_install_source/String

Records the matching field when accurate matching of the app is made, such as IMEI, Android ID, Mac address, and IDFA. 

$utm_matching_typeChannel Tracking Matching ModeStringBy default, there is no such property when collecting events on the app side. Instead, it is added in the extractor module. It records the mode of successful channel matching, such as device fingerprint fuzzy matching or device identification accurate matching. If there is no successful match, the attribute value will be displayed as "Unknown" on the event analysis page.
$matched_keyChannel Matching KeywordStringBy default, there is no such property when collecting events on the app side. Instead, it is added in the extractor module. It records the matching key field when the app channel tracking is successfully matched. For example, if it is matched with IMEI, then the MD5 hash of IMEI will be recorded. If it is matched through IP_UA, it will be recorded as IP_UA. If there is no successful match, the attribute value will be displayed as "Unknown" on the event analysis page.
$matching_key_listChannel Matching Keyword ListStringAdded since SA version 1.14; The property is not included by default when collecting events on the App side, but is added in the extractor module. It records all matching keywords of the activation event, such as the MD5 hashed IMEI, Android ID, OAID, IP_UA, etc. During matching, it is matched according to the priority of these keywords and the keywords recorded when clicking on the ad.
$channel_active_period_dayEffective Activation Window Period (in days)NumberRecords the information of the window period configuration, and can be used to trace the changes in activations caused by window period changes.
$channel_attribute_period_hourActivation Attribution Window Period (in hours)Number

asa_iad_info

Apple Search Ads Attribution DataString

Not available for Android;

For iOS integration, when the iOS system version is greater than or equal to 10.0 and IDFA permission is enabled, this property is available;

asa_adservices_info

Apple Search Ads Attribution DataString

Not available for Android;

For iOS integration, when the iOS system version is greater than or equal to 14.3 and IDFA permission is not available, this property is available.

AppCrashedApp Crashapp_crashed_reasonCrash ReasonStringOnly collected when crash collection is enabledAPP Crash
$AppStartPassivelyApp Passive Start$app_stateApp StateStringiOS defaults to collecting, Android does not collectiOS APP is system activatedThis event is available on iOS but not on Android.
$resume_from_backgroundResumed from backgroundBoolean
$is_first_timeIs First TimeBooleanIndicates whether it is the first time launching the app. Refer to the document New Users and First-day First-time Mark
$AppRemoteConfigChangedRemote Control Configuration Changes$app_remote_configRemote Control Configuration InformationStringGet remote configuration. After the SDK loads the configuration and takes effect, it collects this event and collects the corresponding control information for troubleshooting.SDK obtains remote configuration

Android SDK 4.4.1+

iOS SDK 2.1.8+

$AppDeeplinkLaunch

Deep Link Wakeup App$deeplink_url Deep Link URLStringDeepLink URL that wakes up the appWhen the app is woken up by DeepLink

User for analyzing the relevant data when the App is awakened by Deeplink; The $utm_xxx and $latest_utm_xxx attributes in this event cannot be directly collected by the SDK and need to be supplemented by the backend

Android SDK 4.2.1+

iOS SDK 2.1.2+


 

$utm_source and other 5 attributesAd campaign source, etc.String
$latest_utm_source and other 5 attributesLatest ad campaign source, etc.String
$AppDeeplinkMatchedResult

Deep link matching result$deeplink_url Deep link URLStringDeep link URL that awakens the AppThe event triggered after the SDK completes parsing the Deep link configuration

Android SDK 4.2.1+

iOS SDK 2.1.2+



$event_durationEvent durationNumerical value
$deeplink_optionsDeeplink ParametersStringDeeplink parameters configured on the web page
$deeplink_match_fail_reasonReason for Deeplink Match FailureString
$utm_source and 5 other propertiesSource of the advertising campaign and othersString
$AppPushClickApp Push Click$app_push_msg_titlePush Message TitleString
Push is triggered when clicked



Android  SDK v5.1.0+

Android plugin v3.3.4+

iOS SDK v2.5.3+



$app_push_msg_contentPush message contentString
$app_push_service_nameThird-party push service providerString

Possible values are:JPush

$app_push_channelApp push channelString

Possible values are:HUAWEI、OPPO、vivo、Xiaomi、Meizu

Attributes that start with $sfGodplan marketing cloud related properties
These attributes will only be included when clicking on the push sent by Sensors Analytics Marketing Cloud. For more information, please refer to this document
$ABTestTriggerA/B Testing$abtest_experiment_idSpecific experiment IDstring
Triggered when an experiment is hitAndroid SDK v4.3.6+
iOS SDK v2.1.14+
$abtest_experiment_group_idSpecific experiment group IDstring
$is_control_groupWhether it is a control group userbooleanIndicates segmented user/random traffic user
$AppPageLeave

Page Leave
$event_durationEvent durationNumerical valueThe page exit event is triggered when the page is invisible, and the browsing duration is calculated. In this case, the page viewing duration is specifiedAfter leaving the page, the page leaving event is reported

Android  SDK v5.4.2+

iOS SDK v3.1.5+


$screen_namepage titleStringThe package name of the Activity. Class name (Android)/ViewController class name (iOS); You can set the value of this property manually
$titlepage titleStringActivity title (Android) /ViewController title (iOS)
$urlPage urlStringAutomatic capture version Android: 3.2.8, iOS: 1.11.5
$referrerForward addressStringAutomatically collected version Android: 3.2.8, iOS: 1.11.5

$PlanPopupDisplay





Popup Display

$sf_msg_title

Popup TitleString
Triggered when the popup display

Requires integration with SensorsFocus SDK, see Popup Reach Integration

$sf_msg_content

Popup ContentString

$sf_succeed

Message sent successfullyBoolean valuetrue/false, true represents success

$sf_fail_reason

Popup failure reasonStringIf the popup is successful, display unknown
$PlanPopupClick

Popup clicks$sf_msg_element_typePopup button typeStringPopup element type: normal button, text link, image link, close icon, overlayTriggered when the popup is clicked

Requires integrating SensorsFocus SDK, refer toPopup reach integration

$sf_msg_element_actionPopup button actionStringPopup click action: jump, preset action, web only has URL jump, App only has URL, custom jump, copy, close
$sf_msg_element_contentPopup button copyString
$sf_msg_action_idClick Event IDString
$sf_msg_image_urlImage URLStringImage URL (CDN storage address)
$sf_close_typeClose button typeStringClose button type, only closing behavior has: closing overlay, popup upper right close icon, popup lower close icon, bottom button (set as the button to close the popup)

2. All events have preset attributes

Attribute NameAttribute TypeDefault Display NameDescriptionRemarks
$app_idString

Application Unique Identifier

Unique identifier for the app

Supported by Android SDK version 4.1.0

Supported by iOS SDK version 2.0.9

$app_nameStringApp NameName of the app

Supported by Android SDK version v4.2.8

Supported by iOS SDK version 2.1.8

$app_versionStringApp VersionApp version of the APP
$libStringSDK TypeSDK Type, such as Android/iOSAndroid SDK v5.2.5, the value for HarmonyOS is Android
$lib_versionStringSDK VersionSDK Version
$manufacturerStringDevice ManufacturerDevice ManufacturerAndroid SDK v5.2.2, the value is all uppercase
$brandStringDevice BrandDevice BrandAndroid SDK v5.2.2, new attribute only collected on Android
$modelStringDevice ModelDevice Model
$osStringOperating SystemOperating SystemAndroid SDK v5.2.5 adds collection of Hongmeng system
$os_versionStringOperating System VersionOperating System VersionAndroid SDK v5.2.5 adds collection of Hongmeng system version
$referrer_titleStringForward Page Title

Previous Page Title

Android SDK v4.4.7 and above support, v6.0.0 and above versions default enabled, v6.0.0 and below enabled through SAConfigOptions enableReferrerTitle configuration

iOS SDK v2.2.5 and above support, enabled through SAConfigOptions enableReferrerTitle configuration; v4.0.0 and above versions default enabled

$screen_heightNumberScreen HeightScreen Height (On iOS, it is logical resolution, which is the point pixel in development; On Android, it collects physical pixel points, for example, Android phone resolution is 1920 x 1080, and the collected value is this.)
$screen_widthNumericalScreen WidthScreen Width (On iOS, it is logical resolution, which is the point pixel in development; On Android, it collects physical pixel points, for example, Android phone resolution is 1920 x 1080, and the collected value is this.)
$wifiBooleanWhether WiFiWhether it is WiFi when the event is triggered
$carrierStringCarrier NameThe name of the carrier on the device's SIM card at the time the event is triggered. If Android does not have READ_PHONE_STATE permission or no SIM card is inserted, the carrier name cannot be obtained; If iOS does not have a SIM card inserted, the carrier name cannot be obtained

Due to iOS system limitations, for iOS 16.4 and above versions, the iOS SDK cannot collect carrier information. That is, for iOS 16.4 and above systems, all events of iOS SDK do not have the preset property $carrier.

Reference: iOS & iPadOS 16.4 Release Notes

$network_typeStringNetwork TypeThe network type when the event is triggered. If the SDK does not have permission to access the network type, or if the phone is in airplane mode, without a SIM card, or not connected to WiFi, the network type cannot be obtained.
$timezone_offsetNumeric valueTimezone offsetApp or system timezone

Supported in Android SDK version 4.1.0

Supported in iOS SDK version 2.0.9

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

Supported in Android SDK version 1.6.27

Supported in iOS SDK version 1.6.29

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

Obtained through IP parsing


$provinceStringProvince

$cityStringCity

$device_idStringDevice IDFor Android devices, it mainly uses Android ID. For iOS devices, it first attempts to obtain IDFA. If IDFA cannot be obtained, it uses IDFV. For specific value acquisition logic, please refer to the How to accurately identify users document

Support in Sensors Analytics Android SDK version 1.7.1. The value in the range of Android v6.2.0 to v6.2.5 is $anonymization_id. Support in Sensors Analytics iOS SDK version 1.10.18. The value in the range of iOS v4.2.0 to v4.2.3 is $anonymization_id

$screen_orientationStringScreen Orientation

Only collected when enableTrackScreenOrientation is enabled

Supported in Sensors Analytics Android/iOS SDK version 1.10.1


$latitudeNumberGPS Information

Latitude * 106

Only collected when enableTrackGPSLocation is enabled

Supported in Sensors Analytics Android/iOS SDK version 1.10.1

Android devices need to be passed manually

$longitudeMetricUser Segment

Longitude * 106

Only available when enableTrackGPSLocation: is turned on

Android/iOS version 1.10.1 or later

Android devices need to pass manually

$geo_coordinate_systemStringCoordinate SystemOnly available when enableTrackGPSLocation: is turned on

Android version 5.2.2 or later

iOS version 2.6.4 or later

iOS devices default to WGS84

Android devices need to pass manually

$anonymization_idStringAnonymized IDBase64-encoded and obfuscated $device_id

Android version 6.2.0 to 6.2.5

iOS version 4.2.0 to 4.2.3

SDG v0.8.11738 +

SCA commands can be executed by contacting the Sensors Operation team


3. Tracked and passed back pre-set event properties during channel matching and backfilling

Property NameProperty TypeDefault Display NameDescriptionNote
$channel_device_infoStringRecords device information for channel matching

When tracking custom events with App Channel Tracking, channel matching can be conducted by calling - trackChannelEvent:properties: to track the events to be matched. After the backend matches the channel information, the result will be passed back to the channel partner. This field records the device information used for channel matching, such as IMEI, Android ID, Mac Address, and IDFA. For specific usage, please refer to the SDK API documentation.

Supported in SA 1.15+
$is_channel_callback_eventBooleanWhether to perform channel matching callbackWhen tracking custom events with App Channel Tracking, channel matching can be conducted by calling - trackChannelEvent:properties: to track the events to be matched. After the backend matches the channel information, the result will be passed back to the channel partner. For specific usage, please refer to the SDK API documentation.

Supported in SA 1.15+;

By default, this property is set to true only for the first occurrence of triggering a custom event with channel tracking, indicating a successful match and callback of channel data to the advertiser. For subsequent occurrences of triggering this event, the value of this property will be false.


4. Preset user properties

Attribute nameAttribute typeDefault display nameInstructionsRemarks
$first_visit_timeDatetime(Time)First access time After calling trackInstallation / trackAppInstall interface, when a new user starts the App for the first time, this property is assigned a value.These properties are dependent on the calltrackInstallation / trackAppInstall interface, generally marked on the anonymous ID (Android ID/IDFA) user, if the login ID and the anonymous ID are not successfully associated, the login ID user has no value for this attribute value.
$utm_sourceStringSource of the first AD campaign

These properties are dependent on the calltrackInstallation / trackAppInstall interface, and use APP Channel tracking, after the matching is successful, the corresponding channel information (utm_ parameter) contained in the channel link is written into the user table. The channel matching mode and channel matching keyword record the matching channel mode and the matching keyword

$utm_mediumStringFirst advertising campaign medium
$utm_termStringFirst campaign keyword
$utm_contentStringFirst campaign content
$utm_campaignStringFirst campaign name
$utm_matching_typeStringChannel tracking matching mode

$matched_key

StringChannel matching keyword
$matching_key_listStringChannel matching keyword listChannel matching keyword list, including all possible keys for channel matchingSame as above, and SA 1.14+ version supports, channel matching keyword list, including all possible keyword for channel matching

5. Others

Property NameProperty TypeDefault Display NameDescriptionRemark
$lib_plugin_versionListSDK Plugin Version NumberThis attribute is used to record the version number of the various plugins in Sensors Analytics, such as the Android plugin. Collection example: $lib_plugin_version:["android_plugin:4.2"]It will only be collected with Android SDK v4.3.5+ and Android plugin v3.2.14+;