This is the 25th day of my participation in the More text Challenge. For more details, see more text Challenge

preface

This recent writing of three “apple search advertising ASA notes” articles are targeted by gold, locked in the small dark room. Even the first article has been passed, today was imprisoned, until now also do not understand what reason;

There is absolutely no sensitive remarks under the statement here, the second article does not say that the map in my cover picture has sensitive areas that are not fully displayed, really is not thought of!

In addition, I found that there was a deviation in the understanding of ASA, which should be related to the reason why I split it into three parts. This time, I decided to merge them into one article and simplify some unimportant contents.

What is ASA?

**ASA is Apple Search Ads. **ASA is a paid App Store promotion that enables your App to appear first in the Apple Store search results to gain users. The top of the App Store search results page looks better than any other display location. And in the future, Apple is likely to offer a broader range of ads, not just paid ads, but ads from more display Spaces, such as Apple’s own maps, news, stocks and Safari apps.

ASA’s presentation form

ASA AD placement is similar to the natural results of the App Store. When we place an App in the background of Apple Search Ads, the AD has the opportunity to show up at the top of the App Store Search results, thus attracting targeted searchers to download the product.

The AD space will show App ICONS, titles, subtitles, ratings, copywriting/screenshots/video material, with a blue background and natural results (added).

! 9.54.54] [screenshots 2021-06-23 afternoon (/ Users/liaoyp/Library/Application Support/typora – user – images/screenshots 9.54.54 2021-06-23 afternoon. PNG)

The advantage of ASA

User precision

Display and download are triggered by user search behavior, user needs more clear!

High conversion

Users are willing to download, and all ads are displayed in the App Store, no additional jump.

Data more

Apple bidding advertising background can see the display, click, download, transformation and other data of each keyword, and the attribution API can also see the activation, active, paid and other data, measuring ROI more convenient!

Traffic safety

ASA is the official channel of Apple, so there will not be a large number of new exceptions resulting in rights reduction, verification and other anomalies.

The similarities, differences and influences of ASO and ASA

ASA ASO
define Apple Search Ads Apple Search Ads, the main advertising AppStore, belong to keyword advertising App Store Optimization is the process of increasing the number of search entries for an App in the App Store and improving the ranking of search results. This can help you increase your App’s traffic and download conversion rate in the App Store, thereby gaining more users
Show the location App Store search results at the top of the first display, you can count the specific display times Keywords Natural ranking
Effect of monitoring Show, click, install, CPT, CPA, activate, retain, pay, and ROI can be detailed down to each keyword At present, precise optimization effects (such as activation and registration) can not be counted, but can only be calculated through the market year-on-year, quarter-on-quarter, relative to the model
Cooperation mode 1. Settlement with Apple: CPT, CPI 2 2. 1. The World’s largest economy

Impact:

  1. In THE ASA advertising algorithm, the weight factor has a very large impact, so ASO needs to cooperate with the ranking of the list to improve the weight, so as to improve the ASA display volume
  2. ASA can see the data of each keyword and measure the quality of keywords (ROI, retention, etc.), which in turn can provide accurate data support for the word selection of ASO
  3. ASA AD placement is always the first in search results, and the original Top1 natural results of ASO can only rank second, so the effect of keyword amount of ASO will be reduced. However, ASA can only place the top one AD, and the next 2-20 ads still require ASO intervention.

In general, ASA and ASO have their own strengths, and they can play a greater role when they work together.

ASA data attribution

Data attribution is how to monitor how many downloads and activations an AD in the App Store leads to; And how do you measure the quality of users, their retention, OCVR, LTV, etc.

Attribution analysis:

Third-party attribution tools

There are several foreign comparisons, after all, ASA has been very mature in foreign countries

Self-attribution tool building

AdService Framework for iOS 14.3+

Apple released a new AdService Framework attribution scheme in January 2021. This solution does not rely on IDFA, is not subject to user privacy policies, and is 100% attributable on iOS 14.3 and later devices.

After March 2021, iOS 14.3 and higher will have more than 50% coverage

  • In step 1, the AdServices framework initiates a call request to generate the token.
  • In step 2, the AdServices framework generates the token.
  • In the third step, MMP or developer makes a RESTful API request using the token, and Apple’s attribution server returns the attribution data.
  • Step 4: The attribution data is returned as key-value pairs in field format that correspond to the AD series in the Apple Search Ads AD series Management API.

1) Obtain token (Objective-C)

