Acquisition
The Acquisition API lets you request the most relevant metrics for your apps which are available on the Acquisition Overview page of the justtrack dashboard.
Table API
This API provides data to build custom tables. The metrics are grouped by the requested dimensions.
curl -H X-API-Key: <API_KEY> https://api.justtrack.io/reporting/v1/acquisition/table
Request
The general request to the Table API looks like:
{
"cohort": {
"enabled": bool,
"dx": [int]
},
"interval": {
"from": "YYYY-mm-dd",
"until": "YYYY-mm-dd"
},
"metrics": [string],
"dimensions": [string],
"filters": {
"<dimension>": [string],
},
"pagination": {
"page": int,
"limit": int
},
"orderBy": {
"name": string,
"direction": string,
}
}
Name | Type | Description |
---|---|---|
cohort | Cohort object | Cohort or daily logic |
interval | Interval object | Time interval within which data should be aggregated |
metrics | []string | List of requested metrics. Refer to our supported request values for options. |
dimensions | []dimensions | List of dimensions by which data should be split. You can request up to 3 dimension. Refer to our supported request values for options. |
filters | Filters object | Optional filters to limit requested. Refer to our supported request values for options. |
pagination | Pagination object | Batch number and amount of data rows to return |
orderBy | OrderBy object | Descending or ascending order by selected metric or dimension |
Responses
200
{
"pagination": {
"page": int,
"limit": int,
"total": int
},
"rows": [
{
"<dimension>": string,
"<metric>": float
}
],
"sum": {
"<metric>": float
}
}
Name | Type | Description |
---|---|---|
pagination | Pagination object | Used pagination settings and total amount of data rows |
rows | []Row | List of data rows |
sum | Sum object | Sum for all table entries (not only for the requested page) |
400
If you provide a valid JSON request body but with a data error, you'll receive an INVALID_ARGUMENT
response:
{
"code": 400,
"requestId": "a0b12345-6c78-90123-4def-ghij56789012",
"details": [
"requested metrics are not supported: [<INVALID_METRICS>]",
"requested dimensions are not suported: [<INVALID_DIMENSIONS>]"
],
"status": "INVALID_ARGUMENT"
}
If you provide an invalid JSON request body, you'll receive an INVALID_REQUEST
response:
{
"code": 400,
"requestId": "a0b12345-6c78-90123-4def-ghij56789012",
"details": [
"could not decode body: <MESSAGE>"
],
"status": "INVALID_REQUEST"
}
500
If there is a backend error, you'll receive an INTERNAL
error response:
{
"code": 500,
"requestId": "",
"details": [],
"status": "INTERNAL"
}
As the error details
are internal, we won't include them in the response.
Graph API
The Graph API offers the same data as Table API with more flexible date grouping options.
curl -H X-API-Key: <API_KEY> https://api.justtrack.io/reporting/v1/acquisition/graph
Request
{
"cohort": {
"enabled": bool,
"dx": [int]
},
"interval": {
"from": "YYYY-mm-dd",
"until": "YYYY-mm-dd"
},
"granularity": string,
"metrics": [string],
"filters": {
"<dimension>": [string]
}
}
Name | Type | Description |
---|---|---|
cohort | Cohort object | Cohort or daily logic |
interval | Interval object | Time interval within which data should be aggregated. |
granularity | Granularity object | Scale of the data aggregation |
metrics | []string | List of requested metrics. Refer to our supported request values for options. |
filters | Filters object | Optional filters to limit requested. Refer to our supported request values for options. |
Responses
200
400
If you provide a valid JSON request body but with a data error, you'll receive an INVALID_ARGUMENT
response:
{
"code": 400,
"requestId": "a0b12345-6c78-90123-4def-ghij56789012",
"details": [
"requested metrics are not supported: [<INVALID_METRICS>]",
"requested dimensions are not suported: [<INVALID_DIMENSIONS>]"
],
"status": "INVALID_ARGUMENT"
}
If you provide an invalid JSON request body, you'll receive an INVALID_REQUEST
response:
{
"code": 400,
"requestId": "a0b12345-6c78-90123-4def-ghij56789012",
"details": [
"could not decode body: <MESSAGE>"
],
"status": "INVALID_REQUEST"
}
500
If there is a backend error, you'll receive an INTERNAL
error response:
{
"code": 500,
"requestId": "",
"details": [],
"status": "INTERNAL"
}
As the error details
are internal, we won't include them in the response.
Supported request values
Here, you'll find the available values for the metrics
, dimensions
, and filters
request fields.
Supported metrics
Metric | Short | About |
---|---|---|
activeUsers | - | Number of users with opens (unique opens) |
advertisingSpend | - | Sum of advertising spend from source defined per network |
averageRevenueEventValue | AREV | AREV - Average revenue per revenue event |
averageRevenuePerActiveUser | ARPAU | ARPAU - Average revenue per active user |
averageSessionLength | - | Sum of time spend in app divided by number of sessions |
averageTimeSpendInApp | - | Sum of time spend in app divided by number of active users |
blockedUsers | - | Number of blocked users |
clicks | - | Number of ad clicks |
clickThroughRate | CTR | CTR - Number of ad clicks divided by number of ad impressions |
clickToInstallRate | CTI | CTI - Number of installs divided by number of ad clicks |
contributionMargin1 | CM1 | CM1 - Sum of revenue minus sum of advertising spend |
contributionMargin1Rate | CM1% | CM1% - Sum of contribution margin divided by sum of revenue |
contributionMargin2 | CM2 | CM2 - Sum of revenue minus sum of spend |
contributionMargin2Rate | CM2% | CM2% - Sum of contribution margin 2 divided by sum of revenue |
costPerAction | CPA | CPA - Sum of advertising spend divided by number of successfully sent action postbacks |
costPerInstall | CPI | CPI - Sum of advertising spend divided by number of installs |
effectiveCostPerClick | eCPC | eCPC - Effective cost per ad click |
effectiveCostPerView | eCPV | eCPV - Effective cost per ad impression |
effectiveCostPerMille | eCPM | eCPM - Effective cost per thousand ad impressions |
externalAdvertisingSpend | - | Sum of advertising spend imported from network(s) |
externalClicks | - | Number of ad clicks imported from network(s) |
externalImpressions | - | Number of ad impressions imported from network(s) |
impressions | - | Number of ad impressions |
installs | - | Number of installs |
installRate | IR | IR - Number of installs divided by number of ad impressions |
installsPerMille | IPM | IPM - Number of installs per thousand ad impressions |
monetizationAdImpressions | - | Number of successful ad impressions |
monetizationAdImpressionsBanner | - | Number of successful ad impressions with banner type |
monetizationAdImpressionsInterstitial | - | Number of successful ad impressions with interstitial type |
monetizationAdImpressionsRewarded | - | Number of successful ad impressions with rewarded type |
monetizedUsers | MU | MU - Number of users with revenue event in the selected time range |
payout | - | Sum of concluded payouts (the defining timestamp is the conclude date) |
payoutPerActiveUser | PPAU | PPAU - Sum of payout divided by number of active users |
payoutRate | - | Sum of payout divided by sum of revenue |
restrictedUsers | - | Number of restricted users |
returnOnAdvertisingSpend | ROAS | ROAS - Sum of revenue divided by sum of Advertising Spend |
returnOnInvestment | ROI | ROI - Sum of revenue divided by sum of Spend |
revenue | - | Sum of revenue |
revenueEvents | - | Number of revenue events |
skadInstalls | - | Number of SKAd Postbacks sent by the network |
spend | - | Sum of advertising spend and payouts |
suspiciousUsers | - | Number of suspicious users |
Supported dimensions
[
"app",
"country",
"date",
"network.id",
"campaign.id",
"adsetName",
"platform.id",
"channel.id",
"country.id",
"dayOfWeek",
"week",
"month",
"user.type",
"campaign.type",
"sourcePublisher",
"sourceId",
"sourceName",
"exchangeId",
"exchangeName",
"sourceBundleId",
"sourceCategory",
"sourcePlacement",
"sourceUrl",
"externalAdSetId",
"adType",
"creativeName",
"installAppVersionCode",
"installAppVersionName",
"creative.id",
"initialClientVersion",
"testGroupId",
]
Supported dimension filters
[
"app",
"country",
"date",
"network.id",
"campaign.id",
"adsetName",
"platform.id",
"channel.id",
"country.id",
"dayOfWeek",
"week",
"month",
"user.type",
"campaign.type",
"sourcePublisher",
"sourceId",
"sourceName",
"exchangeId",
"exchangeName",
"sourceBundleId",
"sourceCategory",
"sourcePlacement",
"sourceUrl",
"externalAdSetId",
"adType",
"creativeName",
"installAppVersionCode",
"installAppVersionName",
"creative.id",
"initialClientVersion",
"testGroupId",
]