SKAN連携ガイド:アドネットワーク向け

概要:このページでは、SKAdNetwork (SKAN) におけるアドネットワークとAppsFlyerの連携方法、キャンペーンの最適化の方法や各アドネットワークが生み出したトラフィックに成果を紐付ける方法などを記載しています。 

AppsFlyerが提供するもの

参考:広告主向けのSKAdNetworkソリューション

SKANソリューションガイド|SKANダッシュボード 

  • キャンペーンの成果紐付け:
    • AppsFlyerとのSKAd連携により、SKAdNetworkによって計測されたインストール、アプリ内イベント、収益といった情報を、弊社SKAdNetworkの管理画面上でご自身のアドネットワークの成果として紐付けることが可能になります。
    • SKAd連携が行われていない場合、インストール、アプリ内イベント、収益といった情報はアドネットワークへは紐付けられず、すべてオーガニックとして計測されます。
  • キャンペーンの最適化の手助け:
    • ポストバックに含まれているコンバージョン値はエンコードされています。
    • AppsFlyerと連携することで各ポストバックに含まれているコンバージョン値を解読することができるので、アプリ毎に解読されたコンバージョン値の情報に基づいて、アドネットワーク側でキャンペーンの最適化に活用できるようになります。
  • 各広告主との直接連携が不要:
    SKANのポストバックはアドネットワークにのみ送信され、広告主は以下のいずれかの方法でデータを取得できます:
    • 各アドネットワークとの個別連携。
      (アドネットワークと広告主、双方にとって拡張性のないソリューション) 
    • AppsFlyerとの単一連携。
      (アドネットワークと広告主、双方にとって容易で拡張性のあるソリューション)
  • AppsFlyer上でもSKAdNetworkの連携状況をアピール:
    • SKAdNetworkの連携が完了したアドネットワークは、AppsFlyerの管理画面上でもその認証が付与されます。
    • この認証表示により、SKAdNetworkによる計測をサポートしたアドネットワークを使用していることを、各広告主は確認できるようになります。

SKAdNetworkのデータフロー

5754_Postback_flow_for_SKAD__1_.png

SKANのポストバックの全体像は以下のような流れになっています:

  1. iOSから成果を獲得したアドネットワークに対して、SKANのポストバックが送信されます。
  2. アドネットワークは以下のいずれかの作業を行います:
    • データの追加と転送:受け取ったSKANのポストバックに、アドネットワークのcampaign ID / ソース識別子、キャンペーン名、iOS端末のIPアドレスを追加して、AppsFlyerへ転送。 
    • リダイレクト:アドネットワークからiOS端末に対して、SKAdNetworkのポストバックを直接AppsFlyerに対してリダイレクトするようリクエスト。(この場合、キャンペーン情報の追加はAppsFlyerとアドネットワーク間での別のAPIを介して行われます。)
  3. AppsFlyerは受け取ったSKAdNetworkのポストバックを検証・解読し、再度、その解読し情報を追加したポストバックをアドネットワークへ送信します。(広告主側へも管理画面上で情報が提供されます。)

連携について

この記事でも記載しているように、AppsFlyerとアドネットワークのSKAdNetworkの連携は、以下の2つのパートから構成されています。

  • アドネットワークが、SKAdNetworkのデータをAppsFlyerへ送信する。
  • アドネットワークが、解読され情報が追加されたSKAdNetworkのデータをAppsFlyerからポストバックで受け取る。

AppsFlyerへのデータ送信

iOS端末からSKANのポストバックを受け取った後、 アドネットワークは以下のどちらかの方法を使ってAppsFlyerへその情報を転送する必要があります。

  • A:データの追加と転送 (POST)
  • B:リダイレクト (HTTP 307でのリダイレクト)

そのSKANのポストバックを受信すると、AppsFlyerは以下の処理を実行します。

  • ポストバックの検証:重複せずユニークであることを確認します。
  • コンバージョン値の解読:媒体に紐付くインストールとアプリ内イベントの記録を生成します。
  • データの返信:解読したポストバックの情報をアドネットワークに送信します。
  • 管理画面反映:広告主が利用する管理画面とレポートに、SKAdNetworkのデータを表示します。

A:データ追加と転送

この方法を使用する場合、アドネットワークがiOS端末から受け取ったSKAdの各ポストバックをAppsFlyerへ転送することになります。

