Blog

Apple Ads Attribution: The AdServices Token

Lakshith Dinesh

Lakshith Dinesh

Head of Growth, Linkrunner

Last updated on 6 min read

Apple Ads Attribution: The AdServices Token

Short answer: Apple Ads attribution runs through Apple's AdServices framework. On first launch, your app (or your MMP's SDK) asks AdServices for an attribution token, then sends that token to Apple's attribution API within 24 hours. Apple replies with the campaign, ad group, keyword and ad behind the install, or says the install did not come from Apple Ads. It works without the IDFA, and Apple states that AdServices does not engage in tracking as defined under App Tracking Transparency.

Most iOS attribution is a compromise. Users who decline tracking leave you with delayed, aggregated postbacks. Apple Ads is the exception: because the ads run inside the App Store, Apple knows which ad a person tapped or saw, and it will tell your app at campaign, keyword and ad level. Teams that lump Apple Ads in with their other iOS networks often leave that precision unused.

A naming note first. Apple Search Ads became Apple Ads in April 2025, as ads now run beyond search results, and Apple's developer documentation now calls the system the Apple Ads Attribution API. Older dashboards and SDK settings may still say Apple Search Ads. It is the same channel.

What is Apple Ads attribution?

Apple Ads attribution is the process by which an iOS app learns whether an install came from an Apple Ads campaign, using a token from Apple's AdServices framework that the app or its MMP exchanges with Apple's attribution API for a campaign-level record.

The key terms:

  • Apple AdServices attribution: the framework and API pair. AdServices is available from iOS 14.3.
  • Attribution token: a Base64 string generated on the device, with a 24-hour time to live.
  • Attribution record: the JSON response, with IDs for the organisation, campaign, ad group, keyword and ad.

Apple Ads behaves like a self-attributing network: Apple decides which installs it drove, and your MMP reads that decision.

How does the AdServices token flow work?

Per Apple's AdServices documentation, the flow has four steps:

  1. Request a token. On first launch, the app calls AAAttribution.attributionToken().
  2. The framework generates it on the device.
  3. Exchange it. The app, or its MMP's server, sends the token in a POST request to Apple's attribution endpoint.
  4. Read the record. Apple returns attribution: true with campaign metadata, or attribution: false.

Timing details that cause most missing installs:

  • 24-hour limit. After 24 hours the API returns a 404 for that token.
  • Too-early calls. A 404 can also mean the record is not ready yet. Apple's best practice is to retry at 5-second intervals, up to three attempts.
  • Server errors. A 500 means Apple's server is temporarily down, so retry later rather than marking the install organic.

What does the attribution record contain?

FieldWhat it tells youWatch out for
campaignId, adGroupId, adIdWhich campaign, ad group and ad drove the installadId needs iOS 15.2 or later
keywordIdThe keyword behind the tapMissing when search match is on
claimTypeClick (tap-through) or Impression (view-through)Taps take priority over views
clickDate or impressionDateWhen the tap or view happenedRounded to the minute
conversionTypeDownload, Redownload or PreOrderTreat redownloads separately from new users
supplyPlacementSearch results, Search tab, Today tab or product pagesAdded in January 2026
countryOrRegionThe campaign's country or regionCampaign level, not the user's location

Apple's help page says the payload does not explicitly identify a user or device. It describes the ad, not the person.

Attribution windows

  • Tap-through: a tap up to 30 days before the download.
  • View-through: an ad view within 24 hours, introduced on 27 March 2025.
  • Pre-orders: separate, longer lookback windows apply.

What changed in 2025 and 2026?

Apple's AdServices changelog lists the changes worth knowing:

  • March 2025: view-through attribution, with the impressionDate field and an Impression value for claimType.
  • April 2025: Apple Search Ads renamed Apple Ads. Apple's help page also notes that Apple Ads registered with AdAttributionKit on 10 April 2025.
  • October 2025: pre-order campaign attribution.
  • January 2026: the supplyPlacement field.
  • September 2026: campaigns that use age or gender targeting return attribution: false.

That last change is the one to act on now. If your ad groups use age or gender settings, those installs will not be claimed through AdServices, so your MMP will not see them as Apple Ads installs. Check targeting before you read a drop as a performance problem.

How is AdServices different from SKAN and AdAttributionKit?

