If you need to push the buried data collected by the Finder-SDK to the target address in real time (such as your business data warehouse), the data output module can do it for you.
Sub-project | Restriction statement |
|---|---|
Supported environment |
|
The current privatization environment supports real-time and offline data transmission. The main processes for real-time and offline data transmission are as follows.
If you have other data transfer scenarios, please contact your Customer Success Manager.
Subdivision | Prerequisite |
|---|---|
DataFinder side |
|
Data receiving side |
|
tip
If you cannot find the "Data Export" entry in the application management list, please contact your administrator to grant permission for you. (Permission configuration entrance: Group settings - role management - growth analysis - configuration function permissions)
Real-time tasks are used to forward behavioral data in real time. The configuration details of the task are as follows.
Configuration basic information.
Parameter | Parameter description |
|---|---|
Task name | You can customize the name, such as XX product event tracking data push. |
Application | Select which application to transfer the collected data to the destination address. |
Task type | The current privatization environment supports real-time , offline - single , offline - daily routine three types of tasks. |
Output content | To configure the data content to be distributed to the target address, the supported configuration is:
warning When real-time data output starts data transmission, some data has not yet been stored, such as data that needs to be parsed twice, such as IP resolution provinces & cities; and real-time output transmission does not include data reported by the profile (user data) and item (business object) APIs. Therefore, if you need to receive such data, it is recommended to use offline transfer tasks. |
Data connection configuration.
Parameter | Parameter description |
|---|---|
Connection protocol | HTTP is selected by default. |
Access method | Webhooks are selected by default |
Webhook URL | Configure the Webhook URL address for distribution. Format example: http://localhost:6666/payload . Http/https is supported. warning
|
Headers | You need to configure webhook headers according to the webhook requirements of the receiving end for data sending, and support setting multiple headers. |
Test access connection | You can click Test Access Connection to test whether it is connected to the webhook. Only tasks that have been connection-verified can be created. |
Configuration data management.
tip
After privatization 4.4.1 (inclusive), new filter conditions can be added to select the range of data distributed according to the combination of event and attribute rules.
Parameter | Parameter description |
|---|---|
Add event | Configure the list of events to be distributed to the destination address. The event list |
Event property addition rule | The added events are filtered by the event attribute, that is, only data within the scope of the event list and meeting the rules of the event attribute will be distributed. |
Offline tasks : used to export historical behavior data in batches. The configuration details of the task are as follows.
Configuration basic information.
Parameter | Parameter description |
|---|---|
Task name | You can customize the name, such as XX product event tracking data push. |
Task type | The current privatization environment supports real-time , offline - single , offline - daily routine three types of tasks. |
Output content | Offline export supports the selection of behavioral data and user data . Data that is not dropped due to disabling or non-compliance with data specifications will not be transferred to the destination address. warning
|
Offline time range / Offline end time | Select the configuration according to the task type:
warning Offline tasks can export up to 30 days' worth of historical data at a time. |
Application | Select which application to transfer the collected data to the destination address. |
Data connection configuration.
Parameter | Parameter description |
|---|---|
Connection protocol | Select FTP or SFTP. |
Access method | Select the standard version by default. |
Connection address | Configure the FTP/SFTP server address in IP: port format. |
Authentication method | Default does not authenticate. |
Remote storage path | That is, the specific storage directory. |
Test access connection | You can click Test Access Connection to test whether the FTP/SFTP server is connected. Only tasks that have been connection-verified can be created. |
Configuration data management.
tip
After privatization 4.4.1 (inclusive), new filter conditions can be added to select the range of data distributed according to the combination of event and attribute rules.
Parameter | Parameter description |
|---|---|
Add event | Configure the list of events to be distributed to the destination address. The event list |
Event property addition rule | The added events are filtered by the event attribute, that is, only data within the scope of the event list and meeting the rules of the event attribute will be distributed. |
The following describes the task configuration details for synchronizing user group data to the media platform through offline tasks.
warning
Configuration basic information.
The configuration parameters of the basic information are similar to the above-mentioned synchronization tasks for user behavior data and user data. Please refer to the configuration parameter description above.
Configure clustering rules.
Parameter | Parameter description |
|---|---|
Push channel | In the drop-down box, select which media platform you want to push user clustering data to. |
Selective grouping | Select the created user cluster to be synchronized. |
Group name after push | After setting the user group name on the DataFinder to sync to the media platform, the user group name on the media platform side. |
Push account | Choose which account to use to sync data to the media platform, you can select the media account that has been authorized in the drop-down box, see the media authorization operation Media Authorization. |
Update method | Sets how data synchronization tasks are triggered.
|
Life Cycle | Set the retention time of user grouping data after synchronization to the media platform, time unit: days. |
Click OK when you are finished configuring.
If you create a data output task that is manually triggered, you can trigger the task manually after the task is created.
Click the "Update" button after the task list to manually trigger the data push.
The data output task is expected to take effect within 10 minutes after it is triggered. You can check whether the receiver has received the data normally after 10 minutes.
You can view all data output tasks on the data output task list page:
The body of a request is a JSON array that contains 1 to 50 events.
[{ "user": { "user_unique_id": "mock_user_unique_id", "user_id": 6934486383370142000, "user_type": 13, "user_is_auth": false, "user_is_login": false, "is_upgrade_user": false, "web_id": 6934486383370142000, "ip_addr_id": 0, "ssid": "acf3dd8f-7a18-42b1-996b-56a20156249c" }, "header": { "app_id": 10000010, "app_name": "mock_web", "access": "", "client_ip": "221.122.122.122", "carrier": "", "os_name": "mac", "os_version": "10_15_5", "product_id": 107, "product_name": "default_to_b", "custom": "{\"app_id\":10000010,\"screen_width\":1440,\"screen_height\":900}", "trace_id": "16015901108710420012361360828522", "language": "zh-CN", "device_model": "Macintosh", "resolution": "1440x900", "width": 1440, "height": 900, "timezone": 8, "tz_offset": -28800, "platform": "web", "browser": "Chrome", "browser_version": "78.0.3904.108", "referrer": "", "referrer_host": "" }, "params": "{\"app_name\":\"mock_web\",\"referrer\":\"\",\"user_unique_id\":\"\",\"time\":1601590110322,\"is_bav\":1,\"title\":\"测试页面\",\"event_index\":1616590857270,\"url\":\"http://demo.com.cn/product/list\",\"url_path\":\"/product/list\"}", "event_name": "predefine_pageview", "session_id": "aa7b79a1-4e27-44fe-bed8-56adfffddc07", "datetime": 1601590110, "server_time": 1601590110, "rnd": "ne0000", "log_type": "mario_event", "local_time_ms": 1601590110322 },{其他事件},{其他事件}]
//An event Event { User user //The format requirements within user are described in the following text Header header //The format requirements within header are described in the following text string params //Event parameters, single-layer json map, need to be dumped into a string string event_name // Event name string session_id uint64 server_time //The time log reached server string log_type uint64 local_time_ms //Event happen timestamp(millisecond) } //user field inside event User { string user_unique_id // unique User id uint64 device_id // equipment id string open_udid // openudid string client_udid // device id generated by the client itself string mc // equipment mac address string build_serial // hardware serial number string serial_number // serial number string idfa // idfa uint64 web_id string ssid string idfv string oaid string user_unique_id_type // The caliber of the user_unique_id type field, used in tob scenarios, the default caliber is empty or default_user_unique_id_type } //header field inside event Header { uint32 app_id // app_id string app_name // app name string app_version // app version string app_package // app package name string display_name // app name string app_channel // app distribution channel string access // network access type string client_ip // client ip string carrier // carrier string os_name // operating system name string os_version // operating system version string custom // custom event public attribute, which is a json string uint32 client_port // client port string app_key // app key uint32 version_code // version code string vendor_id // app vendor id string app_language // app language string language // operating system language string app_region // app setting region string region // operating system region string device_model // device model string device_brand // device brand string device_manufacturer // device manufacturer string resolution // screen resolution string display_density // screen pixel display level uint32 density_dpi // screen pixel display density sint32 width // screen width sint32 height // screen height string cpu_abi // cpu type float timezone // timezone string tz_name // timezone name sint32 tz_offset // timezone offset string mcc_mnc // nation+running trademark record uint32 os_api // client operating system API version number string rom // rom string rom_version // rom version string sim_region // sim region string sim_serial_number // sim series number bool is_jailbroken // is the device jailbroken string platform // platform type string ab_sdk_version // ab_test field string utm_source // advertisement source string user_agent // user_agent string utm_medium // advertisement medium string utm_campaign // advertisement name string browser string browser_version string referrer string referrer_host string app_version_minor //4-digit version number string utm_term //advertisement keyword term string utm_content //advertisement content string sdk_version_v2 //string type sdk version string tracer_data // SDK tracer custom field,json string uint64 harmony_os_api // 524~530 are unique identifiers of the HarmonyOS system string harmony_os_version string harmony_release_type uint64 harmony_build_version uint64 harmony_major_version uint64 harmony_senior_version uint64 harmony_feature_version }
After the offline task is started, it will create a directory according to the configured remote path, and divide the data into one or more compressed files according to certain rules. Each file is a multi-line JSON format reporting event, as follows:
Explain | Example | |
|---|---|---|
Directory structure | Daily routine export: Based on the customer configuration path, generate subdirectories according to the data date for storing the data of the corresponding date. | Routine export: Single export: |
File name | In the folder corresponding to the date, divide it into 1 to multiple gz files according to the data size of the corresponding date, and name it as follows: | 1_10000000_test1_2023-10-18_part0_rvgycnvjxpunuevg.txt.gz |
Document content description | A single file is a gz compressed file, and after decompression, it is a txt file with multiple lines of data, each of which contains 1 event in json format. | For example: |
Example of a single piece of data:
{ "user": { "user_unique_id": "4010980525", "web_id": "", "ssid": "1729384455933548568", "anonymous_id": null, "device_id": "7279348669067838213", "hash_uid": "1729384455933548568" }, "header": { "app_id": 10000000, "app_name": "toutiao", "ab_version": [], "custom": { "continent": "AS", "device_model": "iphone 7 plus", "platform": "ios", "getui_client_id": "A2800992-931C-4836-A884-AF6D6B35D064", "platform_type": "web/h5", "browser": "safari", "sdk_version": "6180690", "browser_version": "9.1.3", "sdk_lib": "ios", "__trace_id": "1694880771043042001034172826147014", "session_id": "f5de541d7433774ade7931a766c6087088ba", "network_carrier": "at&t", "ad_id": "0", "device_brand": "apple", "is_login": 1, "width": 0, "age": 56, "height": 0 }, "app_language": "zh_CN", "app_version": "0.15", "timezone": "8", "language": "zh_CN", "resolution": "320*570", "loc_country_id": "1814991", "app_region": "China", "loc_province_id": "1796231", "client_ip": "180.156.197.138", "loc_city_id": "1796236", "package": "ios.package", "os_version": "11.4.0", "app_channel": "\u6296\u97f3\u89c6\u9891", "os_name": "ios", "network_type": "4g", "region": "China" }, "sdk": null, "preset_user_profiles": "", "params": { "is_background": "false", "duration": 0, "session_duration": 0 }, "event_name": "app_launch", "time": { "event_time": 1694879843000, "server_time": 1694879843000, "event_date": "2023-09-16" } }
Examples of data are as follows:
{ "app_id": "10000***", "project_id": "1", "subject_id": "1", "ssid": "172938885398003****", "stat_standard_id": "172938885398003****", "device_id": "", "web_id": "745710618994439****", "user_id": "879303****", "user_unique_id": "879303****", "hash_uid": "172938885398003****", "update_time": "1736242840766", "last_active_date": "2025-01-06", "user_profiles": { "gender": "female", "campaign_name": "", "cheat_type": "" } }
Field name | Field meaning |
|---|---|
app_id | App ID |
project_id | Project ID |
subject_id | principal id |
ssid | Growth Analysis Default Statistical Caliber ID |
stat_standard_id | Basically the same as ssid. |
device_id | Unique identification of the device (mobile end) |
web_id | Unique device identification (web, Mini Program) |
user_id | user ID |
user_unique_id | User unique identity, generally directly use the user identity used in the product business, such as login account |
hash_uid | Internal usage field, hashed UID |
update_time | update time |
last_active_date | Last Active Date |
user_profiles | All other user properties, expressed in JSON format
warning
|
The data transmitted offline may additionally contain pre-set attributes that have undergone secondary processing, such as the region ID (which needs to be obtained in Chinese using the mapping table), whether to log in, and so on. During the transmission process, such data is stored in the form of an ID, and the mapping relationship between the ID and its corresponding Chinese and English names, attribute values, etc. is shown in the following table. You can refer to the following table to map the received data for subsequent query analysis.
Type | Field name | Field meaning | Value example |
|---|---|---|---|
User/User ID Collection | user_unique_id | User unique identity, generally directly use the user identity used in the product business, such as login account | 8228513602 |
user_id | user ID | 8228513602 | |
web_id | Unique device identification (web, Mini Program) | ||
ssid | Growth Analysis Default Statistical Caliber ID | 1729384455933532151 | |
device_id | Unique identification of the device (mobile end) | 7333075566024720907 | |
hash_uid | Internal usage field, hashed UID | 1729384455933532151 | |
anonymous_id | Customer-generated anonymous ID, optional reporting | ||
Header/public attributes (including presets) | app_id | App ID | 10000000 |
app_name | app name | test | |
ab_version | AB test VID | ||
custom | A non-predefined collection of public properties. If the public properties are not found in the outer layer, please get them in this field | { | |
app_language | APP language type | en_US | |
app_version | APP version | 0.27 | |
timezone | Time Zone | 8 | |
language | system language type | zh_CN | |
resolution | resolution | 1920*1080 | |
loc_country_id | country code | 1814991 | |
app_region | Software region | China | |
loc_province_id | province code | 1279685 | |
client_ip | Client side Internet Protocol Address | 113.63.59.55 | |
loc_city_id | city code | 1280737 | |
package | install package name | ios.package | |
os_version | System version | 7.0.0 | |
app_channel | channel | app store | |
os_name | Operating System | ios | |
network_type | network type | 4g | |
region | System area | China | |
app_version_minor | Four-digit version number | 4 | |
creative_id | Creative ID (Tracer field) | ||
campaign_id | Ad group ID (Tracer field) | ||
gender | Gender | ||
utm_campaign | advertising campaign | ||
utm_source | advertising channel | ||
utm_medium | advertising promotion medium | ||
utm_content | advertising content | ||
utm_term | promotional terms | ||
__sdk_platform | SDK type and version, not displayed by default, DataFinder system application terminal. | ||
$source_platform | Event reporting terminal type, not displayed by default, DataFinder system application terminal. | ||
$is_first_time | Whether to visit for the first time | ||
$url_query | Mini Program URL query parameters | ||
$is_first_day | Whether to visit on the first day | ||
user_profile | all_value type of user attribute, privatized environment does not exist | ||
params | Custom event properties | { | |
event_name | event name | app_launch | |
Time/Time | event_time | Client side time | 1697730863000 |
server_time | Server level time | 1697730863000 | |
event_date | Event date | 2023-10-19 | |
Item/Business Object | Business object properties (optional reporting) |
Real-time tasks are not supported. Please self-push historical data through offline tasks, and support one-time export of historical data for up to T-30 days.
In addition, if a deactivated real-time task is re-enabled, the data during the deactivation period cannot be traced back.
Real-time data is normally sent within 60 seconds after the data is reported.
For the sending failure caused by the service reception of the business itself, the current system has the following retry mechanism:
In a privatized environment, there is no limit to retry within the same day; if a piece of data fails three times in a row after version 4.6 (inclusive), the system will no longer push the message; within 7 days, you can contact the customer success manager or Volcano's technical support to manually trigger the push, and it will be automatically deleted after expiration. Recovery is no longer supported
It cannot be ruled out that some data may be repeatedly pushed due to various reasons such as network instability. For special circumstances, please contact your Customer Success Manager or Volcano's technical support.