WOPAN

iOS 広告アトリビューションの解説:マッチングアトリビューション、リンクアトリビューション、iOS SKAdNetwork アトリビューション(パート 1)

周知の通り、2020年のWWDC(世界開発者会議)において、AppleはiOS 14以降、IDFA認証をデバイスレベルからアプリレベルに移行すると発表しました。そのため、ユーザーはアプリごとに認証を行う必要があります。つまり、ユーザーの許可がなければ、データはターゲティング広告に利用できず、広告主はユーザー情報を共有できないため、これまでIDFAを通じて実現できていた広告アトリビューションやパフォーマンス測定はほぼ不可能になります。

 

新しいプライバシー方式では、新しいアプリがインストールされるたびに、ユーザーはアプリが IDFA を取得することを承認する必要があります。承認しないと、画像に示すように、アプリは iOS IDFA を取得できません。

 



IDFA がないということは、アトリビューションが不可能であることを意味しますか?


答えは明らかに「ノー」です!AppleはSKAdNetwork(SKはStoreKitの略)と呼ばれる新しいアトリビューションスキームを提供しています。このアトリビューションスキームを理解するには、まずアトリビューションの基本的なロジックを理解する必要があります。


広告アトリビューションには、リンクベースのアトリビューションとマッピングベースのアトリビューションの 2 種類があります。

 

  • マッピングスタイルの広告帰属


名前の通り、アトリビューションは固有のデバイスIDを照合することで行われます。このアトリビューション手法では、デバイスIDに厳格な要件が課されます。デバイスIDは、固有で永続的であり、容易に取得できるものでなければなりません。詳細な説明については、「 APPアトリビューションサイエンスの普及:アトリビューションの核心 - ユーザーIDの説明」をご覧ください。


マッピングベースのアトリビューションを使用する理由は、広告コンバージョンチェーンにおけるトラッキングID情報を透過的に伝達できず、広告ライフサイクルを閉じることができないためです。(下図参照) 



この広告プロセスでは、広告トラッキングIDはGoogle PlayやApp Storeなどのアプリストアが呼び出されるまでしか追跡できません。アプリのアクティベーションという重要なステップ(図の4番目のラベル)では、トラッキングIDを渡すことができる共通のシステムコンポーネントやAPIは存在しません。

 

したがって、広告のアトリビューションを行うには、マッピングマッチングが唯一の方法です。マッピングマッチングでは、特定のアトリビューション期間内でデバイスIDをマッチングし、通常はラストクリックアトリビューションモデルが使用されます。マッピングベースのアトリビューションでは、一意かつ普遍的なデバイスIDが非常に重要になります。

 

  • リンクベースの広告アトリビューション

これは、広告の主要なリンクに固有のトラッキングID(または署名情報)を追加することを指します。このトラッキングIDは、広告のインプレッション、クリック、ランディングページへのリダイレクト、コンバージョンを結び付け、広告ジャーニーにおける完全なアトリビューションとクローズドループを実現します。

 

リンクベースのアトリビューションはデバイスIDに依存せず、固有のトラッキングIDまたは署名のみを必要とします。(下図を参照)


プロセス全体にわたる完全なアトリビューションを可能にする核となる要素は、広告インプレッションからコンバージョンに至るまで、トラッキングIDを送信できる基盤モジュールの存在です。例えば、外部リンク広告の場合、ブラウザコンポーネントがこの機能を提供できます。したがって、Web広告のアトリビューションは、フォーム入力やWeb注文の購入など、基本的にトラッキングIDを通じて行われると言えます。

 

したがって、アプリケーションのアトリビューションのシナリオに戻ると、システムが広告のコアとなる重要なリンクから広告主のアプリケーションに追跡 ID を継続的に渡すための特定の API インターフェイスを提供する限り、アトリビューション プロセス全体は実際にはデバイス ID に依存しません。

 

上記のプロセス原理からわかるように、リンクベースのアトリビューションでは、ユーザーIDの識別が不要になり、関連するアトリビューショントラッキングIDのみが必要になります。AppleのSK AdNetworkはこのアプローチを採用しています。

 

  • SKAdNetworkの原理と具体的なロジック

 

現在、SKAdNetwork 2.2 は、ビュースルー広告と StoreKit レンダリング広告 (App Store レンダリング広告。クリックすると App Store の Web ページまたはクライアント アプリケーションのランディング ページにジャンプする広告) をサポートしています。


StoreKitでレンダリングされる広告は、主にチェーンベースのアトリビューションを使用します。AppleのiOSシステムからIDFAが削除されたため、アプリのアトリビューションはシステムが提供するトラッキングID(シグネチャ)を通じて行われるようになりました。下の図をご覧ください。


