Skip to main content

Adjust Report Service API

Last updated 10/05/2026
tip

Note that data generated by third-party data integration counts toward the cluster's data consumption

Summary​

Interface overview​

InterfaceTypeGranularityAttributionCostRevenueImpressionsClicksConversions
Report Service APIAPIAggregated metrics✅✅✅✅✅

Adjust's Report Service API provides aggregated metric data, including cost, revenue, impressions, clicks, conversions, and more.

Integration process​

The process for connecting Adjust Report Service API data is as follows:

  1. In the Adjust dashboard, get the Adjust API token and app token
  2. Log in to the AE backend, go to the Third-party Integration module, add an Adjust Report Service API integration plan, and complete the related configuration
  3. Check whether the AE system receives the data successfully, and build reports

1. Get the Adjust API token and app token​

1.1 Get the Adjust API token​

Before getting data from the Report Service API, you need to get the Adjust API token. In Adjust Suite, you can find it under Account settings > My profile. In the classic dashboard, find User details on the My account > Your data tab and click the gear button at the bottom to get it.

The image below shows the Adjust Suite interface. The API token is the API Token in the image:

1.2 Get the app token​

Next, you also need to get the Adjust app token, which determines which Adjust project the pulled data comes from.

Go to the Adjust dashboard, find the app, and click the caret (^) in the app options. The app token (App Token) is on the project card on the left. You can also click All settings on the project card and then click Show app details to get the app token.

2. Plan configuration​

After getting the Adjust API token and app token, log in to the AE system and configure the new plan in the Third-party Integration module. The image below shows the configuration page of the Adjust Report Service API. Follow this section to create the plan:

2.1 Authorization information configuration​

Click the Configure authorization information button under Authorization Information, and enter the App ID (the app ID in Adjust) and API Token in the pop-up

2.2 Sync Schedule​

In the Sync Schedule module, you can set the policy for the AE system to pull Adjust Report Service API data on a schedule. You can choose to pull data for a period of time at a specific time every day or every hour. Because pulled data also counts toward the data volume, avoid pulling data for overly long periods on a schedule

2.3 Pull time zone​

You can also set the time zone of the pulled data. The default is UTC+8

2.4 Receive Settings​

You can control whether the data is written as events. We recommend that you enable event data ingestion.

2.5 Configuration​

Finally, in the Configuration module, you can control the detailed settings of data pulling, including the time aggregation granularity of the data, the metric fields and dimensions to pull, and the event name after ingestion.

The content of the configuration is a JSON, which you can customize as follows:

ModuleNameDescription
sink_eventevent_nameEvent name after ingestion; customizable
sourcemetricsMetrics in the data; list type; customizable
group_byGrouping dimensions in the data; list type; customizable
time_granularityTime aggregation granularity of the data; string type; for values, see time granularity in 2.5.2 Grouping dimensions; template default: day

You can modify the configuration as needed

2.5.1 Included metrics​

Included metrics correspond to source.metrics in the configuration. Because Report Service supports a very wide range of metrics, this section shows only some commonly used ones. For the detailed metric list, see the Adjust official documentation. To change the metrics, enter the field names of the metrics you need in source.metrics.

  • Conversion metrics
FieldDefinitionFormulaField nameUsed by default in template
Average DAUsAverage daily active users in the selected period(D0 DAU + D1 DAU + DAY N DAU) / number of days in the selected perioddausYes
Average MAUsAverage MAU in the selected period(M0 MAU + M1 MAU + MONTH N MAU) / number of months in the selected periodmausYes
Average WAUsAverage WAU in the selected period(W0 WAU + W1 WAU + WEEK N WAU) / number of weeks in the selected periodwausYes

Base sessions

Number of user sessions, excluding installs and reattributions-base_sessionsYes
ClicksNumber of tracked clicks-clicksYes
Clicks (network)Number of clicks reported by the network API-network_clicksYes
Click conversion rate (CCR)Ratio of installs to clicksInstalls / clicksclick_conversion_rateYes
Click-through rate (CTR)Ratio of clicks to impressionsClicks / impressionsctrYes
DeattributionsNumber of deattributions-deattributionsYes
GDPR forgetsNumber of users who exercised the right to be forgotten under the EU GDPR. Adjust permanently deletes the personal data of these users-gdpr_forgetsYes
ImpressionsNumber of tracked ad impressions-impressionsYes
Impressions (network)Number of ad impressions reported by the network API-network_impressionsYes
Impression conversion rateRatio of installs to impressionsInstalls / impressionsimpression_conversion_rateYes
InstallsNumber of tracked users who installed your app-installsYes
Installs (network)Number of installs reported by the network API-network_installsYes
Install differenceDifference between installs and the installs reported by the network APIInstalls - installs (network)network_installs_diffYes
Installs per mille (IPM)Number of installs per 1,000 ad impressions1000 * impression conversion rateinstalls_per_mileYes
Limit ad tracking installsNumber of installs from devices with limit ad tracking (LAT) enabled-limit_ad_tracking_installsYes
Limit ad tracking install rateRatio of limit ad tracking installs to installsLimit ad tracking installs / installslimit_ad_tracking_install_rateYes
Limit ad tracking reattributionsNumber of reattributions from devices with limit ad tracking (LAT) enabled-limit_ad_tracking_reattributionsYes
Limit ad tracking reattribution rateRatio of limit ad tracking reattributions to reattributionsLimit ad tracking reattributions / reattributionslimit_ad_tracking_reattribution_rateYes
Non-organic installsNumber of installs from users not attributed as organic-non_organic_installsYes
Organic installsNumber of installs from users attributed as organic-organic_installsYes
ReattributionsNumber of reattributed users-reattributionsYes
Reattribution reinstallsNumber of reinstalls by reattributed users-reattribution_reinstalls
Reinstalls

