Attribution Reporting API クロスウェブとアプリ実装ガイド

Attribution Reporting API により、ソースに対してアプリとウェブをまたいだアトリビューションを有効化 同じデバイスで発生しますChrome などのブラウザ ソースとトリガーの両方の登録を Attribution Reporting に委任できる 登録を処理する代わりに、Android 用の API を使用します。 これにより、Android はサイトとアプリの両方でソースとトリガーを一致させることができます。

このガイドでは、アプリとウェブをまたいだアトリビューションを設定する方法を解説します。

アプリとウェブをまたいだアトリビューションを設定する際は、以下も設定することを強く推奨します。 利用可能なデバッグ ソリューションをよく理解して、 確認します。

Android OS にソースとトリガーを登録する

アプリとウェブをまたいだアトリビューションは、アトリビューションが Reporting API は、同じブラウザと Android OS の両方で有効になっている できます。Android Attribution Reporting API が利用可能かどうかを知らせる Attribution-Reporting-Support ヘッダーを使用しますこのヘッダーは os、 ウェブ、あるいはその両方を選択できます。両方が その後、広告テクノロジーはウェブソースとウェブ ブラウザまたは OS でトリガーされます。

広告テクノロジーは、ウェブソースとウェブトリガーのどちらを登録するかを決定する必要があります ブラウザや OS で管理できます。

  • ウェブのみのキャンペーンの場合も、広告テクノロジーはソースとトリガーの両方を登録できます。 を使用するか、両方を OS に委任することもできます。 ソースまたはトリガーのいずれかが WebView では、広告テクノロジーはソースとトリガーの両方の登録を できます。詳しくは、WebView に関するセクションをご覧ください。
  • 広告テクノロジーは、Chrome と Chrome の両方でソースとトリガーの登録を避ける必要があります。 アトリビューションの重複を避けるため、Android API と できます。
  • アトリビューションはブラウザと OS で別々に行われます。ソースが トリガーが OS に登録されている場合、 その逆もできません。
  • アプリやウェブによるトリガーとなる可能性があるソースについては、 広告テクノロジーがウェブソースとトリガーの登録を委任することを Android Attribution Reporting API
  • アプリベースのソースによって引き起こされた可能性のあるトリガーの場合、広告テクノロジーは ウェブトリガーの登録を Android Attribution Reporting に委任することを選択 API
  • ソースとトリガーの両方がアプリ内で発生するキャンペーンでは、 OS Attribution Reporting API に登録する必要があります。

アプリソースとウェブトリガーを登録する

一部のキャンペーンでは、トリガーの発生中にソースがアプリで発生することがあります。 同じデバイスのモバイル ブラウザでウェブサイトを開いてください。

ユーザーがお気に入りのニュースアプリで記事を読んでいます。ユーザーが広告を安く表示 パリへのフライトを選択し クリックして予約できますで広告を配信する広告テクノロジー ニュースアプリが Android Attribution Reporting API にクリックソースを登録します。 ユーザーは Chrome で広告主のウェブページに転送され、そこで次のことができます。 なります。広告主のサイトの広告テクノロジーが、OS レベルの API が あります広告テクノロジーがコンバージョン トリガーを登録します。 登録ではなく OS に登録を委任するよう Chrome に指示する Chrome の Attribution Reporting API で直接作成できます。OS レベルのアトリビューション これにより、Reporting API がアプリのソースとウェブトリガーを照合して、 レポートを表示します

<ph type="x-smartling-placeholder">
</ph> アプリからウェブへのアトリビューション フロー
アプリからウェブへのアトリビューション フロー

アプリソースの登録:

  1. Daily News Android アプリの広告テクノロジー SDK が、 registerSource()

  2. Android の Attribution Reporting API が広告テクノロジー サーバーにリクエストを送信する registerSource() に提供された URL

  3. 広告テクノロジー サーバーが Attribution-Reporting-Register-Source を返す ヘッダーを入力してソースの登録を完了します。

ウェブトリガーの登録:

  1. 広告テクノロジーがトリガーを登録し、 Attribution Reporting API

  2. ウェブ ARA では、サポートされているプラットフォームに関する情報が返されます

  3. OS-Trigger ヘッダーは、OS ARA API を呼び出すようウェブ ARA API に指示します registerWebTrigger() 関数

  4. registerWebTrigger() の呼び出しは内部で行われ、デベロッパーが OS で直接 registerWebTrigger() を呼び出す必要はありません。

  5. OS ARA が処理を引き継ぎ、 Attribution-Reporting-Register-OS-Trigger ヘッダー

  6. 広告テクノロジーが OS API でトリガーの登録を完了する

  7. OS の ARA では、アプリに適用されるのと同じロジックに従ってアトリビューションが行われます。 アプリ アトリビューションと、同じレポートの送信

