Skip to main content

TalkingData integration plan

Last updated 10/03/2026
tip

Note that data generated by third-party data integration counts toward the cluster's data consumption

Summary​

Interface overview​

InterfaceTypeGranularityAttributionCostRevenueImpressionsClicksConversions
Custom data callbackCallbackUser level✅✅

TalkingData provides a custom data callback feature, which we can use to get user-level activation or registration data

Before you start connecting TalkingData mobile advertising data, make sure that you have read the AE system's user identification rules and understand how AE identifies a user through #distinct_id and #account_id

Integration process​

  1. Integrate the TalkingData client SDK and the AE client SDK, and set the AE user identification ID in the TalkingData SDK
  2. Log in to the AE backend, go to the Third-party Integration module, add a TalkingData integration plan, complete the related configuration, and copy the callback URL
  3. Log in to the TalkingData backend, click Add Data Callback on the Management Center > Data Management page, and select the project and the callback event (registration or activation) for the callback data
  4. Check whether the AE system receives the data successfully, and build reports

1. Client SDK reporting​

If you choose to report data with the client SDK, first integrate the TalkingData SDK and the AE SDK into your app. If you want to send back TalkingData activation events, set the distinct ID of the AE SDK as the custom ID when you initialize the TalkingData SDK:

// Initialize the AE SDK first
TDAnalytics.init(this, APPID, SERVER_URL);
// Get the AE distinct ID, which corresponds to #distinct_id in AE
String distinctId = TDAnalytics.getDistinctId();

// Set up the TalkingData SDK
JLibrary.InitEntry(this); //Initialize the MSA unified SDK 1.0.13
TalkingDataSDK.init(this, "Your App ID", "Channel ID", distinctId);

If you want to send back registration events, set the same account ID in the AE SDK and the TalkingData SDK:

// Get the account ID
String accountId = "Account ID";

// Set up the AE SDK
TDAnalytics.login(accountId);

// Set up the TalkingData SDK
TalkingDataSDK.onRegister(accountId);

2. Plan configuration​

After completing the SDK configuration, log in to the AE backend and configure the TalkingData plan in the Third-party Integration module. The image below shows the configuration page of the TalkingData custom data callback plan:

2.1 User identification fields​

Because TalkingData custom callback data is user-level data, you need to set user identification rules for it, that is, the AE system's user identification ID set in the TalkingData SDK. Based on this configuration, the AE system sets these fields as the user identification fields of the data when it converts the callback data.

If you configured the client SDK as described in the previous step of this document, use the following configuration:

  • Field associated with the account ID: ACCOUNTID
  • Field associated with the distinct ID: CUSTOM

2.2 Event Data Configuration​

After you turn on the Event Data Configuration switch, all data sent back by TalkingData is written to the event table. We recommend that you enable event data ingestion.

2.3 User Properties Configuration​

By default, the AE system does not write TalkingData callback data to user properties. To write some fields, such as user attribution fields, to the user table, first turn on the rule so that it runs, and then use the property mapping feature to add the fields to write to the user table. For the source property name, enter the field's ingested name:

We recommend that you add the user properties to ingest as follows:

Source data nameTarget property nameDescription
ADNETNAMEte_ads_object.media_sourceMedia source
ADCAMPAIGNte_ads_object.campaign_nameCampaign name
ADGROUPte_ads_object.ad_group_nameAd group name
ADCREATIVEte_ads_object.ad_nameAd name

2.4 Configuration​

In the Configuration module, you can control the detailed settings of data pulling, such as the event name after ingestion

The content of the configuration is a JSON, which you can customize as follows:

ModuleNameDescription
sink_eventevent_mapping

Event name after ingestion. Customizable. The key is the TalkingData callback data type, and the value is the event name after ingestion. Valid keys:

  • init: activation event
  • register: registration event

2.5 End Point​

If you have configured system-level and project-level data reporting URLs, the following link is displayed. You can copy the URL directly and paste it into the real-time callback configuration in the TalkingData backend:

If no URL is displayed here, open Project Settings → Settings → Implementation from the menu in the upper-right corner and configure the URL for public network. This URL is the data reporting URL configured in the AE SDK. After configuring it, go back to End Point on the TalkingData callback configuration page and copy the endpoint URL.

3. Set up callbacks​

3.1 Add a data callback​

To connect TalkingData mobile advertising data, log in to the TalkingData mobile ad tracking backend. On the Management Center > Data Management tab, you can view and configure all data callbacks.

  1. Next, click Add Data Callback to go to the page for creating a data callback
  1. Then, name the data callback, select the app whose data you want to send back, and select either the activation or the registration event in Callback Event. Then, enter the endpoint URL of the TalkingData plan in the AE system in Data Receiving URL
  1. Next, configure the event parameters based on the callback event you selected and section 3.2. After completing the configuration, click Save to finish configuring the callback.