アドネットワークは:

  • iOS端末からSKAdのポストバックを受信します
  • [必須]ポストバックへ以下内容を追加してください:
    • アドネットワークのキャンペーンIDとキャンペーン名
    • iOS端末から送信されたポストバックのタイムスタンプ
  • [任意]ポストバックへの以下内容の追加は任意です:
    • iOS端末から受信したIPアドレス(主に地理的情報の目的で必要) 
    • Adset Name と Adset ID
    • Ad Name と Ad ID
    • アドネットワーク名
    • 国コード
    • ソースアプリID
    • クリエイティブ
    • Channel
  • ポストバックをAppsFlyerへ送信
  • 注意!ポストバックをAppsFlyerに送信する前に、送信するポストバックの内容を使ってAppleのAttribution Signatureを検証し、データを誤って改変してしまっていないか確認してください。 

SKAdNetworkのデータ追加ポストバックのプロトコル

エンドポイント

https://skadpostbacks.appsflyer.com/api/postbacks

HTTP メソッド POST
受け入れ可能なcontent types application/json
返されるコード

200 OK:受信したポストバックは有効なフォーマットです。

400:不正なリクエスト:不正な形式のJSON、空のJSONデータ、必須な値の欠損など

SKAdNetworkのデータ追加ポストバックのJSONパラメータ一覧

パラメータ名

形式

説明

データソース

version String

SKAdNetworkのversion

例: "version":"2.0"

SKAN postback
ad-network-id String

Ad network ID

例:"ad-network-id":" abc123defg.SKAdnetwork"

SKAN postback
ad-network-name String
  • アドネットワーク名
  • 例:ad_network_name=your_network
アドネットワーク
ad-network-country-code String
  • アドネットワークによって判別されたユーザーの位置情報
  •  ISO  3166 (alpha-2) の国コードを使用してください。
  • 例:JP, CN, ZA
  • アドネットワークではキャンペーンのターゲットとなっている配信地域に応じて、地域情報を導き出すことが多いです。  
  • AppsFlyerではレポートや管理画面上の地域情報に関する項目を埋めるために、この国コードを利用しています。
アドネットワーク
campaign-id Integer
  • SKAN 3以下のみ
  • SKAdNetwork campaign ID
  • 例: "campaign-id":23
SKAN postback
transaction-id String

SKAdNetworkポストバックのtransaction ID

SKAN postback
app-id Integer
  • AppsFlyer上に表示されている対象となるアプリIDで、常に冒頭に"id"がつきます。
  • 例:app_id=id123456789
SKAN postback
attribution-signature String SKAdNetworkによって提供されるAttribution signature SKAN postback 
redownload Boolean redownload = trueの場合、そのユーザーはストアからそのアプリを再ダウンロードしたことを意味します。 SKAN postback
source-app-id Integer SKAN postback
conversion-value Integer

AppsFlyer SDKが、広告主が事前に設定した内容に応じて設定したコンバージョン値です。

注意

  • Appleのプライバシー保護のしきい値の仕様のため、iOSでポストバック時にパラメータが入力されず、コンバージョン値の値がnullになる場合があります。
  • Null と 0 は意味が異なります。
    • Null:Appleがコンバージョン値をマスクした状態。
    • 0:ユーザーはアプリをインストールしたが、コンバージョン値に関連するイベントを何も行わなかった状態。  
SKAN postback 
ad-network-campaign-id String

アドネットワーク、広告主、AppsFlyerの3社間で共通言語を持つために、アドネットワークのCampaign IDを提供する必要があります。

アドネットワーク
ad-network-campaign-name String アドネットワークのCampaign IDに関連付けられた、アドネットワークのキャンペーン名です。(AppsFlyerの管理画面上やレポートにも表示されます。) アドネットワーク
ad-network-adset-id String

アドネットワークのアドセット単位のID

アドネットワーク
ad-network-adset-name String

アドネットワークのアドセット名

アドネットワーク
ad-network-ad-name String

アドネットワークの広告名

アドネットワーク
ad-network-ad-id String

アドネットワークの広告単位のID

アドネットワーク
ip String
  • ポストバックを送信するユーザー端末の IP アドレスです。
  • IPv4とIPv6のIPアドレスをサポートしています。
  • 例:"ip":"198.51.100.1"
アドネットワーク
timestamp String
  • アドネットワークがSKAdNetworkのポストバックを受信した時刻です。10桁のエポックUNIXタイムスタンプです。/ 13 桁のエポックタイムスタンプも受け取り可能です。
  • 例:2020年8月4日 07:25 UTC は "timestamp": "1596525944" と変換されます。
