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
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
areaListString[]Ncountry codeCN
startIntNoffset0
limitIntNlimit row number. default 1000. [1,1000]100
groupByString[]Ydate required
apprequired
area
placementId
appVersion
channel
["date","app","area"]
metricString[]YWe 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
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
appIdListString[]Napp id list
areaListString[]Ncountry codeCN
startIntNoffset0
limitIntNlimit row number. default 1000. [1,1000]100
groupByString[]Ydate required
apprequired
area
appVersion
channel
["date","app","area"]
metricString[]YWe 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
3Mopub
4AdColony
5Unity Ads
6Tapjoy
7Vungle
9Applovin
10IronSource
15Chartboost
16Tencent Ads
17穿山甲
18Mintegral
19Pangle
20Kuaishou Ads
21Sigmob
23Inmobi
24Fyber
25Youdao
26DisplayIO JSTag
27crosspro
30Helium
31Maio
32Criteo
33Mytarget
34ogury
35joomob
36Appnext
37Kidoz
38Smaato
41Huawei Ads
43Baidu
44Klevin

AD Format#

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