Adjust: acquisition spend in Finance

Connecting Adjust brings the spend side of Finance: what you spent on acquisition, and how many installs it brought.

On its own it is only a cost counter. Crossed with RevenueCat, it is what lets you compare a cohort's revenue with what it cost.

Read-only access. Appwin queries the reporting API, creates no campaign and changes no tracking setting.


1. Get the account API token

The API token is at account level, not app level, and is only accessible to administrators.

In Adjust: avatar top right → Account settings → API token section. If no token is shown, click Generate.

Regenerating the token invalidates the old one for every integration using it, not just Appwin. Check what depends on it before clicking.

2. Collect the app tokens

One token per platform, 12 characters each.

Adjust → AppView → select the app → Settings (gear) → "App token".

FieldWhere
App Token iOSAppView, on the iOS app
App Token AndroidAppView, on the Android app

The Android token can be left empty if you have no Android app. The iOS side works on its own.

3. Enter them in Appwin

Settings → Projects → your app → Integrations → Adjust.

FieldValue
API Key (secret)aBcDeFgHiJkLmNoPqRsTuVwX
App Token iOS4w565xzk3d90
App Token Android2k9fj1lp7c40

What it unlocks

MetricContents
Marketing spendAcquisition spend over the period
InstallsAttributed installs

Both come as a single value, as a time series, and as a series broken down by:

  • network - Meta, Google Ads, Apple Search Ads…
  • campaign
  • country

That breakdown is what makes the data useful: "we spent €4,000" says nothing, "€4,000 of which 60% went to a network that brings 12% of the installs" says something.

ROAS

Return on ad spend (revenue ÷ spend) is declared as a cross-source metric between Adjust and RevenueCat, but its computation is not shipped yet. Seeing it appear will require both integrations connected; in the meantime, the two series read side by side.


Freshness

Adjust figures are cached for 15 minutes for a current period, 1 hour for a closed one. Attribution data consolidates over several hours on Adjust's side: a same-day number is always partial, however fresh the cache.


Troubleshooting

SymptomLikely cause
401 on every callToken regenerated on the Adjust side, old token still saved
No token visible in AdjustAccount without an administrator role
Spend at zeroCosts only come through if the network is connected inside Adjust
Installs with no spendSame cause: attribution works, the cost is not shared
Only one platformThe other platform's app token is not filled in

Next