ローマン・ガーバー
2020年8月19日
その1ヶ月前、 iOS 14のリリース, 、今後どうなるかについては、依然として多くの憶測が飛び交っているが、 MMPs. 彼らの役割はどの程度変化するのでしょうか?iOSではもはやユーザーレベルの詳細なデータが得られなくなったとしても、広告主は依然として、追跡された有料インストール1件につき1~5セントを支払うことに納得するのでしょうか? Appleのドキュメントには一切言及されていませんが、AppleはMMPによるコンバージョン値の検証を許可するのでしょうか? これらの疑問点は不明確ですが、私たちはMMPを介さずに、開発者が今日から実行できる対策に取り組むことにしました。.
私たちは、モバイル成長支援エージェンシーの共同創業者にインタビューを行いました 2ndPotion, ケビン・ブラボー, 、Appleが公式に公開している、開発者が今すぐ活用できる機能についてお話しします。ケビンは、AppleのSKAdNetworkと連携する初のオープンソースソリューションを開発しました。その名は エリクサー, ……だから、彼がこういう会話にはうってつけだということはわかっている。.
今日はケビンと一緒に、以下の内容について取り上げます。.
1) 開発者およびゲームデザイナーの皆様へ, iOSのポップアップで、ユーザーのIDFAを共有することへの同意が求められます – AppTrackingTransparency メソッド。.
2) 開発者の皆様へ, 、Appleの新しいアトリビューション・フレームワークの概要―― SKAdNetwork.
2.1) 開発者の皆様へ, インストール数の帰属 – 統合 registerAppForAdNetworkAttribution()メソッド
2.2) 開発者の皆様へ, インストール後のイベントを割り当てる – 統合 updateConversionValue(_:)メソッド
2.3) UAのマネージャー各位, Appleが広告ネットワークに対してインストールやインストール後のイベントをどのように報告しているかを理解する – ポストバックとタイマー
3) チーム全員でブレインストーミングを行うために, 、これ以上のものがあるだろうか – ベストプラクティスと現在の課題
1) ユーザーにIDFAの共有を依頼する – 統合 アプリ追跡の透明性
ケビン: AppTrackingTransparencyは、iOS 14向けに提供されているフレームワークであり、アプリ開発者がユーザーへの追跡許可を求めることを可能にするものです。この許可は、アトリビューションの目的でユーザーのIDFAにアクセスするために必要です。.
これを統合して使用するには、以下のポップアップを表示して、ユーザーにIDFAへのアクセスを促す必要があります:
ユーザーがトラッキングに同意した場合、そのユーザーのIDFAを取得できるようになります。同意しない場合は、IDFAは「0000-0000-0000-0000」となります。.
ユーザーがLAT(広告追跡制限)を有効にしている場合、許可を求めることはできない点にご注意ください。.
Q: ネイティブポップアップは何度表示できますか?
ケビン: 1台のデバイスにつき、1回のみ表示できます。.
Q: 最初に同意が拒否された場合、再度ユーザーの同意を求めることはできますか?
ケビン: ユーザーがすでにこのポップアップを表示している場合、再度表示することはできません。.
Q: ネイティブのポップアップよりも先に、独自のポップアップを表示することはできますか?
ケビン: このポップアップを表示するタイミングは自由に決めることができます。つまり、その前に別のポップアップを表示することも可能です。.
こうすることで、ユーザーがカスタム許可ポップアップに対して「はい」と回答した場合にのみ、そのポップアップを表示するように設定できます。.
この戦略は、すでに多くの企業がプッシュ通知のリクエストに活用しており、許可を求める2度目の機会を得るのに役立ちます。.
Q: アプリ開発者が「AppTrackingTransparency」を実装しなかった場合、どうなりますか?
ケビン: IDFAの取得を希望しない、あるいは必要ない場合は、このポップアップを表示しないように設定できます。.
つまり、ユーザーのIDFAにはアクセスできなくなり(0000-0000-0000-0000と表示されます)、広告ネットワークも同様にIDFAにアクセスできなくなります。.
2) Appleの新しいアトリビューション・フレームワークの概要 – SKAdNetwork
ケビン: Appleは、「」という匿名化されたアトリビューションソリューションを提供しています。 SKADNetwork, これにより、ユーザーの匿名性を損なうことなく、アプリがさまざまな広告ネットワークからのインストールを追跡し続けることが可能になります。.
SKADNetwork を使用する場合、広告のクリックごとに署名が添付されます。ユーザーがアプリを初めて起動した際、Apple はこの署名を用いて、そのユーザーが特定の広告から流入したかどうかを確認できるようになります。.
その後、新規インストールをアトリビューションするために、ポストバックがアドネットワークに送信されます。.
この署名には識別情報が一切含まれていないため、インストールを特定のユーザーに紐付けることが不可能となり、プライバシーを最大限に保護しています。.
SKADNetwork を統合するには、次の 2 つのメソッドを呼び出す必要があります:
- registerAppForAdNetworkAttribution(): このメソッドは初回起動時に呼び出し、ユーザーのアトリビューション登録を行う必要があります。ユーザーがサインイン済みの広告から流入した場合、数時間以内にポストバックが発生し、このアプリインストールが広告ネットワークに通知されます。.
- updateConversionValue(_:) このメソッドは、この特定のユーザーに紐付けられた変換値を更新したいたびに呼び出す必要があります。このメソッドは何度でも呼び出すことができますが、変換値が前回の値よりも大きい場合にのみ更新されます。.
広告による収益化を行うには、開発者は事前に収益化に使用する広告ネットワークを決定し、以下に指定されているとおり、plist を通じてアプリ内でそれらを指定する必要があります。 このドキュメント.
2.1) 属性のインストール – 統合 registerAppForAdNetworkAttribution
ケビン: アプリを初めて起動する際に `registerAppForAdNetworkAttribution` を呼び出すだけで、SKADNetwork によるアプリインストールアトリビューションを有効にするために必要なすべての設定が完了します。.
ただし、インストール帰属の追跡が可能になるのは、広告ネットワークがSKADNetworkを使用して広告に署名している場合に限られます。.
広告に関しては、開発者は、アトリビューションやポストバックを可能にするため、広告ネットワーク側がSKADNetworkを統合していることを確認する必要があります。.
利便性を高めるため、利用可能なすべての広告ネットワークIDの一覧を用意しています こちら.
2.2) インストール後のイベントの属性設定 – 統合 updateConversionValue(_:)
ケビン: 特定のインストールにコンバージョン値を割り当てることができます。この値は0から63までの数値です。.
これは、その特定のユーザーを特定する手段を提供することなく、そのユーザーがどれほど価値があるかを理解するのに役立つ「指標」です。.
広告ネットワークは、この情報を活用して、各インストールが貴社のビジネスにとってどれほどの価値があるかを把握することができます。この指標により、広告ネットワークは、広告を配信するより適切なターゲット層を特定し、キャンペーンのパフォーマンスを向上させることができます。.
Q: updateConversionValue(_:) はどのような場合に使用すべきですか?
ケビン: 同じユーザーに対してコンバージョン値は複数回更新できますが、いくつかの制限があります:
- コンバージョン値は、前回の呼び出し値よりも大きい値でのみ更新できます(1→2は可能ですが、3→2は不可)。
- 0~63の範囲内の値
コンバージョン値を活用すべき理由は、それが広告ネットワークに有益なシグナルを提供するからです。また、これにより、
- 特定のキャンペーン/チャネル/国からのインストール後、アプリ内での重要な行動を分析する
- 広告ネットワークに追加のデータポイントを提供することで、ゲームにとって価値のあるコホートを特定し、キャンペーンのパフォーマンスを最適化することができます。.
SKADNetworkを最大限に活用するためには、各コンバージョン値をどのように定義するかを検討する必要があります。.
コンバージョン値の管理には、さまざまなアプローチがあります:
- 収益の追跡
- 例:換算値 1 は 0.1 ユーロ、50 は 5.0 ユーロ
- 陸上競技
- 例:level1_completed = 変換値 1
- 収益と進捗イベントを追跡する
- 例:コンバージョン値 10 = lvl5_completed かつ 1EUR の利用
- など。.
「収益」および「進捗」イベントについては、追跡対象となる各イベントを定義し、送信するコンバージョン値を確認できる変換表を作成しました。.
スプレッドシートをご覧いただければお分かりのように、イベントをコンバージョン値に変換するためにバイナリデータを使用しています:
- 各変換値は、6つの2進値のセットに対応します。.
- 最初の 3 つのバイナリ値は、この特定のユーザーの収益を表しています(例:購入額 > 10$ = 「101」)。
- 最後の3つの2進数値は進行状況を表しています(例:10レベルクリア=「011」)。
- 2組の2進値を組み合わせることで、変換値が得られます(例:「“101001”は変換値に変換されます 43)
スプレッドシートは以下からご覧いただけます こちら:
Q: Elixirとは何ですか?また、どのようなメリットがありますか?
ケビン: コンバージョン値はアプリからのみ送信できるため、アプリを更新せずにコンバージョン値の追跡方法を調整するのは複雑になります。.
Elixirは オープンソースのSDK これにより、変更のたびにアプリを更新することなく、コンバージョン値を定義・更新することができます。.
仕組みは次のとおりです:
- 利用可能なアプローチ(収益/混合/進捗)のいずれかを使用して、変換テーブルを定義します。
- それをJSON形式でサーバーに保存します
- Elixir SDK を統合し、アプリ内で利用可能なすべてのイベントを追跡します
- 初回起動時、Elixir SDKはJSONをリクエストし、変換値をユーザーの操作とリアルタイムで照合します
- Elixir SDK は、作成したテーブルに基づいて conversionValue を更新します
その例は、 変換表 JSON. これは、各ユーザーのアクション後に追跡すべき変換値を生成するために、Elixir が読み込んだドキュメントです。.
現在、利用可能なテーブルの種類は1つだけです (表へのリンク) Elixir用です。開発者がプロジェクトで共同作業を行うにつれて、あらゆるモデル(広告収益のバイナリ、タイムスタンプ、地理情報など)を容易に網羅できるようになります。
2.3) Appleが広告ネットワークに対してインストールおよびインストール後のイベントをどのように報告しているかを理解する – ポストバックとタイマー
Q: `updateConversionValue(_:)` におけるポストバックタイマーの仕組みについて説明していただけますか?
ケビン: ポストバックのスケジュール設定方法には、さらに複雑な側面があります。.
2つのタイマーは、次のように発生します。
- 24時間タイマー: 複数回リセットされ、タイマーの間隔は24時間固定。
- ランダムタイマー:一度開始すると、リセットすることはできません。継続時間は0~24時間の範囲でランダムに決定されます。
registerAppForAdNetworkAttribution() を実行すると、24時間のタイマーが開始されます。もし、 updateConversionValue(_:), タイマー1はゼロにリセットされ、再びカウントを開始します。.
発砲するたびに updateConversionValue(_:), 24時間タイマーがリセットされます。.
もし解雇しなかったとしたら updateConversionValue(_:) 24時間のタイマーが切れる前に、ランダムなタイマーが開始されます。ランダムなタイマーが開始されると、変換値を更新することはできなくなります。.
ランダムタイマーが終了すると、ポストバックが広告ネットワークに送信されます。このポストバックには、コンバージョン値が含まれる場合と含まれない場合があります(含まれる場合、その値はこの特定のユーザーに対して最後に設定された値となります)。
Appleのドキュメントでは、updateConversionValueに関する時間制限や発生回数の制限については明記されていません。つまり、ユーザーが24時間ごとにアクセスする限り、新しいconversionValueを最大63回まで送信することができます(「updateConversionValue(_:)はいつ使用すべきか?」という質問に記載されている制限に基づきます)。.
Q: 広告ネットワークはSKADNetworkからどのようなデータを受け取っているのですか?
ケビン: アドネットワークには、インストールごとに次のような形式のポストバックが送信されます:
一部の値はオプション(例:変換値)であり、ポストバックに含まれない場合があります。.
このポストバックの詳細や、広告ネットワークが各インストールの正当性を確認する方法については、 こちら.
3) ベストプラクティスと現在の課題
Q: updateConversionValue(_:) を使用する際、どのような点に注意すべきですか?
ケビン: ユーザーが初回セッションおよびその後の1~3日間に実行できる、最も価値の高いアクションを特定する必要があります。.
価値あるイベントは、アプリ内でのユーザーのエンゲージメントを測る良い指標となります。その中でも、購入は最も有力な指標と言えます。.
次に、イベントを信号レベルの低いものから高いものの順に並べ替えてください。このイベントの一覧は、変換テーブルを定義する際に役立ちます。.
Q: 開発者がSKAdNetworkを利用する際、他にどのような課題に直面する可能性がありますか?
ケビン: SKADNetworkを利用する際には、さまざまな課題に直面することになります:
– インストール日時を管理する: SKADNetworkでは、アドネットワークへのポストバック送信時刻がランダム化されており、インストール時刻のタイムスタンプは含まれていません。そのため、インストールがいつ発生したかを特定するのは困難です。さらに、最初の24時間経過後にコンバージョン値を送信することにした場合は、その判断はさらに難しくなります。.
コンバージョン値の更新を停止するまでの期間が長ければ長いほど、インストール可能な時間枠は広がります。.
解決策の一つとして、変換値のビットの一部を使用してインストール日を定義し、変換値を更新する日数を制限する方法が考えられます(例:3日間)。.
– データの取得/署名の検証: 現時点では、インストール・ポストバックにアクセスできるのは広告ネットワークのみとなります。どの広告ネットワークが広告主に対してSKADNetworkデータのアクセスを許可するかは、まだ不明です。このデータをリクエストすることは、以下のことが可能になるため極めて重要となります。 署名を用いてインストールが正規のものであることを確認する.
– IDFAのアトリビューション管理とSKADNetwork: SKADNetworkと連携しながら、IDFA追跡にオプトインしたユーザーレベルのアトリビューションを継続的に測定するにはどうすればよいでしょうか?この混合モデルは複雑になるため、インストールログの重複を回避するには、優れたワークフローが必要となります。.