アドネットワーク
fidelity-type Integer
  • アトリビューションに影響する、広告表示方法の違いを区別します。0 / 1の値を使用して以下のように指定されます: 
    • ビュースルー広告 (0)
    • ストアキットレンダリング広告 (1)
  • SKAdNetworkのV2.2以降では必須のフィールドになります。
SKAN postback
(V2.2以上)
did-win Boolean SKAN postback
(V3.0以上)
ad-network-source-app-id String

広告を掲載しているアプリに関連付けられているパブリッシャーIDを入力します。これは通常、Appleが生成したIDではなく、媒体社がパブリッシャーに割り当てたIDです。 

アドネットワーク

postback-sequence-index

Integer
  • SKAN 4以降のみ
  • 値はシーケンス番号 (SKAN期間) を示し、012のいずれかになります。
SKAN 4.0 ポストバック (iOS 16.2)

coarse-conversion-value

String
  • SKAN 4以降のみ
  • 値は、low,medium, またはhigh
  • 最初のポストバックでは、tier 1でのみ利用できます。2回目、3回目のポストバックでは、tier 1-3で利用できます。Appleのドキュメンテーションを参照
SKAN 4.0 ポストバック (iOS 16.2)

source-identifier

String
  • SKAN 4以降のみ
  • campaign-idを置き換えます
  • 値は最大4桁です
  • 最初のポストバックでは、tier 2-3では最大4桁、tier 0-1 では2桁を使用できます。2番目と3番目のポストバックでは、tiers 1-3 では2桁を使用できます。tier 0 ではポストバックはありません。Apple のドキュメンテーションを参照

SKAN 4.0 ポストバック (iOS 16.2)

source-domain

String SKAN 4.0 ポストバック (iOS 16.2)

クリエイティブ

String
  • SKAN 4以降にのみ
  • キャンペーンの粒度を高めるために source_identifier で追加の数字を使用する場合に使用できます
アドネットワーク

channel

String
  • SKAN 4以降にのみ
  • キャンペーンの粒度を高めるために source_identifier で追加の数字を使用する場合に使用できます
アドネットワーク

Curlの例—データを追加したSKAN 3のポストバック

curl --location --request POST 'https://skadpostbacks.appsflyer.com/api/postbacks?app_id=id888707074' \
  --header 'Content-type: application/json' \
  --data-raw '{
      "version":"3.0",
      "app-id": 888707086,
      "ip": "192.0.2.0",
      "ad-network-campaign-name": "skadnetwork_abc_campaign",
      "source-app-id": 888707074,
      "ad-network-id": "abcabcabc.skadnetwork",
      "transaction-id": "68eb3d91-15f5-44ee-9267-25c7655c20b6",
      "redownload": false,
      "attribution-signature": "MDYCGQCsQ4y8d4BlYU9b8Qb9BPWPi+ixk/OiRysCGQDZZ8fpJnuqs9my8iSQVbJO/oU1AXUROYU=",
      "timestamp": "1596525944",
      "ad-network-campaign-id": "222222",
      "conversion-value": 63,
      "campaign-id": 99
  }'

Curlの例—細かいコンバージョン値でデータを追加したSKAN 4のポストバック

curl --location --request POST 'https://skadpostbacks.appsflyer.com/api/postbacks?app_id=id888707074' \
  --header 'Content-type: application/json' \
  --data-raw '{
      "version": "4.0"
      "ad-network-id": "example123.skadnetwork",
      "ad-network-campaign-name": "skadnetwork_abc_campaign",
      "ad-network-campaign-id": "222222",
      "source-identifer": "5239",
      "app-id": 525463029,
      "transaction-id": "6aafb7a5-0170-41b5-bbe4-fe71dedf1e30",
      "redownload": false,
      "source-app-id": 1234567891,
      "fidelity-type": 1, 
      "did-win": true,
      "conversion-value": 63
      "postback-sequence-index": 0
      "attribution-signature": "MEUCIGRmSMrqedNu6uaHyhVcifs118R5z/AB6cvRaKrRRHWRAiEAv96ne3dKQ5kJpbsfk4eYiePmrZUU6sQmo+7zfP/1Bxo="
  }'

Curlの例—粗いコンバージョン値でデータを追加したSKAN 4のポストバック

