SKAdNetwork で iOS インストールをアトリビューションする

Google エクスチェンジは、Google Mobile Ads SDK が Apple の SKAdNetwork API を使用して SKAdNetwork アトリビューションを開始するために使用するシグナルをサポートしています。SKAdNetwork シグナルと統合すると、広告主はユーザーのプライバシーを保護しながら、iOS デバイス向けアプリ インストール広告キャンペーンの成果を測定できます。

次のリストは、SKAdNetwork のバージョンに応じてアプリ インストールのアトリビューション動作がどのように変化するかを示しています。

  • 2.0 ~ 2.1: 宣伝対象のアプリのインストールに対するアトリビューションは、ユーザーが広告をクリックしたときに StoreKit でレンダリングされた App Store の商品ページによって行われ、ユーザーがアプリをインストールするようになります。
  • 2.2 以降: ビュースルー広告のサポートが追加されました。ビュースルー広告では、ユーザーが広告を視聴した後にアプリをインストールすると、宣伝対象のアプリのインストールに貢献したと見なされます。

SKAdNetwork のバージョンの違いについては、SKAdNetwork のリリースノートをご覧ください。

UI で SKAdNetwork ID を設定する

SKAdNetwork ID を含む入札リクエストを受け取るには、認定バイヤーまたは Open Bidding の管理画面で SKAdNetwork ID を指定する必要があります。たとえば、SKAdNetwork ID の値は a1b2c3d4e5.skadnetwork のようになります。

認定バイヤーまたは Open Bidding の UI で SKAdNetwork ID を指定する手順は次のとおりです。

  1. [入札者(ビッダー)の設定] ナビゲーション メニューで、[RTB 設定] をクリックします。[RTB 設定] ページが表示されます。
  2. [許可されている iOS SKAdNetwork ID] ボックスに移動して、SKAdNetwork ID を表示して設定します。

次の画像は、[許可されている iOS SKAdNetwork ID] ボックスに表示される SKADNetwork ID の例を示しています。

RTB 設定の「許可されている iOS SKAdNetwork ID」の設定

アトリビューション用にクリエイティブを設定する

Google Mobile Ads SDK は、リンク先 URL が Apple アプリストアにリンクしている場合にのみ、SKAdNetwork アトリビューションを開始します。リアルタイム ビッダー API を使用して審査のためにクリエイティブを送信する場合、クリエイティブは、アプリストアで宣伝されているアプリへの直接リンクであるリンク先 URL を使用するか、最終的なリンク先がアプリストアで宣伝されているアプリである HTTP リダイレクトを使用する必要があります。クリエイティブのリンク先 URL の最終リンク先が次のいずれかのプレフィックスで始まる場合、Google Mobile Ads SDK はアトリビューションを開始します。

  • https://apps.apple.com
  • https://itunes.apple.com
  • itms-apps://
  • itms://

クリエイティブのリンク先 URL の最終的なリンク先がこれらのプレフィックスと一致しない場合、またはリンク先 URL でアプリストアに誘導しない他のクライアントサイド リダイレクト メソッドが使用されている場合、Google Mobile Ads SDK は SKAdNetwork アトリビューションを開始しない可能性があります。このプロセスが適用される可能性がある例を以下に示します。

  • アプリストアにリダイレクトするためにユーザー操作を必要とする HTML ページ。
  • アプリストアへの JavaScript ベースの自動リダイレクト スクリプトを含む HTML ページ。
  • メタ更新タグ。

クリエイティブ タイプ別にアトリビューションを開始する

SKAdNetwork アトリビューションを開始するクリック アクションは、次のようにクリエイティブ タイプごとに設定できます。

HTML
これは、クリック可能な要素を囲むアンカータグのリンク先 URL として設定することも、JavaScript ベースのクリック イベントからの window.location オペレーションのターゲット URL として設定することもできます。
MRAID
クリック アクションで Mraid.open() を呼び出して、SKAdNetwork アトリビューションを開始する必要があります。
VAST 動画
アプリストアの URL は、VAST XML の ClickThrough 要素に設定する必要があります。
ネイティブ
アプリストアの URL は BidResponse.seatbid.bid.{adm/adm_native}.link.url フィールドに設定する必要があります。