ワークフロー

以下では、この作業を行う方法について説明します。

  1. アプリの広告テクノロジーが Android のアトリビューションにソースを登録する Reporting API で次の調整を行いました。

    • ウェブサイトでのコンバージョンが想定されるアプリのソースを登録するには、 Attribution-Reporting-Register-Source レスポンス ヘッダーにはウェブ デスティネーション(eTLD+1)を使用します。
    で確認できます。
    Attribution-Reporting-Register-Source: {
        "web_destination": "https://advertiser.example",
        ...
    }
    
    • 広告主によっては、複数の測定プロバイダ( サードパーティの測定ツールや分析ツールなど)への呼び出しを 302 リダイレクト チェーンを使って行う必要があります。 場合によっては、Attribution Reporting API がリダイレクト パスをたどる (Attribution-Reporting-Redirect ヘッダー内)と 同時に、既存のサービスのフォアグラウンドで 302 リダイレクト パスが実行される リクエストできます。これらのリクエストは同じ URL に送信されるため、 第三者測定プロバイダで 登録が二重にカウントされる場合です宛先 登録の二重カウントを防止し、広告テクノロジーがリダイレクト動作を変更できる から Attribution Reporting API の登録を代替の宛先に送信する 決定的 URL を使用します。
    • この動作を有効にするには、広告テクノロジーが新しい HTTP ヘッダーを 次のような処理を行います。

      • ヘッダーは Attribution-Reporting-Redirect-Config です。
      • ヘッダーの値は「redirect-302-to-well-known」にする必要があります
      で確認できます。
      "Attribution-Reporting-Redirect-Config": "redirect-302-to-well-known"
      
    • ソース登録プロセスの残りは標準のソース登録プロセスと アプリ間のソースの登録

    で確認できます。
  2. 広告主のウェブサイトの広告テクノロジーが次のリクエストを行ってトリガーを登録します。 Chrome で登録を Android Attribution Reporting API に委任します。

    • ユーザーがウェブサイトでコンバージョンを完了すると、広告テクノロジーによって Chrome にトリガーを登録するリクエスト

      1. ピクセルまたは fetch() リクエストを使用して、 トリガー

      2. Chrome から Attribution-Reporting-Support リクエスト ヘッダーが返される 渡します。Chrome ブラウザと Android デバイスの場合、ヘッダーは os, web を返します。

      "Attribution-Reporting-Support": "os, web"
      
    • 広告テクノロジーは、 Attribution-Reporting-Register-OS-Trigger ヘッダーの内容:

      1. OS に登録を委任するよう Chrome に指示します

      2. Chrome が OS API 関数を呼び出して登録を OS に委任する registerWebTrigger()

        • registerWebTrigger() の呼び出しは、広告テクノロジーの内部で行われます。 registerWebTrigger() を直接呼び出す必要がない
      3. OS API が、渡された広告テクノロジー URI へのセカンダリ API 呼び出しを開始します。 アクセスできます。

      "Attribution-Reporting-Register-OS-Trigger": "https://adtech.example/register-trigger",
      "https://other-adtech.example/register-trigger"
      
    • 場合によっては、Attribution-Reporting-Support ヘッダーを使用できず、 送信できません。この場合も、広告テクノロジーは優先ルールを 使用してトリガーの登録を処理できます。 Attribution-Reporting-Info ヘッダー。鍵となるのは優先プラットフォームであり、 指定できる値は osweb です。ブラウザでは優先プラットフォームが使用される ウェブ プラットフォームにフォールバックすると、OS が できません。

    で確認できます。
    Attribution-Reporting-Info: preferred-platform=os
    
    • トリガーの登録を完了するには、広告テクノロジーのエンドポイントが応答する必要があります。 レスポンス ヘッダーを使用して Android Attribution Reporting API リクエストに送信します。
    Attribution-Reporting-Register-Trigger {
        "event_trigger_data": [{"trigger_data":"1"}],
        "aggregatable_trigger_data": [
            {"key_piece":"0x400","source_keys":["campaignCounts"]},
            {"key_piece":"0xA80","source_keys":["geoValue"]}
        ],
        ...
    }
    

