Reporting API
Change Log
| date | notes |
|---|---|
| 2023-02-27 | Added a buried revenue indicator, eventRevenue, to the consolidated report |
| 2023-02-06 | New dimensions of the comprehensive report: application version, channel, SDK version, IDFA authorization, and A/B test group |
| 2023-01-04 | LTV support placementId,appVersion,channel Retention support appVersion,channel |
| 2022-10-10 | support bidding data |
| 2022-02-09 | support adscene |
| - | LTV & retention report |
| - | support full report |
Note
Description of indicator data
https://docs.tradplusad.com/en/docs/operation/tradplus_qa/report/
1. Authentication check
1.1 Method
HTTP
1.2 Header Params
Authorization: Bearer {your token}
| params | notes | sample |
|---|---|---|
| Authorization | token | Bearer {your token} |
curl --location --request POST 'https://openapi.tradplusad.com/v3/allreport' \
--header 'Authorization: Bearer BB86G020-ED1C-E02A-637E-BA73D9A4FF01' \
--header 'Content-Type: application/json' \
--data-raw '{
"startDate": "2022-09-27",
"endDate": "2022-09-27",
"timezone": "UTC+0",
"currency": "USD",
"groupBy":
[
"date"
],
"metric":
[
"all"
]
}'
method of getting token: "my account"-"Report API Key"- generate APK key
2. Full report API
2.1 URL
https://openapi.tradplusad.com/v2/allreport
2.2 Request Method
HTTP POST HTTP Content-Type: application/json
2.3Request params
Pass the start parameter
| params | type | required | notes | sample |
|---|---|---|---|---|
| startDate | String | Y | start date,format:YYYY-mm-dd | 2020-03-01 |
| endDate | String | Y | end date,format:YYYY-mm-dd | 2020-03-02 |
| timezone | String | N | report time zone ,Only support:"UTC+8"、"UTC+0"、"UTC-8"。default:"UTC+0" | UTC+0 |
| currency | String | N | currency。default : USD,Only support:USD CNY | USD |
| appIdList | String[] | N | app id list | |
| start | Int | N | offset | 0 |
| limit | Int | N | limit row number. default 1000. [1,1000] | 100 |
| groupBy | String[] | N | date, appId, placementId, adFormat, area, network, networkPlacementId, adSceneId(only support tradplus data) sdk(only support tradplus data) channel(only support tradplus data) appVersion(only support tradplus data) idfa(only support tradplus data) bucketId(only support tradplus data) | [“network”,”networkPlacementId”] |
| metric | String[] | N | all(default), dau(Daily Active Users), deu(Daily Engaged Users), arpu(average ad revenue generated per DAU), newUsers(users who launch the app for the first time), requestApi(number of ad requests retrieved from ad network reporting APIs), fillApi(number of ad fills retrieved from ad network reporting APIs), fillrateApi(ad source fill API / request API), impressionApi(number of ad impressions retrieved from ad network reporting APIs), clickApi(number of ad clicks retrieved from ad network reporting APIs), ecpmApi(ad revenue per 1,000 impressions from network/API-side reporting), ctrApi(click API / impression API), revenue(API-side estimated/recorded ad revenue from ad network reporting APIs), bidRequestApi(number of bid requests retrieved from ad network reporting APIs), bidResponseApi(number of bid responses retrieved from ad network reporting APIs), bidResponseRateApi(bid response API / bid request API), bidWinRateApi(request API / bid response API), enterAdScene(number of times the app calls TradPlus EntryAdScenario interface),enterAdSceneUsers(number of unique users who arrive at ad scenes), request(number of ad requests recorded by TradPlus tracking), bidRequest(number of bid requests recorded by TradPlus tracking), bidResponse(number of bid responses recorded by TradPlus tracking), bidResponseRate(bid response / bid request,TradPlus-tracked), bidWinRate(request / bid response,TradPlus-tracked), impression(number of impressions recorded by TradPlus tracking), fill(number of ad fills returned after TradPlus SDK requests ad networks), click(number of ad clicks recorded by TradPlus tracking), clickUsers(number of unique users who generated ad clicks), ctr(click / impression,TradPlus-tracked), estimateRevenue(revenue estimated by TradPlus based on impression-level pricing,real-time bid price when available, otherwise estimated/configured pricing), eventRevenue(Event revenue reported by TradPlus based on event-level revenue signals), sdk(SDK Version used by the app), channel(UA Channel used to distinguish user acquisition/source channels uploaded by the app), appVersion(App Version defined by the developer), idfa(IDFA authorization status), bucketName(A/B Test group name (bucket) for strategy comparison), countryName(Country dimension (country name of traffic/users)) | [“dau”,”request”,”fillrateApi”] |
2.4 Return data
HTTP Content-Type: application/json
| fileds | type | notes |
|---|---|---|
| timezone | String | UTC+8、UTC+0、UTC-8 |
| items | Array | items |
| Items: |
| fileds | type | required | notes |
|---|---|---|---|
| date | String | N | Date,format:YYYY-mm-dd |
| appId | String | N | APP ID(tradplus).Return if appId is in param groupBy |
| platform | Int | N | App Platform (1 Android, 2 iOS).Return if appId is in param groupBy |
| packageName | String | N | Package name .Return if appId is in param groupBy |
| placementId | String | N | Placement ID (tradplus).Return if placementId is in param groupBy |
| placementName | String | N | Placement name (tradplus).Return if placementId is in param groupBy |
| adFormat | Int | N | Ad slot type.Return if adFormat is in param groupBy |
| adFormatName | String | N | Ad slot name.Return if adFormat is in param groupBy |
| area | String | N | Country code.Return if area is in param groupBy |
| network | Int | N | Network ID.Return if network is in param groupBy |
| networkName | String | N | Network name.Return if network is in param groupBy |
| networkPlacementId | String | N | Network Placement Id .Return if networkPlacementId is in param groupBy |
| networkPlacementName | String | N | Network Placement Name (tradplus).Return if networkPlacementId is in param groupBy |
| networkPlacementInfo | String | N | Network Placement Information .Return if networkPlacementId is in param groupBy |
| dau | Int | N | TradPlus data : daily actvie users |
| deu | Int | N | TradPlus data : daily engaged users |
| arpu | Float | N | TradPlus data : average revenue per daily actvie user |
| newUsers | Int | N | TradPlus data : new Users |
| newUserRate | Float | N | TradPlus data : new User Rate |
| bidRequestApi | Int | N | Network data : bidding request numbers |
| bidResponseApi | Int | N | Network data : bidding response numbers |
| bidResponseRateApi | Float | N | Network data : bidding response rate |
| bidWinRateApi | Float | N | Network data : bidding win rate |
| requestApi | Int | N | Network data : request numbers |
| fillApi | Int | N | Network data : fill numbers |
| fillrateApi | Float | N | Network data : fillrate |
| impressionApi | Int | N | Network data : impression numbers |
| clickApi | Int | N | Network data : click numbers |
| ctrApi | Float | N | Network data : ctr |
| ecpmApi | Float | N | Network data : eCPM |
| Revenue | Float | N | Network data : revenue |
| enterAdScene | Int | N | TradPlus data : enter AdScene numbers |
| enterAdSceneUsers | Int | N | TradPlus data : enter AdScene users |
| bidRequest | Int | N | TradPlus data : bidding request numbers |
| bidResponse | Int | N | TradPlus data : bidding response numbers |
| bidResponseRate | Float | N | TradPlus data : bidding response rate |
| bidWinRate | Float | N | TradPlus data : bidding win rate |
| request | Int | N | TradPlus data : request numbers |
| fill | Int | N | TradPlus data : fill numbers |
| fillrate | Float | N | TradPlus data : fill rate |
| impression | Int | N | TradPlus data : impression numbers |
| impressionRatio | Float | N | TradPlus data : impression ratio |
| click | Int | N | TradPlus data : click numbers |
| clickUsers | Int | N | TradPlus data : click users |
| ctr | Float | N | TradPlus data : ctr |
| idfa | Int | N | IDFA Authorization |
| bucketName | String | N | A/B Test group name |
| countryName | String | N | country |
| channel | String | N | channel |
| sdk | String | N | sdk version |
| appVersion | String | N | Application version |
| eventRevenue | String | N | TradPlus data : event revenue |
All Data freshness: UTC+0 data: 20:00 (Beijing Time) UTC+8 data: 21:00 (Beijing Time) UTC-8 data: day2 at 2:00 (Beijing Time)
2.5 Sample
Reqeust Sample:
{
"startDate": "2021-07-01",
"endDate" : "2021-07-07",
"timezone" : "UTC+0",
"currency" : "USD",
"start": 0,
"limit": 1000,
"groupBy":
[
"date",
"appId",
"placementId"
],
"metric":
[
"all"
]
}
Response Sample:
{
"items": [
{
"date": "2021-07-01",
"appId": "6640E7E3BDAC951B8F28D4C8C50E50B5",
"platform":1,
"packageName": "com.unstall.meetdelete",
"placementId": "B514A432CE5E96A44BD2E313AC3323AB",
"placementName": "Banner_1",
"adFormat": 0, //Return if adFormat is in param groupBy
"adFormatName": "", //Return if adFormat is in param groupBy
"area": "", //Return if area is in param groupBy
"network": 0, //Return if network is in param groupBy
"networkName": "", //Return if network is in param groupBy
"networkPlacementName": "", //Return if networkPlacementId is in param groupBy
"networkPlacementId": "", //Return if networkPlacementId is in param groupBy
"networkPlacementInfo": "", //Return if networkPlacementId is in param groupBy
"requestApi": 19433,
"fillApi":150,
"fillrateApi": 0.13,
"impressionApi": 1989,
"clickApi": 236,
"ecpmApi": 2.21,
"ctrApi": 0.14,
"Revenue": 6.59,
"dau": 679,
"deu": 223,
"arpu": 0.01,
"newUsers": 349,
"newUserRate": 0.63,
"enterAdScene":4123,
"enterAdSceneUsers":3178,
"impression": 44106,
"impressionRatio": 0.8507,
"click": 20358,
"clickUsers": 16829,
"ctr": 0.4616,
"estimateRevenue": 5.31,
"request": 19432,
"bidRequestApi": 8655,
"bidRequest": 9152,
"bidResponseApi": 4582,
"bidResponse": 5625,
"bidResponseRateApi": 0.5294,
"bidResponseRate": 0.6175,
"bidWinRateApi": 3.4547,
"bidWinRate": 4.2409,
"appRequest": 1549732,
"idfa": 0,
"bucketName": "",
"countryName": "",
"channel": "",
"sdk": "",
"appVersion": ""
}
],
"timezone": "UTC+0"
}
3. Ltv 1-90 days report API
3.1 URL
https://openapi.tradplusad.com/v2/ltv
3.2 Request Method
HTTP POST HTTP Content-Type: application/json
3.3Request params
- Pass the start parameter
| params | type | required | notes |sample |
| --- | --- | --- | --- | --- |
|startDate|String|Y|start date,format:YYYY-mm-dd|2020-03-01
|endDate|String|Y|end date,format:YYYY-mm-dd|2020-03-02
|timezone|String|N|report time zone ,Only support:"UTC+8"、"UTC+0"、"UTC-8"。default:"UTC+0"|UTC+0
|currency |String|N|currency。default : USD,Only support:USD CNY|USD
|appIdList|String[]|N|app id list||
|areaList|String[]|N|country code|CN
|start|Int|N|offset |0
|limit|Int|N|limit row number. default 1000. [1,1000] |100
|groupBy|String[]|Y|date
required
apprequired
area
placementId
appVersion
channel|["date","app","area"] |metric|String[]|Y|We provide 90 LTV in maximum|["ltv11","ltv12","ltv13"]
3.4 Return data
HTTP Content-Type: application/json
| fields | type | notes |
|---|---|---|
| timezone | String | UTC+8、UTC+0、UTC-8 |
| items | Array | items |
items:
| fields | type | notes |
|---|---|---|
| date | String | date,format:YYYY-mm-dd |
| appId | String | app id |
| appName | String | app name |
| appVersion | String | app version |
| channel | String | channel |
| placementId | String | placement id |
| placementName | String | placement name |
| newUserNum | Int64 | newUser number |
| ltvxx | Float64 | ltv day(1-90) |
note:Yesterday's data is updated daily at 21:00 Beijing time
3.5 Sample
Reqeust Sample:
{
"startDate": "2021-07-01",
"endDate" : "2021-07-07",
"timezone" : "UTC+0",
"currency" : "USD",
"start": 0,
"limit": 1000,
"groupBy":
[
"date",
"app"
],
"metric":
[
"all"
]
}
Response Sample:
{
"items":
[
{
"appId": "6640E7E3BDAC951B8F28D4C8C50E50B5",
"appName": "Banner_1",
"date": "2021-07-01",
"newUserNum": 2,
"ltv1": 9.54,
"ltv10": 0,
"ltv11": 0,
"ltv12": 0,
"ltv13": 0,
"ltv14": 0,
"ltv15": 0,
"ltv16": 0,
"ltv17": 0,
"ltv18": 0,
"ltv19": 0,
"ltv2": 0,
"ltv20": 0,
"ltv21": 0,
"ltv22": 0,
"ltv23": 0,
"ltv24": 0,
"ltv25": 0,
"ltv26": 0,
"ltv27": 0,
"ltv28": 0,
"ltv29": 0,
"ltv3": 0,
"ltv30": 0,
"ltv31": 0,
"ltv32": 0,
"ltv33": 0,
"ltv34": 0,
"ltv35": 0,
"ltv36": 0,
"ltv37": 0,
"ltv38": 0,
"ltv39": 0,
"ltv4": 0,
"ltv40": 0,
"ltv41": 0,
"ltv42": 0,
"ltv43": 0,
"ltv44": 0,
"ltv45": 0,
"ltv46": 0,
"ltv47": 0,
"ltv48": 0,
"ltv49": 0,
"ltv5": 0,
"ltv50": 0,
"ltv51": 0,
"ltv52": 0,
"ltv53": 0,
"ltv54": 0,
"ltv55": 0,
"ltv56": 0,
"ltv57": 0,
"ltv58": 0,
"ltv59": 0,
"ltv6": 0,
"ltv60": 0,
"ltv61": 0,
"ltv62": 0,
"ltv63": 0,
"ltv64": 0,
"ltv65": 0,
"ltv66": 0,
"ltv67": 0,
"ltv68": 0,
"ltv69": 0,
"ltv7": 0,
"ltv70": 0,
"ltv71": 0,
"ltv72": 0,
"ltv73": 0,
"ltv74": 0,
"ltv75": 0,
"ltv76": 0,
"ltv77": 0,
"ltv78": 0,
"ltv79": 0,
"ltv8": 0,
"ltv80": 0,
"ltv81": 0,
"ltv82": 0,
"ltv83": 0,
"ltv84": 0,
"ltv85": 0,
"ltv86": 0,
"ltv87": 0,
"ltv88": 0,
"ltv89": 0,
"ltv9": 0,
"ltv90": 0
}
],
"timezone": "UTC+0"
}
4.Retention 2-60 day report API
4.1 URL
https://openapi.tradplusad.com/v2/userActive
4.2 Request method
HTTP POST HTTP Content-Type: application/json
4.3Request params
- Pass the start parameter
| params | type | required | notes |sample |
| --- | --- | --- | --- | --- |
|startDate|String|Y|start date,format:YYYY-mm-dd|2020-03-01
|endDate|String|Y|end date,format:YYYY-mm-dd|2020-03-02
|timezone|String|N|report time zone ,Only support:"UTC+8"、"UTC+0"、"UTC-8"。default:"UTC+0"|UTC+0
|appIdList|String[]|N|app id list||
|areaList|String[]|N|country code|CN
|start|Int|N|offset |0
|limit|Int|N|limit row number. default 1000. [1,1000] |100
|groupBy|String[]|Y|date
required
apprequired
area
appVersion
channel|["date","app","area"] |metric|String[]|Y|We provide 90 user retention in maximum|["kp22","kp23","kp24"]
4.4 Return data
HTTP Content-Type: application/json
| fields | type | notes |
|---|---|---|
| timezone | String | UTC+8、UTC+0、UTC-8 |
| items | Array | items |
items:
| fields | type | notes |
|---|---|---|
| date | String | date,format:YYYY-mm-dd |
| appId | String | app id |
| appName | String | app name |
| appVersion | String | app version |
| channel | String | channel |
| kpxx | Float64 | kp day(1-90) |
note:Yesterday's data is updated daily at 21:00 Beijing time
4.5 Sample
Reqeust Sample:
{
"startDate": "2021-07-01",
"endDate" : "2021-07-07",
"timezone" : "UTC+0",
"currency" : "USD",
"start": 0,
"limit": 1000,
"groupBy":
[
"date",
"app"
],
"metric":
[
"all"
]
}
Response Sample:
{
"items": [
{
"appId": "FDC48B1D9D9E1F5CBD0C327159C8191C",
"appName": "Banner_1",
"date": "2021-07-01",
"kp1": 2.31,
"kp10": 0,
"kp11": 0,
"kp12": 0,
"kp13": 0,
"kp14": 0,
"kp15": 0,
"kp16": 0,
"kp17": 0,
"kp18": 0,
"kp19": 0,
"kp2": 0,
"kp20": 0,
"kp21": 0,
"kp22": 0,
"kp23": 0,
"kp24": 0,
"kp25": 0,
"kp26": 0,
"kp27": 0,
"kp28": 0,
"kp29": 0,
"kp3": 0,
"kp30": 0,
"kp31": 0,
"kp32": 0,
"kp33": 0,
"kp34": 0,
"kp35": 0,
"kp36": 0,
"kp37": 0,
"kp38": 0,
"kp39": 0,
"kp4": 0,
"kp40": 0,
"kp41": 0,
"kp42": 0,
"kp43": 0,
"kp44": 0,
"kp45": 0,
"kp46": 0,
"kp47": 0,
"kp48": 0,
"kp49": 0,
"kp5": 0,
"kp50": 0,
"kp51": 0,
"kp52": 0,
"kp53": 0,
"kp54": 0,
"kp55": 0,
"kp56": 0,
"kp57": 0,
"kp58": 0,
"kp59": 0,
"kp6": 0,
"kp60": 0,
"kp61": 0,
"kp62": 0,
"kp63": 0,
"kp64": 0,
"kp65": 0,
"kp66": 0,
"kp67": 0,
"kp68": 0,
"kp69": 0,
"kp7": 0,
"kp70": 0,
"kp71": 0,
"kp72": 0,
"kp73": 0,
"kp74": 0,
"kp75": 0,
"kp76": 0,
"kp77": 0,
"kp78": 0,
"kp79": 0,
"kp8": 0,
"kp80": 0,
"kp81": 0,
"kp82": 0,
"kp83": 0,
"kp84": 0,
"kp85": 0,
"kp86": 0,
"kp87": 0,
"kp88": 0,
"kp89": 0,
"kp9": 0,
"kp90": 0
}
],
"timezone": "UTC+0"
}
network ID
| id | notes |
|---|---|
| 1 | |
| 2 | Admob |
| 4 | AdColony |
| 5 | Unity Ads |
| 6 | Tapjoy |
| 7 | Vungle |
| 9 | Applovin |
| 10 | IronSource |
| 15 | Chartboost |
| 16 | Tencent Ads |
| 17 | CSJ |
| 18 | Mintegral |
| 19 | Pangle |
| 20 | Kuaishou Ads |
| 21 | Sigmob |
| 23 | Inmobi |
| 24 | Fyber |
| 25 | Youdao |
| 26 | DisplayIO JSTag |
| 27 | crosspro |
| 30 | Helium |
| 31 | Maio |
| 32 | Criteo |
| 33 | Mytarget |
| 34 | ogury |
| 35 | joomob |
| 36 | Appnext |
| 37 | Kidoz |
| 38 | Smaato |
| 41 | Huawei Ads |
| 43 | Baidu |
| 44 | Klevin |
| 45 | A4G |
| 46 | Mimo |
| 47 | Super Awesome |
| 48 | Google Ad Manager |
| 49 | GroMore |
| 50 | Yandex |
| 51 | My Network |
| 52 | Adfly |
| 54 | Appic(Abroad) |
| 55 | zMaticoo |
| 56 | ReklamUp |
| 57 | Bigo |
| 58 | BeiZi |
| 59 | Okspin |
| 60 | ONEMOB |
| 61 | Appic(China) |
| 62 | LeYou |
| 63 | Dirchlet(TapTap) |
| 64 | PremiumAds |
| 65 | zMaticoo(H5) |
| 66 | My Network 2 |
| 67 | GreedyGame |
| 68 | AlgoriX |
| 69 | BeesAds |
| 70 | APS |
| 71 | Mango X |
| 72 | Octopus Mobile |
| 73 | TanX |
| 74 | TaurusX |
| 75 | KwaiAd |
| 76 | Columbus |
| 77 | YSO |
| 78 | Vivo |
| 79 | OPPO Ads |
AD Format
| id | notes |
|---|---|
| 1 | Native |
| 2 | Interstitial |
| 3 | Splash |
| 4 | Banner |
| 5 | Rewarded Video |
| 6 | Offerwall |