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
[
"activeUsers",
"adImpressions",
"adImpressionsBanner",
"adImpressionsInterstitial",
"adImpressionsRewarded",
"adMonetizedUsers",
"advertisingSpend",
"averageRevenueEventValue",
"averageRevenuePerActiveUser",
"averageRevenuePerPayingUser",
"averageSessionLength",
"averageTimeSpendInApp",
"blockedUsers",
"clickThroughRate",
"clickToInstallRate",
"clicks",
"contributionMargin1",
"contributionMargin1Rate",
"contributionMargin2",
"contributionMargin2Rate",
"costPerAction",
"costPerInstall",
"effectiveCostPerClick",
"effectiveCostPerMille",
"effectiveCostPerView",
"externalAdvertisingSpend",
"externalClicks",
"externalImpressions",
"impressions",
"installRate",
"installs",
"installsPerMille",
"payingUsers",
"payingUsersRate",
"payout",
"payoutPerActiveUser",
"payoutRate",
"purchases",
"restrictedUsers",
"returnOnAdvertisingSpend",
"returnOnInvestment",
"revenue",
"revenueEvents",
"skadInstalls",
"spend",
"suspiciousUsers"
]
Supported dimensions
[
"app",
"country",
"date",
"network.id",
"campaign.id",
"adsetName",
"platform.id",
"channel.id",
"country.id",
"dayOfWeek",
"week",
"month",
"userType",
"campaignType",
"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",
"userType",
"campaignType",
"sourcePublisher",
"sourceId",
"sourceName",
"exchangeId",
"exchangeName",
"sourceBundleId",
"sourceCategory",
"sourcePlacement",
"sourceUrl",
"externalAdSetId",
"adType",
"creativeName",
"installAppVersionCode",
"installAppVersionName",
"creative.id",
"initialClientVersion",
"testGroupId"
]