ウェブソースとアプリトリガーを登録する

キャンペーンによっては、モバイル ブラウザでサイトで参照元が トリガーが発生したときにのみ発生します。

ユーザーが Android スマートフォンの Chrome ブラウザでサイトを閲覧しています。 お気に入りの店のセーターの広告を目にしました。[ ダウンロード済みのアプリに誘導されるサイト上の広告テクノロジーが 広告が配信されたウェブサイトが Chrome に指示を出してクリックソースを登録する Android Attribution Reporting API に登録を委任できます。 Chrome で Attribution Reporting API を使用しますユーザーがセーターを ダウンロードします次に、広告主のアプリの広告テクノロジーが Android Attribution Reporting API で コンバージョントリガーを作成できますOS レベル Attribution Reporting API がウェブソースとアプリのトリガーを照合し、 関連するレポートを送信します

<ph type="x-smartling-placeholder">
</ph> ウェブからアプリへのアトリビューション フロー
ウェブからアプリへのアトリビューション フロー

ウェブソースの登録:

  1. 広告テクノロジーがソースを登録し、 Attribution Reporting API

  2. ウェブ ARA では、サポートされているプラットフォームに関する情報が返されます

  3. OS-Source ヘッダーは、OS ARA API を呼び出すようウェブ ARA API に指示します registerWebSource() 関数

  4. registerWebSource() の呼び出しは内部で行われ、デベロッパーがそれを行います。 OS で直接 registerWebSource() を呼び出す必要はありません

  5. OS ARA が処理を引き継ぎ、指定された広告テクノロジー サーバーの URL にリクエストを送信します。 Attribution-Reporting-Register-OS-Source ヘッダー

  6. 広告テクノロジーが OS API でソースの登録を完了する

アプリトリガーの登録:

  1. 衣料品店の Android アプリの広告テクノロジー SDK が、トリガーを OS ARA

  2. Android の Attribution Reporting API が広告テクノロジー サーバーにリクエストを送信する registerTrigger() に提供された URL

  3. 広告テクノロジー サーバーが Attribution-Reporting-Register-Trigger を返す ヘッダーを使用してトリガーの登録を完了します。

  4. OS の ARA では、アプリに適用されるのと同じロジックに従ってアトリビューションが行われます。 アプリ アトリビューションと、同じレポートの送信

ワークフロー

以下では、この作業を行う方法について説明します。

  1. パブリッシャーのウェブサイトの広告テクノロジーが、 Chrome で登録を Android Attribution Reporting API に委任します。

    • ウェブからアプリへ(ウェブからアプリへ)のユースケースでは、ソースを登録する際、 source パラメータは、 attributionsrc タグを使用するか、JavaScript 登録を使用します。
    • 次の例では、attributionsrc タグを使用して source パラメータ:
    <img src="https://adtech.example/conversionpixel"
    attributionsrc="https://adtech.example/register-source?purchase=12">
    
  2. Attribution-Reporting-Support リクエスト ヘッダーは、Chrome から 広告テクノロジーChrome ブラウザと Android デバイスの両方で API が有効になっている場合は、 ヘッダーは os, web を返します。

    "Attribution-Reporting-Support": "os, web"
    
  3. 広告テクノロジーは、 Attribution-Reporting-Register-OS-Source ヘッダーの内容:

    1. OS に登録を委任するよう Chrome に指示します
    2. Chrome が OS API 関数を呼び出して登録を OS に委任する registerWebSource()
    3. registerWebSource() の呼び出しは内部で行われ、広告テクノロジーが行います。 registerWebSource() を直接呼び出す必要はありません
    4. OS API が、API から渡された広告テクノロジー URI へのセカンダリ API 呼び出しを開始します。 ブラウザ
    "Attribution-Reporting-Register-OS-Source": "https://adtech.example/register-source"
    
    • 場合によっては、Attribution-Reporting-Support ヘッダーを使用できないことがあります。 この場合、広告テクノロジーは優先プラットフォームを設定して処理できます。 Attribution-Reporting-Info ヘッダーを含めることでソース登録。 キーは Preferred-platform です。指定できる値は osweb です。「 ブラウザで推奨のプラットフォームが使用可能な場合はそれを使用し、 ウェブ プラットフォームにアクセスする必要があります。
    で確認できます。
    Attribution-Reporting-Info: preferred-platform=os
    
    • ソースの登録を完了するには、広告テクノロジーのエンドポイントが応答する必要があります。 レスポンス ヘッダーを含む Android Attribution Reporting API リクエスト Attribution-Reporting-Register-Source。また、レスポンスでは、 デスティネーション フィールドに入力します。
    Attribution-Reporting-Register-Source {
        "source_event_id":"123001",
        "destination":"android-app://com.example.advertiser",
        ...
    }
    
    • ソース登録のリダイレクトをサポートするため、Chrome は リダイレクトを行い、リダイレクト ホップごとにウェブ コンテキスト API を呼び出します。
    • ソースの登録の残りの部分は変わりません。
  4. 広告主のアプリの広告テクノロジーが、Android にトリガーを登録します。 Attribution Reporting API:

    • アプリで発生するトリガーについては、トリガーを登録します Android Attribution Reporting API です。

アプリとウェブの両方で掲載先の候補となるキャンペーン

  1. 二重の宛先を設定する

    • キャンペーンによっては、広告主のアプリまたは 広告主のウェブページに広告が表示されるようになります。 確認できます。
    • このような場合は、ソースの登録を OS(利用可能な場合)により、 確認できます。ソースを OS に登録するときは、 アプリとウェブのデスティネーションは、それぞれのパラメータで指定できます。
    • アプリのデスティネーションは destination フィールドに入力する必要があります
    • ウェブ デスティネーションは web_destination フィールドに指定する必要があります
    • 注: Chrome デベロッパーは、OS の destination フィールドに注目してください。 Attribution Reporting API は、URL ではなくアプリ パッケージである必要があります。
    Attribution-Reporting-Register-Source {
        "source_event_id":"123001",
        "destination":"android-app://com.example.advertiser",
        "web_destination": "https://example.advertiser"
        ...
    }
    
    • 簡易レポートに関する次のセクションでは、二重のリンク先を使用する方法について説明します。 レポート内のノイズに影響する場合があります。
  2. 大まかなレポートを使用して、二重のイベントレベル レポートでノイズを低減 宛先のソース:

    • ソースに OS(アプリ)とウェブの両方のデスティネーションが指定されている場合 イベントレベルのレポートでは、トリガーが発生したかどうかが ウェブ デスティネーションまたはアプリ デスティネーションをデフォルトで選択します。ただし、 プライバシーに関する制限、追加のノイズがこれらのレポートに追加されます。
    • 広告テクノロジーは、coarse_event_report_destinations Attribution-Reporting-Register-Sourceヘッダーで大まかなレポートを有効にします 減らすことができますcoarse_event_report_destinations を持つソースが、 指定したフィールドがアトリビューションを獲得した場合、生成されるレポートにはアプリおよび ウェブサイトとウェブのリンク先を明確に区別せずに アプリまたはウェブのリンク先の報告よりもノイズが少ない 指定されています。
    • 集計レポートに変更はありません。

Chrome カスタムタブを使用するアプリの場合

アプリによっては、ウェブ コンテンツをレンダリングするためにカスタムタブを使用することがあります。カスタムタブの動作 アプリとモバイルサイトをまたいだ測定では、通常のウェブページと同じように機能します。

  1. アプリソースとカスタムタブ トリガーを登録する: <ph type="x-smartling-placeholder">
  2. カスタムタブソースとアプリトリガーを登録します。 <ph type="x-smartling-placeholder">
  3. CCT ソースと CCT トリガーを登録する <ph type="x-smartling-placeholder">

WebView を使用するアプリの場合

アプリによっては、WebView を使用してコンテンツを表示することがあります。さまざまなユースケース WebView 用のアプリ(広告のレンダリング、ウェブ コンテンツのホスティング、カスタムアプリなど) ウェブ フォーマットに適した機能が備わっています。

  1. WebView で使用できるのは OS レベルのアトリビューションのみです。「 Attribution-Reporting-Support ヘッダーは、OS のみを返します。これは、 Android Attribution Reporting API をご利用いただけるようになりました。

  2. OS に委任する場合、WebView は registerSource または registerWebSourceregisterTrigger または registerWebTrigger。メソッドとは WebView で使用されるメソッドは、WebView をレンダリングするアプリによって設定され、 WebView ごとに適用されます

    • registerSourceregisterWebSource の違いは何ですか。 ソースがパブリッシャーとしてログに記録されます。registerSource を使用すると、アプリはログに記録されます。 パブリッシャーがregisterSource を使用する例: WebView を使用してレンダリングされた広告を表示するパブリッシャー アプリ。あり registerWebSource: WebView でホストされるウェブサイトが、 パブリッシャーregisterWebSource を使用する例としては、次のようなアプリがあります。 WebView をホストしており、その WebView によってレンダリングされるウェブサイトは、 表示されます。registerTriggerregisterWebTrigger は同じように動作します。「 3 番のグラフは、アプリまたは SDK のデベロッパーにとってさまざまなシナリオを詳しく説明しています。 registerSource または registerWebSource を使用するように API を構成する場合 および registerTrigger または registerWebTrigger
  3. デフォルトでは、WebView は次の場合に registerSourceregisterWebTrigger を使用します。 Android Attribution Reporting API の呼び出し。これによってソースとラベルが WebView のトップレベルのオリジンでトリガーされます。 発生します。

    • アプリで異なる動作が必要な場合は、新しいメソッドを使用する必要があります。 androidx.webkit.WebViewSettingsCompatsetAttributionRegistrationBehavior クラスです。このメソッドは、WebView が registerWebSource() を呼び出す必要があるかどうかを指定します。 や、registerSource()registerTrigger() ではなく、registerWebTrigger() を使用します。
      • この動作は、開始される WebView ごとに設定する必要があります。
      • 広告テクノロジー SDK が WebView を開始する場合、SDK は以下を設定する必要があります。 変更できます。
      • registerWebSource() を使用してソースを関連付けるアプリの場合 アプリではなく WebView でウェブサイトに登録する場合は、 登録する必要があります。許可リストに登録するには、こちらのフォームに記入してください。「 許可リストを使用する目的は、 ウェブ コンテキストに対する信頼の確立
    • setAttributionRegistrationBehavior のオプション
    説明 ユースケースの例
    APP_SOURCE_AND_WEB_TRIGGER(デフォルト) WebView からアプリソース(アプリのパッケージ名に関連付けられたソース)とウェブトリガー(eTLD+1 に関連付けられたトリガー)を登録できるようにします。 ウェブ ブラウジングを有効にするのではなく WebView を使用して広告を配信するアプリ
    WEB_SOURCE_AND_WEB_TRIGGER WebView からウェブソースとウェブトリガーを登録できるようにします。 WebView ベースのブラウザアプリ。WebView を使用するウェブサイトで、広告のインプレッションとコンバージョンの両方が発生する可能性があります。
    APP_SOURCE_AND_APP_TRIGGER WebView からアプリのソースとアプリトリガーを登録できるようにします。 広告のインプレッションとコンバージョンを、WebView の eTLD+1 ではなく、常にアプリに関連付ける必要がある WebView ベースのアプリ。
    無効 WebView からのソースとトリガーの登録を無効にします。
  4. WebView からのソース登録とトリガー登録

    • 広告テクノロジーは、 Attribution-Reporting-Register-OS-Source ヘッダー。設定された動作に基づく WebView の場合は、registerSource() または registerWebSource() が呼び出されます。 Android アトリビューションからの二次 API 呼び出しを開始します。 広告テクノロジー URI に Reporting API を送信します。

      • ソースの登録を完了するには、広告テクノロジーのエンドポイントが Android Attribution Reporting API リクエストに レスポンス ヘッダー。
      Attribution-Reporting-Register-OS-Source {
          "source_event_id":"123001",
          "destination":"android-app://com.example.advertiser",
          ...
      }
      
    • ソースの登録の残りの部分は変わりません。

  5. 広告テクノロジーは、次を使用してトリガーの登録に応答する必要があります。 Attribution-Reporting-Register-OS-Trigger ヘッダー。設定された動作に基づく WebView の場合は、registerTrigger() または registerWebTrigger() が呼び出されます。 そして、Rb から広告テクノロジー URI への二次 API 呼び出しを開始します。

    • トリガーの登録を完了するには、広告テクノロジーのエンドポイントが、 Android Attribution Reporting API リクエストに対してレスポンスを返す できます。
    Attribution-Reporting-Register-OS-Trigger {
        "event_trigger_data": [{"trigger_data":"1"}],
        "aggregatable_trigger_data": [
            {"key_piece":"0x400","source_keys":["campaignCounts"]},
            {"key_piece":"0xA80","source_keys":["geoValue"]}
        ],
        ...
    }
    

デバッグ

アプリからウェブへの実装をセットアップする場合は、デバッグ レポートを使用して、ソースとトリガーが正しく登録されているかどうか、および 登録していない場合は、その理由に関する情報を受け取れます。

アトリビューション レポートの一般的なデバッグ手順については、デバッグ クックブックをご覧ください。