AdServicesSKAN and AdAttributionKit
CoversApple Ads campaigns onlyAds from registered ad networks
DetailCampaign, ad group, keyword, adCampaign plus conversion values, subject to privacy tiers
TimingAvailable at first launch, within 24 hoursPostbacks delayed, across up to three windows
In-app eventsNot included; you join events to the install yourselfEncoded in conversion values
ATTNot tracking under ATT, per AppleWorks regardless of tracking status

The practical consequence: Apple Ads gives you install-level campaign data at first launch, so you can join it to sign-ups and revenue and calculate keyword-level return on ad spend. SKAN gives you delayed, aggregated signals for your other networks. If you are new to the successor framework, read what AdAttributionKit is and how it compares with SKAN.

A pattern we see in iOS support conversations: teams expect user-level data, deep links or event attribution from SKAN, and are surprised when it is aggregate and delayed. Apple Ads is one of the few iOS channels where that expectation holds, and only because of AdServices.

Setup checklist for Apple Ads attribution

  1. Make sure the token is requested on first launch. If your MMP SDK handles it, confirm that the feature is on and the SDK version supports it.
  2. Send the token promptly. Offline first opens are the usual reason a token expires.
  3. Retry 404s correctly: 5-second intervals, at most three attempts, then stop.
  4. Turn off developer mode on test devices when checking real payloads. Apple returns test data while it is on.
  5. Audit age and gender targeting in your ad groups after the September 2026 change.
  6. Decide how to count redownloads. Report Redownload separately so returning users do not inflate new-user CPI.
  7. Reconcile by campaign and date against Apple Ads reporting, and expect small gaps from different windows and from installs another network claims.

How Linkrunner fits

Linkrunner is a mobile and web attribution platform (the Web SDK is in beta). For Apple Ads teams:

  • Apple Ads (formerly Apple Search Ads) is a supported integration on every plan, alongside Meta, Google, TikTok, Snapchat and others, so Apple Ads installs sit next to your other iOS channels in one full-funnel view from click to revenue.
  • Linkrunner reads the AdServices attribution token, and uses it as part of its deterministic matching order on iOS, alongside ad click IDs and device IDs where the user allows it. The Apple Ads integration then adds installs, spend and revenue with keyword-level rows and a split between tap and view installs, so keyword decisions can use return on ad spend rather than taps alone.
  • SKAN 4.0 and AdAttributionKit are supported, for the networks that rely on them, with a SKAN 4.0 wizard for conversion values.
  • Matching is deterministic first, with IP and user-agent matching only as a fallback when no deterministic signal exists.
  • Pricing is per attributed install: 25k one-time free installs, then ₹1.20 down to ₹0.80 per attributed install on the INR card, postpaid.

Apple Ads does not yet have a dedicated Linkrunner docs page, so ask the team to walk through your Apple Ads setup during onboarding. For keyword and bidding strategy once attribution is clean, see our Apple Ads strategy guide for performance marketers.

FAQs

Does Apple Ads attribution need ATT consent?

No. Apple's help page states that AdServices does not engage in tracking as defined under the App Tracking Transparency framework, and the payload does not explicitly identify a user or device.

How long is the AdServices token valid?

24 hours. After that, Apple's API returns a 404. Request the token on first launch and send it promptly, retrying a not-found response up to three times at 5-second intervals.

Why are my Apple Ads installs lower in my MMP than in Apple Ads reporting?

Usually the token was never sent or expired, the ad group uses age or gender targeting (which returns no attribution since September 2026), or another network's more recent click won the install. Compare by campaign and date before changing bids.

Does Apple Ads support view-through attribution?

Yes, since 27 March 2025. A view within 24 hours of the download can be claimed, and the payload marks it with claimType set to Impression. Taps take priority over views.

Is Apple Search Ads the same as Apple Ads?

Yes. Apple renamed Apple Search Ads to Apple Ads in April 2025. The attribution framework, AdServices, did not change with the name.

Getting Apple Ads right

Apple Ads is the most precise paid channel most iOS teams have, and the precision only reaches your reports if the token is requested, sent and retried correctly. Run the seven-point checklist above, audit targeting after the September 2026 change, and keep redownloads separate. To see Apple Ads alongside your other iOS and Android channels in one dashboard, request a demo of Linkrunner.

Start measuring the installs your team cares about

Bring attribution, deep links, SKAN, cohorts, and campaign intelligence into one workflow your growth team can trust.