curl --location --request POST 'https://skadpostbacks.appsflyer.com/api/postbacks?app_id=id888707074' \
  --header 'Content-type: application/json' \
  --data-raw '{
      "version": "4.0"
      "ad-network-id": "example123.skadnetwork",
      "ad-network-campaign-name": "skadnetwork_abc_campaign",
      "ad-network-campaign-id": "222222",
      "source-identifer": "39",
      "app-id": 525463029,
      "transaction-id": "6aafb7a5-0170-41b5-bbe4-fe71dedf1e31",
      "redownload": false,
      "source-app-id": 1234567891,
      "fidelity-type": 1, 
      "did-win": true,
      "coarse-conversion-value": "high"
      "postback-sequence-index": 0
      "attribution-signature": "MEUCIQD4rX6eh38qEhuUKHdap345UbmlzA7KEZ1bhWZuYM8MJwIgMnyiiZe6heabDkGwOaKBYrUXQhKtF3P/ERHqkR/XpuA="
  }'

B:リダイレクト

Redirect_us-en__2_.png

この方法を使用する場合、アドネットワークはHTTPのリダイレクトコマンド(307)でiOS端末からのポストバックに応答し、AppsFlyerに対して直接ポストバックを送信するようにiOS端末に要求することになります: 

このリダイレクトの方法には以下の利点があります:

  • 広告主からの信頼向上: MMPは広告主の代理として行動しています。AppsFlyerに対してSKAdのポストバックへのアクセスを直接提供することで、広告主はSKAdのポストバックが転送中に操作されていないことを確信できます。
  • アドネットワーク側での処理が不要: アドネットワークはリダイレクトコマンドで(iOS端末に)応答するため、SKAdのポストバックを処理する必要がなくなります。これに対し、データ追加と転送の方式ではアドネットワークがポストバックを受け取り、各パラメーターでデータを追加して最後にAppsFlyerに転送する必要があります。

実装について

  1. HTTP 307 のレスポンスで応答するようにサーバーを設定し、ポストバックを https://skadredirect.appsflyer.com/api/redirects へリダイレクトさせてください。
  2. 以下の表に記載されているクエリパラメータを使って、キャンペーンの詳細な情報を追加してください。キャンペーン詳細を送信してもらうことで、SKAdNetworkの情報をより充実させ、広告主はキャンペーンをより効果的に最適化することが可能になります。

リダイレクトURLの例

https://skadredirect.appsflyer.com/api/redirects?
  &ad-network-campaign-id=243232&ad-network-campaign-name=yarg_campaign_name
  &ad-network-adset-name=dsdsa&creative=examplecreative&channel=channelexample

キャンペーン詳細のクエリパラメータ(必須ではないです)

クエリパラメータ

説明

ad-network-name
  • アドネットワーク名
  • 例:ad_network_name=your_network
ad-network-campaign-id Campaign ID
ad-network-campaign-name キャンペーン名
ad-network-adset-id Adset ID
ad-network-adset-name 広告セット名
ad-network-ad-id Ad ID
ad-network-ad-name 広告名
ad-network-country-code
  • アドネットワークによって判別されたユーザーの位置情報
  •  ISO  3166 (alpha-2) の国コードを使用してください。
  • 例:JP, CN, ZA
  • アドネットワークではキャンペーンのターゲットとなっている配信地域に応じて、地域情報を導き出すことが多いです。  
  • AppsFlyerではレポートや管理画面上の地域情報に関する項目を埋めるために、この国コードを利用しています。
ad-network-source-app-id 広告を掲載しているアプリに関連付けられているパブリッシャーIDを入力します。これは通常、Appleが生成したIDではなく、媒体社がパブリッシャーに割り当てたIDです。
ip
  • ポストバックを送信するユーザー端末の IP アドレスです。
  • IPv4とIPv6のIPアドレスをサポートしています。
  • 例:"ip":"198.51.100.1"
timestamp
  • アドネットワークがSKAdNetworkのポストバックを受信した時刻です。10桁のエポックUNIXタイムスタンプです。/ 13 桁のエポックタイムスタンプも受け取り可能です。
  • 例:2020年8月4日07:25 UTCは、"timestamp": "1596525944" と変換されます。
クリエイティブ
  • SKAN 4以降にのみ
  • キャンペーンの粒度を高めるために source_identifier で追加の数字を使用する場合に使用できます
channel
  • SKAN 4以降にのみ
  • キャンペーンの粒度を高めるために source_identifier で追加の数字を使用する場合に使用できます

AppsFlyerからのデータ受け取り

AppsFlyerから最初のデータを受け取る前に、以下の点を確認してください:

  • アドネットワークは、予めAppsFlyerからデータを受け取るエンドポイントとそのテンプレートを定義する必要があります(詳細は担当PDM、もしくパートナーアシスタントウィジェットを使用してご連絡ください)。
  • AppsFlyerは、既存のポストバックと同じメカニズムを使って、SKAdNetworkのポストバックをアドネットワークへ送信します。

