# Preset Properties and System Fields
::: Tips
This section will introduce all the built-in properties and system fields in TE. For detailed built-in properties of the platform, please refer to:
Android platform, iOS platform, Web platform, Server
:::
Preset properties refer to the properties generated or obtained by TE. All the preset properties, all event properties, start with "#", with their Chinese name and meaning clearly defined. System fields refer to the structure fields in data (e.g., #account_id
and #event_time
, etc.), or fields with special usage in the database. Such fields would not be used directly nor indirectly in the analysis model.
Except for the following preset properties, any properties starting with "#" would be defined as illegal fields and could not be stored. Therefore, it is recommended that you do not set the self-defined properties as properties starting with "#". Since all the system fields could not be used as events or user properties and should be uploaded during data ingestion.
Please note that all preset properties except #ip are not recommended to be set manually. It is suggested that you set such properties under the guidance of TE staff to ensure the properties of data on multiple terminals are consistent when the client-side SDK and other transmission modes are used simultaneously.
- Preset property:
Property name | Description | Property type | Instruction |
---|---|---|---|
#ip | Client-side IP | String | The IP address of the user, based on which TE would obtain the geographical location of the user |
#country | Country/region | String | The country where the user is located; generated based on the IP address |
#country_code | Code of country/region | String | The code of the country where the user is located (ISO 3166-1 alpha-2, two English characters in upper case); is generated based on the IP address |
#province | Province | String | The province where the user is located; generated based on the IP address |
#city | City | String | The city where the user is located; generated based on the IP address |
#os_version | OS version | String | iOS 11.2.2, Android 8.0.0, etc. |
#manufacturer | Manufacturer | String | The manufacturer of the user device, namely, Apple, Sumsung, etc. |
#os | OS | String | E.g., Android, iOS, etc. |
#device_id | Device No. | String | The ID of the user device; IDFV or UUID of the user for iOS; androidID for Android |
#screen_height | Screen height | N umber | The screen height of the user device, e.g., 1920, etc. |
#screen_width | Screen width | Number | The screen height of the user device, e.g., 1080, etc. |
#device_model | Device model | String | Model of the user deivce, e.g., iPhone 8, etc. |
#device_type | Device type | String | Type of user device, e.g., iPad, iPhone,etc. |
#app_version | APP version | String | The version of your APP |
#bundle_id | APP package name | String | APP package name or process name |
#lib | SDK type | String | The type of the SDK to which you access, e.g., Android,iOS, etc. |
#lib_version | SDK version | String | The version of the SDK to which you access |
#network_type | Network type | String | The network state when an event is uploaded, e.g., WIFI, 3G, 4G, etc. |
#carrier | Operator | String | The network operator of the user device, namely, AT&T, Vodafone, etc. |
#browser | Browser | String | Type of the browser used by the user, e.g., Chrome, Firefox, etc. |
#browser_version | Browser version | String | The version of the browser used by the user, e.g., Chrome 61.0, Firefox 57.0, etc. |
#duration | Event duration | Number | The duration was recorded by using the timing function (unit: second) |
#url | Screen URL | String | Used in the auto-tracking event, the address of the current page (a page not defined by service). The value of screen URL in the web page is located.href, while the value of the screen URL on the Android/iOS platform is the self-defined page path |
#url_path | Page path | String | Used in the auto-tracking event, the address of the current page (a page not defined by service). Value: location.pathname |
#referrer | Forward address | String | Used in the auto-tracking event, the address of the page before skipping (a page not defined by service). The value of the forward address in the web page document.referrer, while the value of the forward address on Android/iOS platform is the self-defined forward page path |
#referrer_host | Forward domain name | String | Used in the auto-tracking event, the path of the page before skipping (a page not defined by service). The value is the host of referrer |
#title | Screen title | String | Used in auto-tracking event, the title of current page (a page not defined by service). The value in the web page is document.title, while the value on Android platform is the title of Activity, with the value being the value of the title property of Activity. The value on iOS platform is the title of View Controller, with the value being that of the controller.navigationItem.title property |
#screen_name | Screen name | String | Used in the auto-tracking event, the name of page(a page not defined by service). The value on Android platform is the package name.type name of Activity, while the value on iOS platform is the type name of View Controller |
#element_id | Element ID | String | Used in the auto-tracking event, ID of the controller |
#element_type | Element type | String | Used in auto-tracking event, ID of the controller |
#resume_from_background | Resume from the background or not | Number | Used in auto-tracking event, whether to resume the app from the background, Boolean |
#element_selector | Element selector | String | Used in the auto-tracking event, viewPath of the controller |
#element_position | Element position | String | Used in the auto-tracking event, the location information of the controller |
#element_content | Element content | String | Used in the auto-tracking event, the content of the controller |
#scene | Scenario value | Number | Scenario value uploaded upon initiating mini-program of WeChat |
#mp_platform | Mini-program platform | String | Platform where the identification app locates |
#app_crashed_reason | Abnormal information | String | Used in the auto-tracking event to record the stack information of APP crash |
#zone_offset | Timezone offset | Number | Data’s offset hours when compared with UTC time |
#system_language | Default language of the system | String | The system language of the user device (ISO 639-1, two digits of lower case English letters), namely, zh, en,etc. |
#install_time | APP installation time | Date | The time when the user installs the APP, with the value coming from the system |
#simulator | Simulator or not | Number | The device is a simulator or not true/false |
#ram | Memory (GB) | String | The remaining memory and total memory of the user device (unit: GB), for example, 1.4/2.4 |
#disk | Hard disk (GB) | String | The remaining storage and total storage of the user device (unit: GB), for example, 30/200 |
#fps | FPS | Number | The transmission frame rate per second of current image of the user device, for example, 60 |
#background_duration | Background duration | Number | Record the background duration of the APP in the time interval between two start events (unit: second) |
#start_reason | Start reason | String | The property only exists when the app is enabled under the non-launcher mode, for example, deeplink mode or the startActivity of other apps. Sample data: "#start_reason":"{"url":"thinkingdata:\/\/","data":""}" |
#ua | Current agent information of the user | String | Used to identify the operating system and version, CPU type, browser and version, browser rendering engine, browser language, and browser plugin used by the user |
#utm | Property of advertisement sources | String | The advertisement information originates from the user, including advertisement sources, advertisement media, etc. |
- System fields in the event table
Field name | Description | Property type | Instruction |
---|---|---|---|
$part_event | Event partition field | String | Event partition field, obtained from #event_name, the event name |
$part_date | Date partition field | Date | Date partition field, obtained from #event_time, the date when the event occurred |
#user_id | Unique ID of the user | Number | Unique user identifier in the system |
#account_id | Account ID | String | Account ID, equivalent to the #account_id in the data |
#distinct_id | Distinct ID | String | Distinct ID, equivalent to the #distinct_id in the data |
#event_name | Event name | String | Event name, equivalent to the #event_name field in the data |
#event_time | Event time | Date | Event time, equivalent to the #time field in the data |
#server_time | Server time | Date | The time when the server receives the data |
- System fields in the user table
Field name | Description | Property type | Instruction |
---|---|---|---|
#user_id | Unique ID of the user | Number | Unique user identifier in the system |
#account_id | Account ID | String | Account ID, equivalent to the #account_id in data |
#distinct_id | Distinct ID | String | Distinct ID, equivalent to the #distinct_id in the data |
#active_time | Activation time | Date | The time of the #time field when the first piece of data of the user is stored (including the event and user property data) |
#reg_time | Register time | Date | The time of the #time field when the first piece of data containing the account ID of the user is stored (including the event and user property data) |
#update_time | Update time | Date | The time when the #time field of the last piece of user property data is received |
#server_time | Server time | Date | The server time when the last piece of user property data is received |