3.2 Callback parameter configuration​

3.2.1 Activation event​

If you send back activation events, we recommend that you set the ingestion name of each macro according to the parameter names in the table below:

Parameter nameMacroSupported platformsParameter descriptionSample
APPKEY#APPKEYAll platformsUnique identifier of the app in the Ad Tracking system10691808c7dc494eba8afd44cdef1df7
EVENTTIME#EVENTTIMEAll platformsTime when the event occurred, 13-digit UNIX timestamp1451379329000
OSVERSION#OSVERSIONAll platformsOS version of the device9.2
DEVICETYPE#DEVICETYPEAll platformsDevice typeiPad4,4
OAID#OAIDAndroidAndroid device ID
OAID_MD5#OAID_MD5AndroidEncrypted Android device ID
OAID_MD5_1#OAID_MD5_1AndroidEncrypted Android device ID
ADVERTISINGID#ADVERTISINGIDAndroidAdvertising ID, provided by Google Play Services4c30a866-30d6-4418-a6dc-0f702737bf58
ADVERTISINGID_MD5#ADVERTISINGID_MD5AndroidEncrypted advertising ID
ANDROIDID#ANDROIDIDAndroidUnique device identifier of the Android device
ANDROIDID_MD5#ANDROIDID_MD5AndroidEncrypted unique device identifier of the Android device
ANDROIDID_MD5_1#ANDROIDID_MD5_1AndroidEncrypted unique device identifier of the Android device
IMEI#IMEIAndroidInternational Mobile Equipment Identity493002407599521
IMEI2#IMEI2AndroidInternational Mobile Equipment Identity 2
TDID#TDIDAll platformsTalkingData's unique device identifierhc5e59e1926ee0fe142b22610cdda14df
IP#IPAll platformsIP when the event occurred123.123.123.123
SPREADURL#SPREADURLAll platformsSix-character short link; unique identifier of the promotion campaignVx7b6c
SPREADNAME#SPREADNAMEAll platformsPromotion campaign name"Domob promotion - material 1"
SPREADGROUP#SPREADGROUPAll platformsPromotion campaign group name
UA#UAAll platformsUA information of the device that clicked the ad
CLICKIP#CLICKIPAll platformsIP information of the device that clicked the ad123.123.123.123
CLICKTIME#CLICKTIMEAll platformsTime when the ad was clicked, 13-digit UNIX timestamp1451379329000
ADNETNAME#ADNETNAMEAll platformsAd network name (unique English identifier)“Domob”
ADNETDESC#ADNETDESCAll platformsAd network description (Chinese identifier; may change as the integration is upgraded)"Domob"
CHANNELPACKAGEID#CHANNELPACKAGEIDAll platformsSub-package ID integrated in the app, also called "channeled"“jifeng_1”
CLICK@_All platformsParameters of the associated click in JSON format{"a":"1","b":"2"}
ASSISTANT_CLICK_1#ASSISTANT_CLICK_1All platformsPromotion campaign name of assist click 1
ASSISTANT_CLICK_2#ASSISTANT_CLICK_2All platformsPromotion campaign name of assist click 2
ASSISTANT_CLICK_3#ASSISTANT_CLICK_3All platformsPromotion campaign name of assist click 3
TD_SUBID#TD_SUBIDAll platformsSub-channel ID
ACTIVE_TYPE#ACTIVE_TYPEAll platformsActivation type
FRAUD_PREVENTION#FRAUD_PREVENTIONIOS AndroidAnti-fraud flag"0" means no anomaly; "1" means abnormal activation by IP; "2" means abnormal activation by conversion time difference; "3" means abnormal activation by association; "4" means activation with IP migration (Advanced anti-fraud only); "5" means abnormal LAT activation (Advanced anti-fraud only); "6" means brand-new device activation (Advanced anti-fraud only);
ATTRIBUTION_TYPE#ATTRIBUTION_TYPEIOS AndroidAttribution source"click" means from a click; "impression" means from an impression; "deeplink" means from a deep link wake-up;
ADCREATIVE#ADCREATIVEAll platformsAd creative
ADCAMPAIGN#ADCAMPAIGNAll platformsCampaign
ADGROUP#ADGROUPAll platformsAd group
APPSTOREID#APPSTOREIDIOSApp Store ID1046850159
IDFA#IDFA

IOS