仕組み

  • アドネットワークからAppsFlyerへ送信されたSKAdNetworkの各ポストバックについて、AppsFlyerは以下を送信します:
    • 1件のインストールのポストバック(再インストールはredownloadのパラメータで通知。) 
    • ゼロ件もしくは複数件のアプリ内イベントのポストバック。正確な件数は、コンバージョン値の変換によって変動します。詳細は模擬ポストバックを参照してください。
  • SKAdのポストバックを取得することで、同一のインストールまたはアプリ内イベントが複数のAppsFlyerの計測方法によってあなたのアドネットワークへ紐付けられる可能性があります。 attribution_source のパラメーターを使用して、ポストバックタイプを区別してください。

アドネットワークパートナーが利用できるポストバックマクロ

ポストバックマクロ名

説明

フォーマットとサンプル アプリ内イベント専用

site_id

広告を掲載しているアプリ (Source app ID)

String: 876534

 

install_time

updateConversionの期間に基づいてAppsFlyerが推定した、10桁のUNIXタイムスタンプ、もしくは通常の時刻表示の形式で提供します。

  • String: 1596119460 
  • July 30, 2020, 14:31 UTC へ変換されます。
 

skadnetwork_ad_network_time

アドネットワークがiOS端末からポストバックを受信した時刻です。アドネットワークによって報告されたもので、10桁のUNIXタイムスタンプ、もしくは通常の時刻表示の形式で提供します。

  • String: 1596119460 
  • July 30, 2020, 14:31 UTC へ変換されます。



 


skadnetwork_received_time

AppsFlyerがアドネットワークからポストバックを受け取った時間で、10桁のUNIXタイムスタンプ、もしくは通常の時刻表示の形式で提供します。

 

  • String: 1596119460 
  • July 30, 2020, 14:31 UTC へ変換されます。

 

event_name

イベント名

  • af_skadnetwork_revenue
  • af_login
  • af_skadnetwork_revenue
  • または広告主が設定したもの

String: af_skadnetwork_revenue, abc123

 

はい

revenue

指定された通貨コードを使用した収益金額です。

Number: 5, 20, 0.4

はい

currency

広告主によって設定された、アプリ固有の通貨コード。

String: EUR, USD, ZAR

はい

attribution_source

計測データのソース:

SKAdNetwork: SKAdNetwork

String: SKAdNetwork

 

app_id

App ID (広告主アプリ)

String: ID123456790

 

country

アドネットワークによって決定されてたインストール時に位置(国)情報

String: US, UK, ZA 

 

campaign

アドネットワークからのポストバック時に送信された、ad-network-campaign-nameのパラメータで設定されたキャンペーン名です。

String: UA_US_23+

 

campaign_id

アドネットワークからのポストバック時に送信される、ad-network-campaign-idのパラメータで設定された、アドネットワークのキャンペーンIDです。
注意:SKAN4の場合、この値は常にnullになります。

String: 3456745

 

redownload

入る値: true もしくは false

redownload = trueの場合、そのユーザーはストアからそのアプリを再ダウンロードしたことを意味します。

Boolean: true, false

 

skadnetwork_ambiguous_event

広告主が管理画面上でSKANの設定を変更してから最初の72時間以内に受信したイベントです。SKANで採用されている様々なタイマーの仕様により、AppsFlyerではこのイベントを正確にマッピングすることはできません。

Boolean: true, false

 

skadnetwork_campaign_id

元々のSKANのポストバックで提供された、SKANのキャンペーンIDです。

56, 23

 

af_skadnetwork_nonce

重複したポストバックを識別できるようにする、ユニークな識別子です。

 

 

event_id

アドネットワークのプラットフォーム上で発生した イベント と照合するための名称またはIDです

 

はい

transaction_id

SKAdNetworkポストバックのtransaction ID

注: 広告主は、AppsFlyerがパートナーに対してtransaction_idを共有することを明示的に許可する必要があります。広告主に 連携 タブ内で設定を行うように依頼してください。

 

 

ad_network_adset_id アドネットワークによって、iOSのポストバックに追加 String  
ad_network_adset_name アドネットワークによって、iOSのポストバックに追加 String  
ad_network_ad_name アドネットワークによって、iOSのポストバックに追加 String  
ad_network_ad_id アドネットワークによって、iOSのポストバックに追加 String  
SKAN_min_event_counter 注(1)を参照してください。

