Skip to main content

Reporting API

Change Log

datenotes
2023-02-27Added a buried revenue indicator, eventRevenue, to the consolidated report
2023-02-06New dimensions of the comprehensive report: application version, channel, SDK version, IDFA authorization, and A/B test group
2023-01-04LTV support placementId,appVersion,channel
Retention support appVersion,channel
2022-10-10support bidding data
2022-02-09support 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}

paramsnotessample
AuthorizationtokenBearer {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

paramstyperequirednotessample
startDateStringYstart date,format:YYYY-mm-dd2020-03-01
endDateStringYend date,format:YYYY-mm-dd2020-03-02
timezoneStringNreport time zone ,Only support:"UTC+8"、"UTC+0"、"UTC-8"。default:"UTC+0"UTC+0
currencyStringNcurrency。default : USD,Only support:USD CNYUSD
appIdListString[]Napp id list
startIntNoffset0
limitIntNlimit row number. default 1000. [1,1000]100
groupByString[]Ndate,
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”]
metricString[]Nall(default),
dau,
deu,
arpu,
newUsers,
requestApi,
fillApi,
fillrateApi,
impressionApi,
clickApi,
ecpmApi,
ctrApi,
revenue,
bidRequestApi,
bidResponseApi,
bidResponseRateApi,
bidWinRateApi,
enterAdScene,
enterAdSceneUsers,
request,
bidRequest,
bidResponse,
bidResponseRate,
bidWinRate,
impression,
fill,
click,
clickUsers,
ctr,
estimateRevenue,
eventRevenue,
sdk,
channel,
appVersion,
idfa,
bucketName,
countryName
[“dau”,”request”,”fillrateApi”]

2.4 Return data

HTTP Content-Type: application/json

filedstypenotes
timezoneStringUTC+8、UTC+0、UTC-8
itemsArrayitems
Items:
filedstyperequirednotes
dateStringNDate,format:YYYY-mm-dd
appIdStringNAPP ID(tradplus).Return if appId is in param groupBy
platformIntNApp Platform (1 Android, 2 iOS).Return if appId is in param groupBy
packageNameStringNPackage name .Return if appId is in param groupBy
placementIdStringNPlacement ID (tradplus).Return if placementId is in param groupBy
placementNameStringNPlacement name (tradplus).Return if placementId is in param groupBy
adFormatIntNAd slot type.Return if adFormat is in param groupBy
adFormatNameStringNAd slot name.Return if adFormat is in param groupBy
areaStringNCountry code.Return if area is in param groupBy
networkIntNNetwork ID.Return if network is in param groupBy
networkNameStringNNetwork name.Return if network is in param groupBy
networkPlacementIdStringNNetwork Placement Id .Return if networkPlacementId is in param groupBy
networkPlacementNameStringNNetwork Placement Name (tradplus).Return if networkPlacementId is in param groupBy
networkPlacementInfoStringNNetwork Placement Information .Return if networkPlacementId is in param groupBy
dauIntNTradPlus data : daily actvie users
deuIntNTradPlus data : daily engaged users
arpuFloatNTradPlus data : average revenue per daily actvie user
newUsersIntNTradPlus data : new Users
newUserRateFloatNTradPlus data : new User Rate
bidRequestApiIntNNetwork data : bidding request numbers
bidResponseApiIntNNetwork data : bidding response numbers
bidResponseRateApiFloatNNetwork data : bidding response rate
bidWinRateApiFloatNNetwork data : bidding win rate
requestApiIntNNetwork data : request numbers
fillApiIntNNetwork data : fill numbers
fillrateApiFloatNNetwork data : fillrate
impressionApiIntNNetwork data : impression numbers
clickApiIntNNetwork data : click numbers
ctrApiFloatNNetwork data : ctr
ecpmApiFloatNNetwork data : eCPM
RevenueFloatNNetwork data : revenue
enterAdSceneIntNTradPlus data : enter AdScene numbers
enterAdSceneUsersIntNTradPlus data : enter AdScene users
bidRequestIntNTradPlus data : bidding request numbers
bidResponseIntNTradPlus data : bidding response numbers
bidResponseRateFloatNTradPlus data : bidding response rate
bidWinRateFloatNTradPlus data : bidding win rate
requestIntNTradPlus data : request numbers
fillIntNTradPlus data : fill numbers
fillrateFloatNTradPlus data : fill rate
impressionIntNTradPlus data : impression numbers
impressionRatioFloatNTradPlus data : impression ratio
clickIntNTradPlus data : click numbers
clickUsersIntNTradPlus data : click users
ctrFloatNTradPlus data : ctr
estimateRevenueFloatNTradPlus data : estimate revenue
idfaIntNIDFA Authorization
bucketNameStringNA/B Test group name
countryNameStringNcountry
channelStringNchannel
sdkStringNsdk version
appVersionStringNApplication version
eventRevenueStringNTradPlus 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

  1. 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

fieldstypenotes
timezoneStringUTC+8、UTC+0、UTC-8
itemsArrayitems

items:

fieldstypenotes
dateStringdate,format:YYYY-mm-dd
appIdStringapp id
appNameStringapp name
appVersionStringapp version
channelStringchannel
placementIdStringplacement id
placementNameStringplacement name
newUserNumInt64newUser number
ltvxxFloat64ltv 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

  1. 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

fieldstypenotes
timezoneStringUTC+8、UTC+0、UTC-8
itemsArrayitems

items:

fieldstypenotes
dateStringdate,format:YYYY-mm-dd
appIdStringapp id
appNameStringapp name
appVersionStringapp version
channelStringchannel
kpxxFloat64kp 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

idnotes
1Facebook
2Admob
4AdColony
5Unity Ads
6Tapjoy
7Vungle
9Applovin
10IronSource
15Chartboost
16Tencent Ads
17CSJ
18Mintegral
19Pangle
20Kuaishou Ads
21Sigmob
23Inmobi
24Fyber
25Youdao
26DisplayIO JSTag
27crosspro
30Helium
31Maio
32Criteo
33Mytarget
34ogury
35joomob
36Appnext
37Kidoz
38Smaato
41Huawei Ads
43Baidu
44Klevin
45A4G
46Mimo
47Super Awesome
48Google Ad Manager
49GroMore
50Yandex
51My Network
52Adfly
54Appic(Abroad)
55zMaticoo
56ReklamUp
57Bigo
58BeiZi
59Okspin
60ONEMOB
61Appic(China)
62LeYou
63Dirchlet(TapTap)
64PremiumAds
65zMaticoo(H5)
66My Network 2
67GreedyGame
68AlgoriX
69BeesAds
70APS
71Mango X
72Octopus Mobile
73TanX
74TaurusX
75KwaiAd
76Columbus
77YSO
78Vivo
79OPPO Ads

AD Format

idnotes
1Native
2Interstitial
3Splash
4Banner
5Rewarded Video
6Offerwall