Number of reinstalls

Requires the Uninstall and Reinstall Growth Solution

-reinstalls
Total sessionsTotal sessions include installs and reattributionsbase_sessions + installs + reattributionssessionsYes
  • Cost metrics
FieldDefinitionFormulaField nameUsed by default in template
Ad spendTotal ad spend (determined by the pull parameters)Click spend + impression spend + install spendcostYes
Ad spend (attribution)Ad spend tracked by AdjustClick spend + impression spend + install spendadjust_costYes

Ad spend (network)

Ad spend reported by the network APIClick spend + impression spend + install spendnetwork_costYes
Ad spend differenceDifference between ad spend (attribution) and ad spend (network)Ad spend (attribution) - ad spend (network)network_cost_diffYes
Click costCost spent on ad clicks-click_costYes
Paid clicksNumber of ad clicks with ad spend-paid_clicksYes
eCPI (all installs)Average effective spend across all installsAd spend / installsecpi_allYes
eCPI (network)Average effective spend per install reported by the network APIAd spend reported by the network API / installs reported by the network APInetwork_ecpiYes
eCPI (paid installs)Average effective spend per paid installAd spend reported by the network API / paid installsecpiYes
eCPM (attribution)eCPM data reported from attribution data(Ad spend / paid impressions) * 1000ecpmYes
eCPM (network)eCPM data reported by the network API(Network spend / network paid impressions) * 1000network_ecpmYes
eCPCAverage effective spend per clickAd spend / paid clicksecpcYes
Impression costCost spent on impressions-impression_costYes
Paid impressionsNumber of paid impressions with ad spend-paid_impressionsYes
Install costCost spent on installs-install_costYes
Paid installsNumber of paid installs with ad spend-paid_installsYes
  • Revenue metrics
FieldDefinitionFormulaField nameUsed by default in template
Ad impressionsTotal number of ad impressions-ad_impressionsYes
Ad revenueTotal ad revenue-ad_revenueYes
Cohort ad revenue

Ad revenue to date from users who installed during the selected period

Example: if the selected period is 1/1 to 1/31 and today is 5/1, the ad revenue up to 5/1 from users who installed between 1/1 and 1/31 is calculated

-

cohort_ad_revenue

Yes
Ad RPMAverage revenue per 1,000 ad impressions(Ad revenue / ad impressions) * 1000ad_rpmYes
IAP revenueIAP revenue-revenueYes
Cohort IAP revenue

IAP revenue to date from users who installed during the selected period

Example: if the selected period is 1/1 to 1/31 and today is 5/1, the IAP revenue up to 5/1 from users who installed between 1/1 and 1/31 is calculated

-

cohort_revenue

Yes
Total revenueTotal revenue including ad revenue and IAP revenueAd revenue + IAP revenueall_revenueYes
Cohort total revenue

Total revenue to date from users who installed during the selected period

Example: if the selected period is 1/1 to 1/31 and today is 5/1, the total revenue up to 5/1 from users who installed between 1/1 and 1/31 is calculated

Cohort IAP revenue + cohort ad revenuecohort_all_revenueYes
ARPU (all)Average revenue per active user, including all revenueTotal revenue / total DAUarpdauYes
ARPU (ads only)Average revenue per active user, including ad revenue onlyAd revenue / total DAUarpdau_adYes
ARPU (IAP only)Average revenue per active user, including IAP revenue onlyIAP revenue / total DAUarpdau_iapYes
Gross profitTotal revenue minus total costTotal revenue - total costgross_profitYes
Cohort gross profitGross profit of users who installed during the selected periodCohort total revenue - costcohort_gross_profitYes
Cohort ROIGross profit of users who installed during the selected period divided by costCohort gross profit / costreturn_on_investmentYes
IAP eventsNumber of tracked in-app purchase events-revenue_eventsYes
Revenue to cost ratio (RCR)Ratio of revenue to cost for users who installed during the selected periodCohort total revenue / total costrevenue_to_costYes
ROAS (total revenue)ROAS calculated on total revenue(Ad revenue + IAP revenue) / costroasYes
ROAS (ad revenue)ROAS calculated on ad revenue onlyAd revenue / costroas_adYes
ROAS (IAP revenue)ROAS calculated on IAP revenue onlyIAP revenue / costroas_iapYes