BidRequest のシグナルを特定する

パブリッシャー アプリがサポートする登録済みの SKAdNetwork ID に関する情報は、BidRequest.imp.ext.skadn フィールドで確認できます。skadn フィールドが指定されている場合は、属性を使用して、インストールまたはコンバージョンを、含まれている SKAdNetwork ID のいずれかに関連付けるアプリ インストール広告またはリエンゲージメント広告のレスポンスを作成できます。skadn フィールドは、次の属性を持つ SKAdNetworkRequest オブジェクトです。

属性名 説明
sourceapp Apple のアプリストアでのパブリッシャーのアプリの文字列 ID。パブリッシャー アプリを識別するには、この属性を使用します。
skadnetids パブリッシャー アプリがサポートする SKAdNetwork ID を表す文字列のリスト。レスポンスを作成する際に、この情報を参照して、パブリッシャーがサポートする SKAdNetwork ID を選択し、BidResponse.seatbid.bid.ext.skadn.network フィールドに指定できます。
versions パブリッシャーがサポートする SKAdNetwork のバージョンを表す文字列のリスト。BidResponse.seatbid.bid.ext.skadn.version フィールドを使用してレスポンスで指定する SKAdNetwork のバージョンは、このフィールドで指定されているバージョンのいずれかである必要があります。
fidelities パブリッシャーがサポートする忠実度タイプを表す SKAdNetworkFidelityType 列挙値のリスト。以下に、Protobuf 形式と JSON 形式で OpenRTB を使用するように構成された入札エンドポイントの列挙値について説明します。
  • VIEW_THROUGH_ADS(Protobuf)/ 0(JSON): オークションで落札して広告を掲載すると、広告が 3 秒以上視聴された場合に、24 時間以内にインプレッションのアトリビューションを受け取ることができます。広告主がこの形式のアトリビューションを受け取るには、通常、SKOverlay がサポートされている場合にそれを表示する必要があります。
  • STOREKIT_RENDERED_ADS(Protobuf)/ 1(JSON): オークションで落札して広告を掲載すると、ユーザーが広告をクリックしたときに、StoreKit でレンダリングされたアプリストアの商品ページによって、アプリのインストールまたはコンバージョンのアトリビューションが開始されます。
skoverlay OpenRTB Protobuf 形式で表される場合はブール値、OpenRTB JSON 形式で表される場合は整数。このブール値を使用して、SKOverlay がサポートされているかどうかを判断できます。Google は、インタースティシャル広告枠またはリワード インベントリに配置された動画クリエイティブと HTML スニペット クリエイティブでのみ SKOverlay をサポートしています。

次の例は、パブリッシャーのアプリが SKAdNetwork ID をサポートしているモバイル広告枠の入札リクエストを示しています。

{
  "id": "9NaI48SmPW7Zf3MAHR43DY",
  "imp": [
    {
      "id": "1",
      // OMITTED...
      "ext": {
        // OMITTED...
        "skadn": {
          "sourceapp": "com.google.testapp",
          "skadnetids": [
            "cF58w81X"
          ],
          "versions": [
            "2.0",
            "2.1",
            "4.0"
          ],
          "fidelities": [
            1,
            0
          ]
        }
        // OMITTED...
      }
    }
  ],
  "app": {
    "name": "Test App",
    "ver": "5.6.0",
    "bundle": "com.google.testapp",
    "publisher": {
      "id": "pub-6156239328255091",
      "ext": {
        "country": "JP"
      }
    },
    "content": {
      "url": "https://www.google.com",
      "livestream": 0,
      "language": "ja"
    },
    "storeurl": "https://www.google.com"
  }
  // OMITTED...
}

BidResponse 個のフィールドに入力する

入札レスポンスにアトリビューション情報を含めることで、ユーザーが広告主の広告を操作したときに、広告主がポストバック通知を受け取れるようにすることができます。ポストバック通知の詳細については、広告の帰属表示とポストバックの受信をご覧ください。

入札リクエストに含まれていたものと一致するアトリビューション情報を渡す必要があります。アトリビューション情報は BidResponse.seatbid.bid.ext.skadn フィールドで指定します。これは、次の属性を持つ SKAdNetworkResponse オブジェクトです。