注: 上記の画像は Apple の開発者 Web サイトからのものです。

 

最初のステップは、広告アプリケーションへの署名です。広告ネットワークは、メディアから広告リクエストを受信すると、広告アプリケーションに署名します(これは、広告トラッキングIDを生成することと解釈できます)。

 

2つ目のステップでは、広告が表示される直前にシステムの`loadProduct(withParameters:completionBlock:)`関数を呼び出します。これにより、App Storeのウェブまたはクライアントサイドインターフェースから広告のランディングページがプリロードされます。これにより、広告の表示速度が向上し、同時に広告のアプリケーション関連の署名情報と広告ネットワークIDがApp Storeに送信されます。

 

3 番目のステップでは、ユーザーが広告をクリックしたときに、App Store クライアントの広告アプリケーション ページまたは Web ページを起動し、同時に署名と広告ネットワーク ID 情報を送信します。

 

4つ目のステップでは、広告主がアクティベーション通知を送信します。広告主のアプリがインストールされ、アクティベートされると、システム関数を呼び出してアプリケーションのインストール検証通知を開始する必要があります。具体的には、`registerAppForAdNetworkAttribution()` または `updateConversionValue(_:)` メソッドを呼び出します。これは、広告のインストール、アクティベーション、コンバージョンに関する情報を広告プラットフォームに送信するためです。デフォルトでは、この時点で24時間のタイマーが開始されます。この時間以降にインストール検証通知を呼び出すと無効になります。もちろん、広告主は `updateConversionValue(_:)` を呼び出すことでコンバージョン値を更新し、タイマーを再開することができます。

 

5つ目のステップでは、広告プラットフォームがアクティベーション情報とコンバージョン情報を受け取ります。ユーザーが広告対象のアプリケーション(App)をインストールして起動すると、広告主は`registerAppForAdNetworkAttribution()`または`updateConversionValue(_:)`を呼び出します。これらの呼び出しにより、アクティベーション情報とコンバージョン情報が広告プラットフォームに登録されているポストバックURLに送信されます。アクティベーション情報とコンバージョン通知を受け取った広告プラットフォームは、これらの情報を確認し、広告ライフサイクルを完了します。

 

上記のプロセスフローからわかるように、このアトリビューションはシステムのプライベートユーザーIDとはまったく独立しています。重要なのは、システムがStorekitと対応するAPIを提供していることです。これにより、広告表示から広告のアクティベーション、コンバージョンに至るまで、広告シグネチャ情報を伝達することが可能になります。

 

このリンク帰属スキームに関与する各当事者の責任は次のとおりです。


I. 広告プラットフォームまたは広告ネットワークの責任

  1. 広告キャンペーン中の帰属検証用のさまざまな API で使用するために、Apple にネットワーク ID を登録します。

  2. トラフィックメディア側アプリ(ソースアプリ)に署名付き広告アプリケーションを提供します。

  3. 登録されたポストバック URL を介して広告主からアクティベーションおよびコンバージョン情報を受け取ります。

  4. 広告主から返送された情報が受信されたことの確認。

 

II. メディアアプリ(ソースアプリ)

  1. 広告ネットワーク ID をメディア アプリケーションの Info.plist ファイルに追加する必要があります。

  2. 署名付き広告を表示します。

 

III.広告対象アプリの責任:

  1. アプリケーションがインストールされアクティブ化されたら、システム API の registerAppForAdNetworkAttribution() または updateConversionValue(_:) を呼び出して、アクティブ化の帰属情報を送信します。

  2. アプリケーションバックエンドのコンバージョン値を更新するには、updateConversionValue(_:) を呼び出します。これはオプション機能であり、広告主は実際の状況に応じて使用するかどうかを決定できます。

 

Appleは、アプリのアトリビューションとして、StoreKitレンダリング広告(App Storeのレンダリングに基づく)とビュースルー広告(露出広告アトリビューション)を提供しています。詳細については後ほど説明します。


このアプローチは広告の帰属に対処できますが広告プラットフォームに対する透明性が欠如しており、広告IDをリンクして統合できないため、モデルとユーザー プロファイルに重大な影響が及ぶことは避けられません。

 

上記のSKAdNetworkに関する情報は、Appleの公式開発者ウェブサイト( https://developer.apple.com/documentation/storekit/skadnetwork )から引用し、アプリ広告のアトリビューションに関する私の理解に基づいて解釈したものです。私の理解力と英語力には限界があるため、誤りや抜け漏れがある可能性があります。ご指摘いただければ幸いです。