Integer

はい
SKAN_max_event_counter 注(1)を参照してください。

Integer

はい
SKAN_min_time_post-install 注(2)を参照してください。

Integer

はい
SKAN_max_time_post-install 注(2)を参照してください。

Integer

はい
SKAN_min_event_revenue 注 (3) を参照してください 実数 はい
SKAN_max_event_revenue 注 (3) を参照してください

実数 

はい
fidelity-type

アトリビューションに影響する、広告表示方法の違いを区別します。0 / 1の値を使用して以下のように指定されます: 

  • ビュースルー広告 (0)
  • ストアキットレンダリング広告 (1)
Integer  
skad_af_attribution_flag

SSOT (Single Source of Truth)のメカニズム( )を使用して、ユーザーがAppsFlyerによって成果を紐づけられたかどうかを示すために使用されます。 

Boolean  
skad_postback_sequence_index
  • 値はSKAN期間を示します (0,1, または2)
  • SKAN 3の場合、値は0です
Integer  
skad_coarse_conversion_value
  • 値は、low,medium, またはhigh

  • SKANバージョン3の場合、値は nullとなります。
String  
skad_source_identifier
  • 値は最大4桁です

  • SKANバージョン3の場合、値は nullとなります。
String  
skad_source_domain
  • 値は成果が紐づくWeb広告です。

  • SKANバージョン3の場合、値は nullとなります。
String  
ad_network_creative
  • 値は、アドネットワークから受信したデータエンリッチメントに基づきます。

  • SKANバージョン3の場合、値は nullとなります。
String  
ad_network_channel
  • SKAN 4以降にのみ
  • キャンペーンの粒度を高めるために source_identifier で追加の数字を使用する場合に使用できます
String  

注意:

  1. イベント発生回数:イベントの発生回数は以下の計算式を使って算出されます:
    [ (SKAN_min_event_counter + SKAN_max_event_counter) ÷ 2 の値の小数点切り上げ]

    注意!値は最も近い整数の値に切り上げられます。
  • 例:
    • 例1) min=0、max=1の場合、イベント発生数は1として記録されます。
    • 例2) min=0、max=10の場合、イベント発生数は5として記録されます。
  • install_timeの決定に仕様: カスタムコンバージョン値を利用している広告主の場合、AppsFlyerでは
    ポストバック到着時間 - 48h - ("min_time_post_install" + "max_time_post_install")の平均値
    をインストール時間(install_time)として計算しています。原則、アドネットワーク側ではこのマクロを利用する必要はありません。  
  • 収益金額の決定:AppsFlyerはこれらの値を使い、min と maxの合計した平均値を計算してイベントの収益を決定します。 

SKANのポストバックの例

AppsFlyerから送信される、SKANのインストールのポストバック例:

http://YourCompanyDomain.com/event?site_id=(publisher-id)&install_time=(timestamp)
  &skan_ad_network_time=(timestamp)
  &skan_af_received_time=(timestamp)
  &attribution_source=skadnetwork
  &app_id=(id123456789)&country=(ZA)&campaign=(campaign-name)
  &campaign_id=(campaign-id)&SKAN_ambiguous_event=(boolean)
&redownload=(boolean)
&af_SKAN_nonce=(uuid)

AppsFlyerから送信される、SKANのアプリ内イベントのポストバック例:

http://YourCompanyDomain.com/event?site_id=(publisher-id)&install_time=(timestamp)
  &skan_ad_network_time=(timestamp)
  &skan_af_received_time=(timestamp)&revenue=(value)
  &currency=(code)&event_name=(event-name)&attribution_source=skadnetwork
  &app_id=(id123456789)&country=(ZA)&campaign=(campaign-name)
  &campaign_id=(campaign-id)&SKAN_ambiguous_event=(boolean)
&redownload=(boolean)
&af_SKAN_nonce=(uuid)

連携テスト

AppsFlyerとの連携を検証するには、以下方法のいずれか、もしくは両方を使用してください。 

  • 実際のSKANのポストバックでテスト:アドネットワークが受け取った実際のSKANのデータを利用
  • ポストバックの模擬テスト:AppsFlyerのテストアプリを利用

実際のSKAdNetworkのポストバックをiOS端末から受け取るには、アドネットワークは以下作業を完了する必要があります:

ポストバックの模擬テストを受け取るには:

 実環境でのテスト

この方法を使用する場合、アドネットワークは広告主のアプリで実際のSKANのポストバックをAppsFlyerへ送信することになります。

