AdServices token API returns attribution: true for reinstalls without ad interaction

Hi Apple Support,

We're reaching out to clarify what appears to be unexpected behavior in the AdServices token attribution API, specifically around reinstall attribution for apps with high reinstall rates.

The problem

For an app with a high reinstall rate, our ASA install counts are significantly higher than what the Apple Ads dashboard reports. Total install counts across all sources match closely — the discrepancy is specifically in ASA-attributed installs.

What we tested

To investigate, we ran a controlled experiment:

  1. Installed an app by tapping an Apple Search Ads ad.
  2. Deleted the app.
  3. Reinstalled the app approximately 15 minutes later directly from the App Store, without tapping any ad.
  4. Fetched a new AdServices token and exchanged it with Apple's attribution API.

The API returned attribution: true with the original campaign details (same campaignId, adGroupId, keywordId) and conversionType: Download. The reinstall was attributed to the ASA campaign even though the user did not interact with any ad before the second install.

Question about documentation

The Apple Ads help page defines a tap-through Redownload as:

"A redownload is when a user downloads your app, deletes it, then downloads it again on the same device or a different one following an ad tap."

Could you clarify: does "following an ad tap" mean the redownload must be directly triggered by a tap on an ad? Or does it mean any redownload that occurs within the 30-day attribution window of a prior ad tap?

Question about intended token API behavior

Is the AdServices token API intended to return attribution: true for installs where the user did not tap an ad before that specific install, but had interacted with an ad within the past 30 days?

In other words, is the token API designed to attribute all installs within the 30-day window regardless of whether the current install was ad-driven, or should it only attribute installs that were directly preceded by an ad interaction?

We would appreciate any clarification on the intended behavior, as this directly impacts how we reconcile install counts between the AdServices API and the Apple Ads dashboard.

Thank you for your time.

We are seeing a very similar issue.

In our case, AdServices/self-attribution data is significantly higher than Apple Ads Reporting, but the discrepancy is almost entirely on Click attribution. Impression attribution is much closer to Apple Ads view-through installs.

This pattern is important because our internal ingestion logic does not treat Click differently from Impression, except for the claimType value returned by Apple. If this were just a duplicate upload or backend counting bug on our side, we would expect Click and Impression to be inflated in a similar way.

Our current hypothesis, which we believe is highly likely based on your experiment, is:

attribution=true from AdServices is not a one-time consumed event per install/reinstall cycle. It appears to behave more like an attribution-window-level match. For Click attribution, as long as the device is still within the 30-day click attribution window, subsequent installs/reinstalls or app opens may still return attribution=true. For Impression attribution, the window is only 24 hours, so the same repeated-attribution effect is much smaller. Apple Ads Reporting appears to apply an internal conversion/installation attribution logic that is not exposed in the AdServices first-open payload.

AdServices token API returns attribution: true for reinstalls without ad interaction
 
 
Q