Chapter 7 / 9
Working with Adjust: the integration, and why the numbers don't match
When Adjust and Amplitude are used together, Adjust tells you the source and Amplitude tells you the behaviour. The integration joins the two on the same user. When a client puts the two tools side by side, the numbers don't match; most of these gaps are definition differences, not errors.
- You can explain how the integration works and how both tools recognise the same person.
- You will know which analyses the integration enables and where its limits are.
- You can break an Adjust–Amplitude gap into independent causes and classify them.
How the integration works
The critical point of the integration is identity matching. Adjust works with its own device identifiers, Amplitude with its own device_id and user_id. For the attribution data Adjust sends to land on the right Amplitude user, the two sides need to share an identifier; usually the app passes Amplitude's ID to the Adjust SDK as a parameter.
Which ID is passed to Adjust with which parameter, how to enable the Amplitude module in the Adjust dashboard, and which fields arrive in Amplitude under which names are described in Adjust's Amplitude partner documentation. There may be differences per platform (iOS, Android, web). Check both sets of documentation before setting it up.
What the integration makes possible
Once the acquisition channel is a user property in Amplitude, every chart can be split by channel. The UA team's question "which channel brings better users?" gets answered with behaviour, not just installs and revenue.
| Question | Amplitude chart | Field from Adjust |
|---|---|---|
| Which channel's users complete onboarding more often? | Funnel, broken down by channel | Network |
| Users from which creative are more loyal? | Retention, broken down by creative | Creative / adgroup |
| Which features do campaign users use? | Segmentation or Journeys, with a cohort filter | Campaign |
| How much do paid channels contribute to the active audience? | Lifecycle, "new" group by channel | Network |
Limits
- Unattributed users: users Adjust cannot assign to a channel at device level (e.g. part of iOS users who decline ATT) appear in Amplitude as organic or with an empty channel. Channel breakdowns don't include this audience.
- SKAN data: SKAdNetwork data is aggregated, so it cannot be tied to individual users and cannot be carried into user-level analysis in Amplitude.
- Reattribution: if a user is later reattributed to another campaign, whether the Amplitude user property keeps the first or the latest source depends on how the integration is set up.
These are limits you already know from Adjust; the integration doesn't remove them, it just carries them into Amplitude. When presenting channel-level Amplitude analysis to a client, state the size of the unattributed audience too.
Why don't the numbers match?
When a client compares Adjust installs with Amplitude new users, they see a gap. The right approach is the same as in Adjust discrepancy work: don't average the gap away; break it into independent causes and classify each.
| Source of difference | Adjust | Amplitude | Class |
|---|---|---|---|
| Counting unit | Install (device and attribution rules) | Unique person (merged identity) | Definition |
| Multiple devices | Each device is a separate install | One person with the same user_id | Definition |
| User who came via web first | New install when the app is installed | Already known user | Definition |
| SDK init timing | First session | If the app starts Amplitude late, early leavers are lost | Integration |
| Consent / opt-out | Its own consent rules | Depends on when the app disables Amplitude | Policy |
| Timezone | Dashboard / report setting | Project setting | Setting |
| Test devices and internal traffic | Sandbox split, test devices | Separate project or filter | Setting |
| Revenue | Adjust revenue event, purchase verification | Amplitude revenue field or property | Definition / integration |
Example breakdown
The waterfall below shows, cause by cause, how 10,000 Adjust installs in one week turn into Amplitude's new user count.
Only draw a bar if you can measure it. For example, you can measure the multi-device effect by counting user_ids linked to more than one device_id. Write a cause you can't measure separately as "possible" and leave the rest as unexplained.
A frame for explaining it to the client
- Define what each tool counts in one sentence: an install is device-based, a new user is person-based.
- Break the gap into measured causes and give the size of each.
- Classify each cause: definition (expected), policy (deliberate choice), integration (fixable).
- For fixable ones, propose a concrete action (e.g. initialising the Amplitude SDK earlier).
- Recommend which tool's number to use for which decision: Adjust for channel budgets, Amplitude for product decisions.
Take the Adjust install count and Amplitude new user count for the same week in your test app. First sketch an estimated waterfall, then try to measure each bar with a query. List the ones you can't measure separately.