連携のテスト

担当者 アクション
アドネットワーク Appleから提供されたSKAN Network IDを、担当PDMへ(もしくはパートナーアシスタントウィジェットを使用して)共有してください。
アドネットワークとAppsFlyer ポストバック連携の検証に使用する広告主(最新のAppsFlyerSDKを実装済み)について、合意形成してください。
アドネットワーク このページに記載されているいずれかの方法を使って、SKANのポストバックをAppsFlyerに送信してください。
AppsFlyer 広告主が設定したコンバージョン値の計測設定に従って、解読したポストバックをアドネットワークへ送信します。

テストの判定基準

担当者 アクション
アドネットワーク 合意形成した広告主において、指定期間中に送信したSKAdNetworkのポストバックの数をAppsFlyerに共有してください。
AppsFlyer 受信したポストバックの数と、アドネットワークからの送信数を確認します。
AppsFlyer

そのアプリについてアドネットワークに送信されたポストバックの数を、タイプ別に分けてアドネットワークへ共有します。

  • インストール / 再インストールのポストバック
  • アプリ内イベントのポストバック
注意:確率論的モデリングなどの計測でも同じエンドポイントを使用する場合には、 attribution_source=skadnetwork のパラメータを使ってデータをフィルタリングし SKANのポストバックを他のポストバックと区別するようにしてください。

 ポストバックの模擬テスト

  • この方法を使用する場合、次の表に記載されているように、アドネットワークは事前準備されたポストバックの内容をAppsFlyerのテストアプリに送信することになります。そして、AppsFlyerはコンバージョン値を解読したポストバックをアドネットワークへ返信します。
  • 表に記載されているように、テストアプリ毎に異なるコンバージョン値のマッピングが用意されています。
App ID SKAdNetworkの計測設定 手順:
id888707085

[収益]を選択し、単位は$1

想定の結果: 

  1. [連携 ] タブにて、[アプリ内イベントのポストバック]を有効にしてください。 
  2. af_SKAN_revenueのイベントを選択して、御社側のイベント識別名を選択してください。(御社側の識別名を設定しない場合もございます)
  3. 設定を保存してください。
  4. ポストバックにて、conversion value = 7 を送信してください。
  5. AppsFlyerは以下の内容で応答します:
    • Installのポストバックを1つ送信
    • af_skad_revenueのポストバックを1つ送信し、値は$7
id888707086 [コンバージョン]を選択し、アプリ内イベントは以下を選択:
  • af_level_complete
  • af_login
  • af_SKAN_revenue
  • af_register
  • af_subscription
  • af_custom_event
  1. [連携 ] タブにて、[アプリ内イベントのポストバック]を有効にしてください。 
  2. 予めリストアップした各アプリ内イベントをマッピングし、御社側のイベント識別子も選択してください。(御社側の識別名を設定しない場合もございます)
  3. 設定を保存してください。
  4. ポストバックにて、conversion value = 63 を送信してください。
  5. AppsFlyerは以下の内容で応答します:
    • Installのポストバックを1つ送信
    • af_level_completeのポストバックを1つ送信
    • af_loginのポストバックを1つ送信
    • af_SKAN_revenueのポストバックを1つ送信
    • af_registerのポストバックを1つ送信
    • af_subscriptionのポストバックを1つ送信
    • af_custom_eventのポストバックを1つ送信
id888707087 [エンゲージメント]を選択し、af_SKAN_revenueのイベントで計測
  1. [連携 ] タブにて、[アプリ内イベントのポストバック]を有効にしてください。 
  2. af_SKAN_revenueイベント を選択して、御社側のイベント識別子も設定してください。(御社側の識別名を設定しない場合もございます)
  3. 設定を保存してください。
  4. ポストバックにて、conversion value = 3 を送信してください。
  5. AppsFlyerは以下の内容で応答します:
    • Installのポストバックを1つ送信
    • af_SKAN_revenueのイベントのポストバックを3つ送信

連携手順

担当者 アクション
アドネットワーク ポストバック管理の画面上で、SKAN Network ID (Appleから提供)とSKANのポストバックテンプレートを設定してください。 不明点があれば、パートナーアシスタントウィジェットを使用して担当PDMまでお問い合わせください。
アドネットワーク
  1. テストアプリをアクティブ化してください。
  2. 各アプリにて、前の表の[作業(instructions)]の内容を完了してください。 
  3. 前述の表に記載されているテストアプリを使用して、ポストバック送信の模擬テストを実施してください。ポストバックの模擬テストを送信するときの注意点:
    • app_idとconversion valueは、前述の表に記載されているものを設定してください。
    • アドネットワークではAppleのCompatible Signatureを生成できないため、ポストバックの模擬テストにはSignatureフィールドを含める必要はありません。
      (AppsFlyerでは、ポストバックの模擬テストでは検証を行いません。)
    • POSTもしくはREDIRECTのどちらかを使用して、ポストバックを送信してください。