Advertising identifier on iOS6C59CB5A-3091-4246-AA6E-9C025FE0E33B
MAC#MACAndroidMAC address string as specified by the IEEE 802 standardAB:12:CD:34:EF:56
CUSTOM#CUSTOMAll platformsCustom parameters
CLICKTRACKID#CLICKTRACKIDAll platformsTracking ID of the click corresponding to the activation

3.2.2 Registration event​

If you send back registration events, we recommend that you set the ingestion name of each macro according to the parameter names in the table below:

Parameter nameReplacement macroSupported platformsParameter descriptionSample
SPREADURL#SPREADURLAll platformsSix-character short link; unique identifier of the promotion campaignVx7b6c
SPREADNAME#SPREADNAMEAll platformsPromotion campaign name"Domob promotion - material 1"
UA#UAAll platformsUA information of the device that clicked the ad
CLICKIP#CLICKIPAll platformsIP information of the device that clicked the ad123.123.123.123
CLICKTIME#CLICKTIMEAll platformsTime when the ad was clicked, 13-digit UNIX timestamp1451379329000
CLICK@_All platformsParameters of the associated click in JSON format{"a":"1","b":"2"}
ACCOUNTID#ACCOUNTIDAll platformsAccount in the app when the event occurred
APPKEY#APPKEYAll platformsUnique identifier of the app in the Ad Tracking system10691808c7dc494eba8afd44cdef1df7
EVENTTIME#EVENTTIMEAll platformsTime when the event occurred, 13-digit UNIX timestamp1451379329000
OSVERSION#OSVERSIONAll platformsOS version of the device9.2
DEVICETYPE#DEVICETYPEAll platformsDevice typeiPad4,4
IDFA#IDFAIOSAdvertising identifier on iOS6C59CB5A-3091-4246-AA6E-9C025FE0E33B
MAC#MACAndroidMAC address string as specified by the IEEE 802 standardAB:12:CD:34:EF:56
ADVERTISINGID#ADVERTISINGIDAndroidAdvertising ID, provided by Google Play Services4c30a866-30d6-4418-a6dc-0f702737bf58
ANDROIDID#ANDROIDIDAndroidUnique device identifier of the Android device
IMEI#IMEIAndroidInternational Mobile Equipment Identity493002407599521
TDID#TDIDAll platformsTalkingData's unique device identifierhc5e59e1926ee0fe142b22610cdda14df
IP#IPAll platformsIP when the event occurred123.123.123.123
ADNETNAME#ADNETNAMEAll platformsAd network name (unique English identifier)“Domob”
ADNETDESC#ADNETDESCAll platformsAd network description (Chinese identifier; may change as the integration is upgraded)"Domob"
CHANNELPACKAGEID#CHANNELPACKAGEIDAll platformsSub-package ID integrated in the app, also called "channeled"“jifeng_1”
DEEPLINK#DEEPLINKAll platformsDeep link

4. Data ingestion rules​

4.1 Activation event ingestion rules​

  • By default, CUSTOM in the data is used as the distinct ID of the data. This field should correspond to the distinct ID in the AE project
  • The EVENTTIME field in the data, that is, the data time, is used as the event's #event_time
  • The event name is talkingdata_init_data
  • All other fields configured in the callback link are stored

4.2 Registration event ingestion rules​

  • By default, ACCOUNTID in the data is used as the account ID of the data. This field should correspond to the account ID in the AE project
  • The EVENTTIME field in the data, that is, the data time, is used as the event's #event_time
  • The event name is talkingdata_register_data
  • All other fields configured in the callback link are stored

4.3 Standardized fields​

The AE system standardizes some fields in the TalkingData callback data:

FieldStandardized fieldDescription
ADCAMPAIGNte_ads_object.campaign_nameCampaign name
ADGROUPte_ads_object.ad_group_nameAd group name
ADCREATIVEte_ads_object.ad_nameAd name
ADNETNAMEte_ads_object.media_sourceMedia source
APPSTOREIDte_ads_object.app_idApp ID

5. Notes​

If the CUSTOM of an activation event or the ACCOUNTID of a registration event cannot be matched to a distinct ID or account ID in the AE project, these events are attached to a virtual user (whose distinct ID is without_id). To later associate the event data attached to the virtual user with actual users in the AE project, set TalkingData's td_id as a user property of the corresponding users, and then connect the user data through data backfilling.

String td_id = TalkingDataAppCpa.getDeviceId(this);

try {
// Set td_id as a user property
JSONObject properties = new JSONObject();
properties.put("td_id",td_id);
TDAnalytics.userSet(properties);
} catch (JSONException e) {
e.printStackTrace();
}
Was this page helpful?