2.5.2 Grouping dimensions​

The following are the grouping dimensions supported by Report Service. They include time granularity (only one can be selected; it corresponds to source.time_granularity in the configuration, and the template default is day) and grouping dimensions (multiple can be selected; they correspond to source.group_by in the configuration). To change the dimensions, enter the field names of the dimensions you need in source.group_by.

  • Time granularity
DimensionData typeDescriptionExampleUsed by default in template

hour

DateDate value in ISO format: YYYY-MM-DDTHH:MM:SS

2021-05-11T17:00:45

dayDateDate value format: YYYY-MM-DD2021-05-11Yes
  • Grouping dimensions
DimensionData typeDescriptionExampleUsed by default in template

os_name

StringOSValues: android, Bada, blackberry, iOS, Linux, Mac OS, server, symbian, unknown, WebOS, Windows, windows-phoneYes

device_type

StringDevice TypeValues: bot, console, iPod, Mac, PC, phone, server, simulator, tablet, TV, unknownYes
appStringApp name-Yes
app_tokenStringApp ID in Adjust-Yes
store_idStringStore app IDcom.random.appYes
store_typeStringStore the app was installed fromgoogle_playYes

app_network

StringApp identifier

Format: <store_type>:<store_id>

Example: google_play:com.random.app

Yes
currencyStringCurrencyEuroYes
currency_codeString3-character ISO 4217 currency codeEURYes

network

StringName of the ad networkValues: Organic, AppLovin, Facebook Installs, Instagram Installs
campaignStringIncludes the campaign name and ID-Yes
campaign_networkStringCampaign name from the network-Yes
campaign_id_networkStringCampaign ID from the network-Yes
adgroupStringIncludes the ad group name and ID-Yes
adgroup_networkStringAd group name from the network-Yes
adgroup_id_networkStringAd group ID from the network-Yes
source_networkStringOptional value depending on the network, usually the same as adgroup_network-Yes
source_id_networkStringsource_app value-Yes
creativeStringIncludes the creative name and ID-Yes
creative_networkStringCreative name from the network-Yes
creative_id_networkStringCreative ID from the network-Yes
countryStringCountry/region nameUnited States of AmericaYes
country_codeString2-character ISO 3166 country/region code

US

Yes
regionStringBusiness regionAPACYes
partner_nameStringPartner name in the Adjust systemAppLovinYes
partner_idStringPartner ID in the Adjust system34Yes

2.5.3 Ingestion rules​

  • The day or hour field in the data, that is, the date of the data, is set as the #event_time of the aggregated data
  • The event name used in the template is adjust_report_service_ad_spend. To change it, adjust sink_event.event_name
  • All other metric and dimension fields are stored

2.6 Standardized fields​

The following are the standardized fields of the Report Service API:

Original fieldStandardized fieldDescription
campaign_networkte_ads_object.campaign_nameCampaign name
campaign_id_networkte_ads_object.campaign_idCampaign ID
adgroup_networkte_ads_object.ad_group_nameAd group name, or the Unit name for monetization ads
adgroup_id_networkte_ads_object.ad_group_idAd group ID, or the Unit ID for monetization ads
creative_networkte_ads_object.ad_nameAd name
creative_id_networkte_ads_object.ad_idAd ID
partner_namete_ads_object.media_sourceMedia source or monetization channel
store_idte_ads_object.app_idApp ID
appte_ads_object.app_nameApp name
os_namete_ads_object.platformPlatform, such as Android or iOS
country_codete_ads_object.countryCountry or region code
currency_codete_ads_object.currencyCurrency of the cost or revenue
impressionste_ads_object.impressionsImpressions
clickste_ads_object.clicksClicks
installste_ads_object.installsConversions (installs)
costte_ads_object.costUser acquisition cost
revenuete_ads_object.revenueMonetization revenue

3. Next steps​

3.1 Check data ingestion​

You can check on the Management page whether the event adjust_report_service_ad_spend has been stored

3.2 Pull data once​

If you want to connect data from an earlier period, such as historical data or data that failed to be pulled, open the plan page again after saving the plan and click the Single pull task button in the upper right corner to pull data for a specific time range once. Note that if the period of the pulled data overlaps with earlier pulls, for example, you pull data for 2023-08-01 and data for that day was already pulled before, the most recently pulled data overwrites the earlier data:

3.3 The ad_spend_mode parameter​

https://help.adjust.com/zh/article/how-ad-spend-source-affects-your-data

To adapt to new API capabilities, the parameter AE uses by default has changed from cost_mode to ad_spend_mode, and the default value of the parameter is network.

If ad_spend_source is set to mixed, ad spend is determined as follows:

  • If the partner uses Adjust's ad spend API integration, ad spend = ad spend (network). In this case, you need to add the account on the Connections page. Otherwise, the value is shown as 0.
  • In all other cases where the partner has no API integration with Adjust, ad spend = ad spend (attribution).
Was this page helpful?