AppsFlyer 連携時に定義したアドネットワークのエンドポイントに対し、解読されたポストバックを返します。

テストの判定基準

担当者 アクション
AppsFlyer ポストバックを処理し、ポストバックをアドネットワークへ送信する。
アドネットワーク
  • 解読されたポストバックを受け取り、デコードする。
  • AppsFlyerから送信されたアプリ内イベントのポストバックが、想定されたデータフローと合致する。例:ID888707087のアプリでコンバージョン値が3の場合、アドネットワークはaf_SKAN_revenueのイベントのポストバックを3つ受信 

詳細

必須項目、データ追加、認証などに関する詳細を記載しています。

よくある質問

ポストバックに関するQ&A

データ追加で必要な各パラメータは必須ですか?

現時点では、以下の各追加パラメータが1つ以上不足していた場合でも、そのポストバックをAppsFlyerは処理します。ただし、以下のような理由からもこれらの情報が必要であることを考慮してください。

  • アドネットワークのキャンペーンID:AppsFlyerとコスト連携を行っている場合には、このキャンペーン IDを使用してコストも記録されます。
  • アドネットワークのキャンペーン名:多くの広告主が、キャンペーンIDではなくキャンペーン名を活用しています。
  • IPアドレス:地理的情報の分析に必要です。 
  • タイムスタンプ:インストールを正しい日付に紐付けるのに活用します。 

両方ではなく、キャンペーンIDまたはキャンペーン名のいずれかのみを送信することは可能ですか?

前の回答を参照してください。キャンペーンIDとキャンペーン名の両方に同じ値を設定することも検討してください。 

私たちは、[データ追加と転送]の手法を使用しています。AppsFlyerの仕様にないKeyと値のペアを追加することは可能ですか? 

はい、可能です。アトリビューション署名が有効なのであれば、追加された情報は無視しつつポストバックは処理します。

SKAdNetworkのポストバックテンプレートは、既存のポストバックテンプレートとは異なるものですか?

はい。データの流れと構造が異なります。

1つのインストールついて、SKAdNetworkのポストバックと既存のAppsFlyer SDKの計測でのポストバック、つまり重複したポストバックを受け取ることになりますか?

はい。それぞれの場合において、AppsFlyerはあなたのアドネットワークに起因したインストールを記録し、その計測方法に関係なく、アドネットワークにそれぞれのポストバックを送信します。

SKAdNetworkのポストバックを区別するには、attribution_sourceのパラメータを活用してください。

私たちもAppsFlyerからのポストバックを処理する必要がありますか?

その必要はありません。ただし、ポストバックを通じて報告されたユーザーの質に応じて、キャンペーンの最適化を行えることが理想的です。

AppsFlyerの計測リンクを呼び出す必要がありますか?それともSKAdNetworkのペイロードとデータ追加したポストバックを送信するだけで十分ですか?

SKAdNetworkのペイロードとデータ追加したポストバックを送信するだけで大丈夫です。

SKAdNetworkの連携パートナーとしてAppsFlyerの管理画面上で認証をもらうには、何が必要ですか?

  • この記事に記載されている方法を使用して、AppsFlyerとの連携を完了させてください。
  • AppsFlyerを計測SDKとして使用しているアプリのSKAdNetworkのポストバックを送信してください。

SKAdNetworkが持つ、キャンペーンIDの上限数が100という制限はどのような影響を与えますか? 

1〜100の制限は、Apple側でのキャンペーンへのサインとナンバリングの方法に関連しており、常に100個までのユニークなキャンペーンを同時に設定することができることを意味しています。一方、AppsFlyerに対しては実際のキャンペーン名とキャンペーンIDの情報を追加してポストバックの送信することが可能なので、ポストバックをAppleから受け取った際に、SKAdNetworkのキャンペーンIDを実際に使用中のキャンペーンIDにマップすることが可能です。これは100のID制限によってAppsFlyer側で計測するキャンペーンの数は制限されないことを意味します。もちろん、特定アプリに対して同時に配信しているキャンペーン数が100を超えないという条件の下の仕様になります。