属性名 説明
version 広告主がサポートする SKAdNetwork のバージョンを表す文字列。パブリッシャーがサポートする SKAdNetwork バージョンのいずれかを指定する必要があります。これは BidRequest.imp.ext.skadn.versions で指定されます。
network 広告主の SKAdNetwork ID(文字列)。BidRequest.imp.ext.skadn.skadnetids に含まれている SKAdNetwork ID のいずれかを指定する必要があります。
campaign 広告主の広告キャンペーンを表す 2 桁の数値文字列 ID。入札レスポンスに SKAdNetwork バージョン 3.0 以前のアトリビューション情報が含まれている場合は、sourceidentifier ではなく、この属性を指定する必要があります。
sourceidentifier 広告主の広告キャンペーンを表す 4 桁の数値文字列 ID。入札レスポンスに SKAdNetwork バージョン 4.0 以降のアトリビューション情報が含まれている場合は、campaign ではなく、この属性を指定する必要があります。
itunesitem Apple のアプリストアに登録されている広告主のアプリの文字列 ID。これは、BidResponse.seatbid.bid.bundle で指定された値と一致している必要があります。
productpageid iOS 15 以降を搭載したデバイスに表示するカスタム商品ページを表す文字列 ID(省略可)。カスタム プロダクト ページについて詳しくは、App Store のカスタム プロダクト ページをご覧ください。指定しない場合は、デフォルトの商品ページが表示されます。
fidelities Fidelity オブジェクトのリスト。配置された広告に適用される忠実度タイプを識別し、広告主がポストバック通知を受け取ったときに広告主のキャンペーンを識別するために使用される暗号署名を提供します。fidelity 属性は、BidRequest.imp.ext.skadn.fidelities に含まれる値のみを指定する必要があります。
sourceapp Apple のアプリストアでのパブリッシャーのアプリを表す文字列。BidRequest.imp.ext.skadn.sourceapp で見つかった ID を指定する必要があります。
skoverlay 宣伝対象のアプリが SKOverlay でどのように表示されるかを表す SKOverlay オブジェクト。この属性は、OpenRTB Protobuf 形式を使用する入札エンドポイントで BidRequest.imp.ext.skadn.skoverlay が true に設定されている場合、または OpenRTB JSON 形式を使用している場合に 1 に設定されている場合にのみ指定できます。

次の例は、アプリ インストールのアトリビューション情報を含む入札レスポンスを示しています。

{
  "id": "9NaI48SmPW7Zf3MAHR43DY",
  "seatbid": [
    {
      "bid": [
        {
          "id": "9NaI48SmPW7Zf3MAHR43DY",
          // OMITTED...
          "ext": {
            // OMITTED...
            "skadn": {
              "version": "4.0",
              "network": "cF58w81X",
              "itunesitem": "788729094",
              "sourceapp": "1422994973",
              "fidelities": [
                {
                  "fidelity": 0,
                  "nonce": "017e597c-3c7d-4a44-afeb-41cd9a17066f",
                  "timestamp": "1757235407882",
                  "signature": "11iF1L96q2cw8tu790p301c10530ogr7h250k1P9pLxqcJ2qe37klG8xB3M592YbpafQ9861493838C521XA6AEF4A40DK8X"
                },
                {
                  "fidelity": 1,
                  "nonce": "017e597c-3c7d-4a44-afeb-41cd9a17066f",
                  "timestamp": "1757235407882",
                  "signature": "f67L3C138Y6XB7940141011Pd58AZbdBk9Xo1Mlf1973706DsB5808ILLKumU2ic9fr72b9bSs3CD25CCZo8DJB65JB0615L"
                }
              ],
              "sourceidentifier": "5507"
            },
            "app_promotion_type": 1
            // OMITTED...
          }
        }
      ]
      // OMITTED...
    }
  ]
  // OMITTED...
}

