Comment on page

Apple Search Ads Attributions

Receive events from Apple Search ads to

Set up keys for

Please, start your ASA Advanced integration by working with keys Follow 6 steps below
To add key:
  1. 1.
    Invite any apple account as the API account. The role should be API Account manager.
API account manager is any person (even you) just with another Apple id email than already exists in your account)
  1. 2.
    Log in into ASA with your API manager account and go to API settings. All campaigns => Account Settings => API
  2. 3.
    Set the key into Appflow. There are two ways:
  • a. Export the key from Apple Search ads
In case of many iOS apps on Appflow from the same Apple Account
Use only this way - private key uploading TO Appflow. With one iOS app, it's easier to use the way b below Same key from ASA - to all your apps into Appflow
Use the following command to extract a public key from your persisted private key:
openssl ec -in private-key.pem -pubout -out public-key.pem
The private key filename: private-key.pem
The ec256-public-key file where you generate and store the public key.
Open the public-key.pem file in a text editor and copy the public key, including the begin and end lines.
after that go to Appflow Settings => Your App => Edit => Apple Search Ads and upload the private key After that put the private key to the ASA
  • b. Once you switch on the ASA on Appflow, Appflow will generate the key, and display the public key for you. You can just paste the public key to ASA setting page.(from step 2.) You don't need to care about how to generate the key anymore.
  1. 4.
    If you have added a public key to the ASA, ASA will generate client ID, teamId, keyId for you.
  1. 5.
    Copy them and paste into
6. Don't forget to activate your ASA on!
Don't forget to check SDK requirements below
one more small addition to your SDK for ASA

Data pull warning
Apple Search ads will give us data from 30 days before you set the keys with so hurry up to get more data on our platform
Uploading usual basic ASA
Required step!
SDK part below is required for basic and advanced ASA anyway
To upload Apple Search ads attribution data, refer to the following example, For the AdServices Framework
if let attributionToken = try? AAAttribution.attributionToken() {
let attributionDetails = ["attributionToken": attributionToken]
Appflow.shared.updateAttribution(attributionDetails, source: .appleSearchAds)
For the iAd Framework
iAd is an old way to use (before ios 14.3)
AdService framework or iAd should be represented from your side(enable it on the app side). IAD is not representing downloads from ASA campaigns. It's not affecting Appflow data results
ADClient.shared().requestAttributionDetails({ (attributionDetails, error) in
guard let attributionDetails = attributionDetails else {
Appflow.shared.updateAttribution(attributionDetails, source: .appleSearchAds)