All Products
Search
Document Center

Quick Tracking:Analysis Subject Description

Last Updated:Aug 06, 2025

Analysis subject overview

In Quick Tracking, the analysis subject is mainly divided into device ID, account ID, and entity ID, as shown in the following figure.

  • Device ID: the application-level unique ID generated by QuickTracking for each device

  • Account ID: The user account that you pass in through the interface, which is used to define the unique ID of your user

  • Entity ID: the user ID generated by Quick Tracking. You can use ID-Mapping to associate the device ID with the account ID.

Analysis Subject Selection in Analysis Model

  1. In event analysis, the selection of the analysis subject is in the "Preset Metrics":

    image

  2. In funnel analysis, retention analysis, distribution analysis, and interval analysis models, the choice of analysis subject is in "Analysis Subject":

    image

  3. In the session analysis, path analysis, and attribution analysis models, the analysis subject is only the device ID.

  4. In audience management, when creating a new crowd, the analysis subject is only the entity ID.

Difference between analysis subjects in system attributes and user attributes

The category of attributes

Analysis subject

Analysis meaning

System attributes

Device ID

Device ID values that exist in the event table

Account ID

Account ID values that exist in the event table

Entity ID

Entity ID values that exist in the event table

User attributes

User account (account ID)

Account ID that exists in the user table

FAQ

  1. What is an event table?

    The logs reported by the tracking are stored in the event table. The event table stores the actual values reported by the tracking and the entity ID generated by the account ID or device ID. If a report log contains an account ID, the log contains an account ID. If a report log does not have an account ID, the log does not have an account ID.

  2. What is a user table?

    • If the logs reported by the tracking contain the account ID, the account ID and entity ID are stored in the user table based on the logs stored in the event table.

    • If the code of an event in the log is $$_ user_profile, the event attribute of the event is stored as a user attribute in the user table after the log is stored in the event table.

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

    • The account ID in the system property is queried as the account ID in the event table.

    • The user account query in the user attribute is the account ID in the user table, which is associated with the user table by using the entity ID in the event table.

Device ID

App Device ID

Default device IDs of Android and iOS devices are app-level unique device IDs, which are automatically generated by Quicktracking:

  • Android 9 and the following devices: The SDK automatically tracks imei, wifimac, androidid , and SN to generate device IDs. After the device IDs are generated, the device IDs are stored locally. The device IDs are generated again only after the application is deleted.

  • Devices above the Android10 level: The SDK automatically tracks the oaid, gaid, androidid , and serial number to generate device IDs. After the device IDs are generated, the device IDs are stored locally. The device IDs are generated again only after the application is deleted.

  • iOS devices: The SDK automatically tracks openudid to generate a device ID. After the device ID is generated, it is placed in the keychain. The device ID is generated again only after the factory settings are restored.

  • The QT SDK tracks IDFAs and OAIDs only if users who use the C terminal of the mobile phone agree to track IDFAs and OAIDs. Only the app SDK can track OAID, GAID, Imei, WiFIMAC, AndroID, SN, IDFA, and IDFV.

iOS C clients need to enable the following configurations before the SDK can track idfa

image

Android C customers need to enable the following configuration before the SDK can track oaid

image

For more information, see Android SDK Integration Document and iOS SDK Integration Document.

Mini program device ID

The following code provides an example on how to obtain and upload the device ID of the mini program by using the developer:

  • The device ID is the unique ID that is generated by the mini program. For example, the OpenID of WeChat.

  • Assign 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'] 
});

For more information, see Mini program Integration SDK Document.

Web/H5 Device ID

You can use one of the following methods to generate an H5 device ID: Automatically generate an H5 device ID by using Quicktracking or Manually upload an H5 device ID by using developers:

  • Automatic generation: By default, the Quicktracking SDK generates device IDs based on parameters such as the obtained browser cookie. If the browser changes or the user clears the cookie and cache, the device ID is regenerated. If the browser and IP address of the user remain unchanged, the regenerated device ID does not change.

  • Manual upload: Assign 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'] 
});

For more information, see Web/H5 SDK Integration Document.

Account ID

App Account ID

The app can call a fixed API to upload a user account.

  • 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];

For more information, see Android SDK Integration Documentation and iOS SDK Integration Documentation.

Mini program account ID

Upload a mini program user account

When a user logs on and enters the logon state, the user must upload the file.

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

For more information, see Mini program SDK Integration Documentation.

3. Web/H5 Account ID

Web user account upload

When a user logs on and enters the logon state, the user must upload the file.

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

For more information, see Web/H5 SDK Integration Documentation.

Entity ID

An entity ID is a unique ID(EID) 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 code provides an example.

image

  • When App Device A enters the database for its first log, a unique EID_1 is generated for it. Afterwards, a browsing event performed by the user also carries the EID.

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

image

  • When the first log of the mini program device B enters the database, a unique EID_2 is generated for it. After the user logs in with the account "188 *", because "188 *" has been bound to "EID_1", the EID_2 of the device B becomes EID_1, and then the device B, the account 188 * and EID_1 are bound.

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