#import <AdServices/AdServices.h>

- (void) methodToGetToken {
    if (@available(iOS 14.3, *)) {
        NSError *error;
        NSString *token = [AAAttribution attributionTokenWithError:&error];
        if(token ! =nil) {
          // Send a POST request for attribution data}}else {
        // Fallback on earlier versions}}Copy the code

2) Get attribution data (Objective-C)

- (void) attributionWithToken:(NSString *)token {
    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
    NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
    NSURL *url = [NSURL URLWithString:@"https://api-adservices.apple.com/api/v1/"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
                                                           cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval:60.0];
    [request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPMethod:@"POST"];
    NSData* postData = [token dataUsingEncoding:NSUTF8StringEncoding];
    [request setHTTPBody:postData];
    NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        NSError *resError;
        NSMutableDictionary *resDic = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&resError];
    }];
    [postDataTask resume];
}
Copy the code

Returns an example of an attribution packet

{
  "orgId":1234567890."campaignId":1234567890."conversionType":"Download"."clickDate":"2021-01-11T06:41Z"."adGroupId":1234567890."countryOrRegion":"US"."keywordId":12323222."creativeSetId":1234567890."attribution":true
}
Copy the code

iAd Framework(Attribution schemes before iOS14.3)

IAd Framework Is used to obtain the ASA attribution of application installation. After the user completes the App installation and opens it, the USER can obtain the ASA attribution of the installation through the iAd Framework: keywords from which campaign the installation comes, materials, click time, etc. Obtaining this attribution data requires the idFA permission above

Attribution data reporting needs to meet the following conditions:

  • All operations must occur on the same device.
  • Attribution is only available to users running iOS 10 or higher and who have downloaded the app in the past 30 days.
  • You must download or re-download from the App Store list or the Apple Search Ads display.
// Check for iOS 10 attribution implementation
if ([[ADClient sharedClient] respondsToSelector:@selector(requestAttributionDetailsWithBlock:)]) { 
NSLog(@"iOS 10 call exists"); 
[[ADClient sharedClient] requestAttributionDetailsWithBlock:^(NSDictionary *attributionDetails, NSError *error) { 
// Look inside of the returned dictionary for all attribution details
NSLog(@"Attribution Dictionary: %@", attributionDetails); 
}];
}
Copy the code
{ 
"Version3.1" = { 
"iad-attribution" = true; 
"iad-org-name" = "org name";
"iad-org-id" = "555555";
"iad-campaign-id" = "12345678"; 
"iad-campaign-name" = "campaign name"; 
"iad-purchase-date" = "2020-08-04T17:18:07Z" 
"iad-conversion-date" = "2020-08-04T17:18:07Z"; 
"iad-conversion-type" = "newdownload"; 
"iad-click-date" = "2020-08-04T17:17:00Z"; 
"iad-adgroup-id" = "12345678"; 
"iad-adgroup-name" = "adgroup name"; 
"iad-country-or-region" = "US"; 
"iad-keyword" = "keyword";
"iad-keyword-id" = "12345678";
"iad-keyword-matchtype" = "Broad";
"iad-creativeset-id" = "12345678";
"iad-creativeset-name" = "Creative Set name";
}
 
14.3{after"orgId":1234567890."campaignId":1234567890."conversionType":"Download"."clickDate":"2021-01-11T06:41Z"."adGroupId":1234567890."countryOrRegion":"US"."keywordId":12323222."creativeSetId":1234567890."attribution":true
}
  
Copy the code

This section describes the impact of ATT, iAd, SKAdNetwork, and AdServices FrameWork

AdSupport

Reference: https//developer.apple.com/documentation/adsupport

Before iOS14, tracking AD performance was mostly done through IDFA; AdSupport is used to obtain THE IDFA, which determines whether the current device has relevant permissions. Previously, idFA permissions can be controlled globally in Settings; The new version of iOS supports app-level rights management (ATT Framework).

- (NSString *)getIdfa {
    NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
    return idfa;
}
Copy the code

AppTrackingTransparency framework

Reference links:

Since iOS 14, Apple has introduced a mandatory App Tracking Transparency(ATT) policy that requires developers to explicitly ask user permission. 14.5 is mandatory; Closed IDFA hidden in the system Settings, is directly pushed to the foreground. With the popularity of iOS 14.5, the acquisition rate of effective IDFA is likely to drop to 10-50%, which will have a huge impact on the accuracy attribution of effective ads.

 if (@available(iOS 14, *)) {
        __typeof__(self) weakSelf = self;
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
           
            dispatch_async(dispatch_get_main_queue(), ^{
                [weakSelf refreshStatus];
            });
        }];
    }
