Analysis subjects

更新时间:
复制 MD 格式

Quick Tracking uses three analysis subjects — device ID, account ID, and entity ID — to identify and track users across platforms.

Overview

Quick Tracking supports three analysis subjects: device ID, account ID, and entity ID.

  • Device ID: An app-level unique ID that QuickTracking generates for each device.

  • Account ID: A user account ID passed in through the SDK to uniquely identify a user.

  • Entity ID: A user identifier generated by Quick Tracking through ID-Mapping, which associates device IDs with account IDs.

Select an analysis subject

  1. In event analysis, select the analysis subject under "Preset Metrics":

    image

  2. In funnel, retention, distribution, and interval analysis, select the analysis subject under "Analysis Subject":

    image

  3. Session, path, and attribution analysis use only the device ID.

  4. Audience management uses only the entity ID when creating a crowd.

System attributes vs. user attributes

Attribute category

Analysis subject

Description

System attributes

Device ID

Device ID values in the event table

Account ID

Account ID values in the event table

Entity ID

Entity ID values in the event table

User attributes

User account (account ID)

Account ID values in the user table

FAQ

  1. What is an event table?

    The event table stores tracking logs, including actual reported values and the entity ID generated from the account ID or device ID. A log contains an account ID only if one was reported.

  2. What is a user table?

    • If tracking logs contain an account ID, the account ID and entity ID are stored in the user table.

    • If an event code is $$_ user_profile, its event attributes are stored as user attributes in the user table.

  3. What is the difference between the account ID in system attributes and the user account in user attributes?

    • The account ID in system attributes is queried from the event table.

    • The user account in user attributes is queried from the user table, associated through the entity ID in the event table.

Device ID

App Device ID

Default Android and iOS device IDs are app-level unique IDs automatically generated by QuickTracking:

  • Android 9 and earlier: The SDK tracks imei, wifimac, androidid, and SN to generate device IDs. Generated IDs are stored locally and regenerated only after the app is deleted.

  • Android 10 and later: The SDK tracks oaid, gaid, androidid, and serial number to generate device IDs. Generated IDs are stored locally and regenerated only after the app is deleted.

  • iOS: The SDK tracks openudid to generate a device ID. The generated ID is stored in the keychain and regenerated only after a factory reset.

  • The QT SDK tracks IDFA and OAID only if end users consent. Only the app SDK can track OAID, GAID, IMEI, WiFiMAC, AndroidID, SN, IDFA, and IDFV.

iOS: Enable the following configuration to allow the SDK to track IDFA.

image

Android: Enable the following configuration to allow the SDK to track OAID.

image

Android SDK Integration Document and iOS SDK Integration Document.

Mini program device ID

Developers obtain and upload the mini program device ID:

  • The device ID is a unique ID generated by the mini program, such as the WeChat OpenID.

  • Assign the value to "_anony_id":

// If the user ID is tracked asynchronously, you must prevent the SDK from being reported and set the BLOCK tracking point.
aplus.aplus_queue.push({
 action: 'aplus.setMetaInfo',
  arguments: ['_hold', 'BLOCK'] 
});

// Set_anony_id
aplus.aplus_queue.push({
 action: "aplus.setMetaInfo",
  arguments: ["_anony_id", "The openid you obtained"]
});

 // Because the tracking of user IDs is asynchronous, you need to set BLOCK first, and then set START.
 // After_hold=START is set, logs that are previously blocked will be sent one by one with user information.
aplus.aplus_queue.push({
 action: 'aplus.setMetaInfo',
  arguments: ['_hold', 'START'] 
});

Mini program Integration SDK Document.

Web/H5 Device ID

H5 device IDs can be generated in two ways: automatic generation by QuickTracking or manual upload by developers:

  • Automatic generation: By default, the QuickTracking SDK generates device IDs from browser cookie parameters. If the browser changes or the user clears cookies and cache, the device ID is regenerated. If the browser and IP address remain unchanged, the regenerated device ID stays the same.

  • Manual upload: Assign the value to "_dev_id"

// If the user ID is tracked asynchronously, you must prevent the SDK from being reported and set the BLOCK tracking point.
aplus.aplus_queue.push({
 action: 'aplus.setMetaInfo',
  arguments: ['_hold', 'BLOCK'] 
});

// Set the_dev_id parameter. 
aplus.aplus_queue.push({
 action: "aplus.setMetaInfo",
  arguments: ["_dev_id", "Custom device ID"]
});

 // Because the tracking of user IDs is asynchronous, you need to set BLOCK first, and then set START.
 // After_hold=START is set, logs that are previously blocked will be sent one by one with user information.
aplus.aplus_queue.push({
 action: 'aplus.setMetaInfo',
  arguments: ['_hold', 'START'] 
});

Web/H5 SDK Integration Document.

Account ID

App Account ID

Apps upload user accounts by calling a fixed API.

  • Android:

// Log on to the API.
public static void onProfileSignIn(String ID);
// Log out of the API.
public static void onProfileSignOff();

// Sample code
MobclickAgent.onProfileSignIn("userID");
MobclickAgent.onProfileSignOff();
  • iOS:

// Log on to the API.
+ (void)profileSignInWithPUID:(NSString *)puid;
// Log out of the API.
+ (void)profileSignOff;

// Sample code
[MobClick profileSignInWithPUID:@"UserID"];
[MobClick profileSignOff];

Android SDK Integration Documentation and iOS SDK Integration Documentation.

Mini program account ID

Upload a mini program user account:

Upload the account when the user logs on and enters the logged-in state.

aplus_queue.push({ 
 action: "aplus.setMetaInfo",
 arguments: ["_user_id", "The ID of the user member you obtained"]
});

Mini program SDK Integration Documentation.

Web/H5 Account ID

Upload a web user account:

Upload the account when the user logs on and enters the logged-in state.

aplus_queue.push({ 
 action: "aplus.setMetaInfo",
 arguments: ["_user_id", "The ID of the user member you obtained"]
});

Web/H5 SDK Integration Documentation.

Entity ID

An entity ID (EID) is a unique ID that associates an account ID with a device ID. You can use an EID to associate mini programs, H5 apps, and apps with unique users. The following example illustrates this.

image

  • When App Device A sends its first log, a unique EID_1 is generated for it. Subsequent events from this device also carry this EID.

  • App Device A triggered a login event and uploaded user account "188*". QT bound Device A, account 188*, and EID_1, so the first log and browsing event can be associated with account 188*.

image

  • When Mini Program Device B sends its first log, a unique EID_2 is generated. After the user logs in with account "188*", because "188*" is already bound to EID_1, Device B's EID_2 is merged into EID_1. Device B, account 188*, and EID_1 are then bound together.

Field forwarding

Code sample fields

SDK reporting log field

ods layer field

dwd field

App-Device ID

N/A

umid

utdid

utdid

Mini program-device ID

_anony_id

umid

utdid

utdid

web-Device ID

None or_dev_id

umid

utdid

utdid

App-User Accounts

puid

active_user:{puid:""}

active_user:{puid:""}

ll_userid

Mini program-user account

_user_id

active_user:{puid:""}

active_user:{puid:""}

ll_userid

web-user account

_user_id

active_user:{puid:""}

active_user:{puid:""}

ll_userid