次のリストは、入札レスポンスに対応する SKAdNetwork の想定される動作を示しています。

  • 広告が 3 秒以上表示されてから 24 時間以内に広告対象のアプリがインストールされると、SKAdNetwork のビュースルー アトリビューション ポストバック通知が広告主に送信されます。
  • 広告がクリックされると、広告対象アプリのインライン ストア オーバーレイが表示されます。ユーザーが広告対象アプリをインストールして開くと、SKAdNetwork のクリックスルー アトリビューション ポストバック通知が広告主に送信されます。

SKOverlay でアトリビューションを増やす

SKOverlay がサポートされている場合に SKOverlay を表示すると、配置した StoreKit で表示された広告のアトリビューションを増やすことができます。SKOverlay を使用すると、パブリッシャーのアプリにオーバーレイが表示され、ユーザーはパブリッシャーのアプリから移動することなく、広告対象のアプリをダウンロードできます。SKOverlay の詳細については、SKOverlay をご覧ください。

次の条件をすべて満たしている場合、広告対象のアプリのインストールに対してアトリビューションが割り当てられます。

  • SKOverlay が 3 秒以上表示されている。
  • 広告対象のアプリが、SKOverlay の表示から 30 日以内にインストールされた。
  • 宣伝対象のアプリがインストールされる前に、SKOverlay が最後に表示された。

Google は、インタースティシャル広告またはリワード広告に配置された HTML スニペットと VAST 動画クリエイティブで SKOverlay をサポートしています。

SKOverlay がサポートされているかどうかを判断する

入札リクエストを受け取ったときに、BidRequest.imp.ext.skadn.skoverlay フィールドの値を確認することで、SKOverlay がサポートされているかどうかを判断できます。SKOverlay は、OpenRTB Protobuf 形式を使用する入札エンドポイントで skoverlay フィールドが true に設定されている場合、または OpenRTB JSON 形式を使用する入札エンドポイントで 1 に設定されている場合にサポートされます。

SKOverlay を使用して広告を配置する

SKOverlay がサポートされている場合は、BidResponse.seatbid.bid.ext.skadn.skoverlay フィールドを指定して、SKOverlay を表示することを示すことができます。skoverlay フィールドには次の属性があります。

  • delay: 広告が表示されてから SKOverlay が表示されるまでの遅延時間を秒単位で表す整数。動画クリエイティブの場合、表示時間は動画の再生が開始された時間です。このフィールドが設定されていない場合、SKOverlay は表示されません。
  • endcarddelay: 動画クリエイティブのエンディング メッセージが表示されてから SKOverlay が表示されるまでの遅延時間を表す整数(秒単位)。このフィールドが設定されていない場合、エンディング メッセージの後に SKOverlay は表示されません。インタースティシャル広告またはリワード広告に配置された VAST 動画クリエイティブにのみ適用されます。
  • dismissible: ユーザーが SKOverlay を閉じることができるかどうかを表すブール値。

入札レスポンスの例を次に示します。

{
  // OMITTED...
  "seatbid": [
    {
      "bid": [
        {
          // OMITTED...
          "ext": {
            // OMITTED...
            "skadn": {
              // OMITTED...
              "itunesitem": "422689480",
              "skoverlay": {
                "delay": 5,
                "endcarddelay": 0
              },
              "productpageid": "some_id"
            }
          }
        }
      ]
    }
  ]
}

想定される SKOverlay の動作を確認する

上記の入札レスポンスに対応する SKOverlay の想定される動作は次のとおりです。

  • 動画の再生開始から 5 秒後に SKOverlay を表示します。
  • エンディング メッセージの直後に SKOverlay を表示します。
  • ユーザーが SKOverlay をクリックしたときにアプリストアを開きます。

  • BidResponse.seatbid.bid.ext.skadn.productpageid が指定されている場合、SKOverlay のアプリ掲載情報データはカスタム商品ページのアイコンになります。

  • VAST 動画クリエイティブの場合、ユーザーが SDK オーバーレイをクリックすると、クリックスルー URL とクリック トラッキング URL に ping が送信されます。

  • VAST 動画クリエイティブの場合、ユーザーが動画の再生中に SKOverlay を閉じても、BidResponse.seatbid.bid.ext.skadn.skoverlay.endcarddelay フィールドが設定されていれば、エンディング メッセージの後に SKOverlay が表示されます。