Copy the code

iAd Framework

Reference documentation

Used to get the ASA attribution of the application installation. After the user completes the App installation and opens it, the USER can obtain the ASA attribution of the installation through the iAd Framework: keywords from which campaign the installation comes, materials, click time, etc. Obtaining this attribution data requires the idFA permission above

Note that for a single user of an App, if there is no repeated download behavior, the attribution data does not change over time and only needs to be retrieved once. This kind of attribution can be used to calculate the user’s subsequent in-app behavior caused by different keywords.

if ([[ADClient sharedClient] respondsToSelector:@selector(requestAttributionDetailsWithBlock:)]) { [[ADClient sharedClient] requestAttributionDetailsWithBlock:^(NSDictionary *attributionDetails, NSError *error) {if (error == nil) {// attributionDetails is correct success(attributionDetails);} else {// attributionDetails is incorrect gError = error;}}]; }Copy the code

AdServices framework

New features in iOS 14.3+. Similar to iAd framework, it also obtains the attribution data of application installation. Unlike iAd, it does not require IDFA authorization, but uses temporary token to obtain the attribution data:

  1. Request AdServices Framework for temporary token (valid within 24h)
  2. Use the token to obtain attribution data

The data returned in this way does not contain user behavior data (click time), only the installation attribution. If ATT is authorized to do so, the user click time will only be included in the attribution data.

#import <AdServices/ adservices. h> - (void) methodtToken {if (@available(iOS 14.3, *)) {NSError *error; NSString *token = [AAAttribution attributionTokenWithError:&error]; if (token ! Else {// Fallback on earlier versions}} else {// Fallback on earlier versions}}Copy the code

Refer to the article I wrote yesterday: Direct Link: Apple search Advertising ASA Notes (middle)

SKAdNetwork

Reference links: developer.apple.com/documentati…

SKAdNetwork is another set of AD attribution framework different from iAd, similar to Google’s AD alliance: some Apps act as Source Apps, providing AD space within the App; Ad Network assigns ads to Ad space in these Source Apps; Advertised Apps that need to be promoted can be Advertised through Ad network. After the user clicks on the advertisement, the corresponding App is installed and opened, the attribution will be triggered and data will be sent to the network (this part of data should also be available to the advertiser).

If (@ the available (iOS 11.3, *)) {[SKAdNetwork registerAppForAdNetworkAttribution]; }Copy the code

reference

searchads.apple.com/cn/

zhuanlan.zhihu.com/p/42119163

Developer.apple.com/documentati…

www.aiyingli.com/34522.html

www.cifnews.com/article/799…

Lbadvisor.com/docs/apple-…

www.aiyingli.com/34522.html

www.cifnews.com/article/799…

Blog.csdn.net/shaobo8910/…

Lbadvisor.com/docs/apple-…

www.jianshu.com/p/bdd451f44…

zhuanlan.zhihu.com/p/346497767