Skip to main content

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,
}
}

NameTypeDescription
cohortCohort objectCohort or daily logic
intervalInterval objectTime interval within which data should be aggregated
metrics[]stringList of requested metrics.

Refer to our supported request values for options.
dimensions[]dimensionsList of dimensions by which data should be split. You can request up to 3 dimension.

Refer to our supported request values for options.
filtersFilters objectOptional filters to limit requested.

Refer to our supported request values for options.
paginationPagination objectBatch number and amount of data rows to return
orderByOrderBy objectDescending 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
}
}
NameTypeDescription
paginationPagination objectUsed pagination settings and total amount of data rows
rows[]RowList of data rows
sumSum objectSum 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]
}
}

NameTypeDescription
cohortCohort objectCohort or daily logic
intervalInterval objectTime interval within which data should be aggregated.
granularityGranularity objectScale of the data aggregation
metrics[]stringList of requested metrics.

Refer to our supported request values for options.
filtersFilters objectOptional filters to limit requested.

Refer to our supported request values for options.

Responses

200
{
"<date>": {
"<metric>": float
}
}

<date> stands for the date within which data was aggregated. Depends on the requested granularity.

<metric> stands for the requested metric name and contains float value.

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
MetricShortAbout
activeUsers-Number of users with opens (unique opens)
advertisingSpend-Sum of advertising spend from source defined per network
averageRevenueEventValueAREVAREV - Average revenue per revenue event
averageRevenuePerActiveUserARPAUARPAU - 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
clickThroughRateCTRCTR - Number of ad clicks divided by number of ad impressions
clickToInstallRateCTICTI - Number of installs divided by number of ad clicks
contributionMargin1CM1CM1 - Sum of revenue minus sum of advertising spend
contributionMargin1RateCM1%CM1% - Sum of contribution margin divided by sum of revenue
contributionMargin2CM2CM2 - Sum of revenue minus sum of spend
contributionMargin2RateCM2%CM2% - Sum of contribution margin 2 divided by sum of revenue
costPerActionCPACPA - Sum of advertising spend divided by number of successfully sent action postbacks
costPerInstallCPICPI - Sum of advertising spend divided by number of installs
effectiveCostPerClickeCPCeCPC - Effective cost per ad click
effectiveCostPerVieweCPVeCPV - Effective cost per ad impression
effectiveCostPerMilleeCPMeCPM - 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
installRateIRIR - Number of installs divided by number of ad impressions
installsPerMilleIPMIPM - Number of installs per thousand ad impressions
adImpressions-Number of successful ad impressions
adImpressionsBanner-Number of successful ad impressions with banner type
adImpressionsInterstitial-Number of successful ad impressions with interstitial type
adImpressionsRewarded-Number of successful ad impressions with rewarded type
monetizedUsersMUMU - Number of users with revenue event in the selected time range
payout-Sum of concluded payouts (the defining timestamp is the conclude date)
payoutPerActiveUserPPAUPPAU - Sum of payout divided by number of active users
payoutRate-Sum of payout divided by sum of revenue
restrictedUsers-Number of restricted users
returnOnAdvertisingSpendROASROAS - Sum of revenue divided by sum of Advertising Spend
returnOnInvestmentROIROI - 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",
]