Attribution Reporting のデバッグ クックブック

Attribution Reporting のデバッグに関するパート 3/3。デバッグ レポートの使用方法を確認します。

このクックブックでは、パート 1: デバッグ レポートの概要で概説されているさまざまなユースケースでデバッグ レポートを使用する方法について説明します。

用語集

  • レポート元は、Attribution Reporting のソーストリガーのヘッダーを設定するオリジンです。ブラウザで生成されたすべてのレポートは、このオリジンに送信されます。このガイダンスでは、レポート送信元の例として https://adtech.example を使用します。
  • アトリビューション レポート(略してレポート)は、リクエストした測定データを含む最終レポート(イベントレベルまたは集計可能)です。
  • デバッグ レポートには、アトリビューション レポート、またはソースイベントまたはトリガー イベントに関する追加データが含まれます。デバッグ レポートを受け取ったからといって、必ずしもなんらかの正常に動作しているとは限りません。2 種類のデバッグ レポート
  • 移行デバッグ レポートは、生成して送信するために Cookie の設定が必要なデバッグ レポートです。Cookie が設定されていない場合、およびサードパーティ Cookie のサポートが終了した場合、移行デバッグ レポートは利用できなくなります。このガイドで説明するデバッグ レポートはすべて、移行デバッグ レポートです。
  • 成功デバッグ レポートでは、アトリビューション レポートの生成成功を追跡します。アトリビューション レポートに直接関連している。成功のデバッグ レポートは、Chrome 101(2022 年 4 月)よりご利用いただけます。
  • 詳細デバッグ レポートを使用すると、欠落しているレポートを追跡し、その理由を特定できます。ブラウザがソースイベントまたはトリガー イベントを記録しなかった場合(つまり、アトリビューション レポートが生成されない場合)と、なんらかの理由でアトリビューション レポートを生成または送信できない場合を示します。詳細デバッグ レポートには、ソースイベント、トリガー イベント、またはアトリビューション レポートが生成されなかった理由を説明する type フィールドが含まれます。Chrome 109(2023 年 1 月安定版)以降では、詳細なデバッグ レポートを利用できます。
  • デバッグキーは、ソース側とトリガー側の両方で設定できる一意の識別子です。デバッグキーを使用すると、Cookie ベースのコンバージョンとアトリビューション ベースのコンバージョンをマッピングできます。デバッグ レポートを生成してデバッグキーを設定するようにシステムをセットアップすると、ブラウザはすべてのアトリビューション レポートとデバッグ レポートにこれらのデバッグキーを含めます。

ドキュメント全体で使用されるその他のコンセプトと主な用語については、プライバシー サンドボックスの用語集をご覧ください。

手順: 統合をリアルタイムで確認する

  1. 成功デバッグ レポートを生成するようにシステムをセットアップします。手順については、パート 2: デバッグ レポートを設定するをご覧ください。
  2. Attribution Reporting コードをデプロイするたびに、エンドポイントで成功デバッグ レポートが届いているかどうかをリアルタイムで確認します。その場合、Attribution Reporting の設定は正常に機能しています。
  3. 成功デバッグ レポートは、コンバージョンが発生した場合にのみ送信されます。代わりに、コンバージョンに関係なく統合が正しく設定されていることをご確認ください。つまり、ソースが正常に登録されていることを確認します。これを実現するには、ソース登録の成功詳細なデバッグ レポートを使用します。設定方法については、パート 2: デバッグ レポートを設定するをご覧ください。

手順: 損失を分析して統合のトラブルシューティングを行う

Cookie ベースのコンバージョン測定結果を Attribution Reporting レポートと比較するには、デバッグキーを使用して Cookie コンバージョンをデバッグ レポートにマッピングします。デバッグ レポートはエンドポイントにすぐに送信されます。

概要

損失分析の手順

デバッグキー(<source_debug_key, trigger_debug_key> ペア)を使用して、Cookie コンバージョンを成功デバッグレポートにマッピングします。Cookie コンバージョンごとに、コンバージョンの時点で、対応する成功デバッグ レポートを受け取りましたか。

「はい」の場合: これらの成功デバッグ レポートすべてについて、いくつかの例外を除き、アトリビューション レポートが後で届きます。詳しくは、成功デバッグ レポートのシナリオをご確認ください。

登録されていない場合: コンバージョンが Attribution Reporting に登録されていないことを意味します。<source_debug_key, trigger_debug_key> ペア(トリガー デバッグキーがない場合はソース デバッグキー)を使用して、Cookie コンバージョンを詳細なデバッグ レポートにマッピングします。これらの各コンバージョンについて、ある時点(ソースまたはトリガーの時刻)で、対応する詳細なデバッグ レポートを受け取りましたか。

  • 詳細なデバッグ レポートが届かない場合: ユーザーの行動または統合の問題が原因である可能性があります。詳しくは、デバッグ レポートがない場合のシナリオをご覧ください。

  • 詳細なデバッグ レポートを受け取った場合は、その type フィールドを確認します。

    • typesource-success の場合: ソースが正常に登録されたものの、トリガーが登録されていないことを意味します。成功デバッグ レポートがない理由を絞り込むには、トリガー側の問題を示す他の種類の、対応する詳細デバッグ レポートを探します。

    • type がそれ以外の場合: ソースまたはトリガーが登録されていません。type にその理由が示されます。対応するアトリビューション レポート(および成功デバッグ レポート)が失われます。詳細なデバッグ レポートの type に応じて、この情報を損失分析のデータポイントとして捉える(つまり、何もしなくてもいい)こともあれば、バグの報告や実装のトラブルシューティングを行う必要がある場合もあります。詳しくは、詳細デバッグ レポートのシナリオをご覧ください。

考えられるシナリオ

成功デバッグ レポート

特定の Cookie コンバージョンについて、成功デバッグ レポートが届いた場合は、そのコンバージョンが Attribution Reporting に正常に登録されたことを意味します。

このコンバージョンのアトリビューション レポートは後日お送りします⏤(ただし、次の例外があります)。

  • ユーザーの行動: コンバージョン後、アトリビューション レポートの送信前にデータを消去する、ブラウザを閉じるなど。ユーザーがコンバージョン後にブラウザを閉じ、1 週間ブラウザを開かなかった場合、レポートは 1 週間以上送信されません。この遅延は損失とみなすことができます。
  • イベントレベルにのみ適用: イベントレベルのレポートは、より優先度の高い別のレポートに置き換えられます。
  • ネットワークに問題がある可能性があります。

source-success タイプの詳細なデバッグ レポート

特定の Cookie コンバージョンのソースについて、タイプ source-success の詳細なデバッグ レポートを受け取った場合は、ソースの登録が成功したことを意味します。トリガーの登録が成功したかどうかによって、そのコンバージョンのレポートが届く場合と届かない場合があります。

注意点が 1 つあります。

その他の種類の詳細なデバッグ レポート

ある Cookie コンバージョンについて、他の種類の詳細デバッグ レポートを受け取った場合、成功デバッグ レポートは送信されず、その後、アトリビューション レポートも生成されません。これは、詳細レポートは、レポート対象のエラーが発生したことを意味するためです。なんらかの理由で、ソースの登録、トリガーの登録、レポートの生成、またはレポートの送信が妨げられました。考えられる原因:

  • プライバシーに関する制限
  • ストレージの制限
  • カスタムルール
  • コードの実装に関する問題
  • ブラウザのバグ

そのうちのいくつかは想定どおりの結果です。実行するアクションは、各詳細レポートの type によって異なります。詳細レポートのリファレンスを確認する。

デバッグ レポートはありません

特定の Cookie コンバージョンについて、アトリビューション レポートのみが返された(成功デバッグ レポートも詳細なデバッグ レポートもない)場合は、なんらかの理由でデバッグ レポートが生成されなかったことを意味します。考えられる原因:

  • ユーザー設定(ユーザーがサードパーティ Cookie をオフにしている)
  • Cookie またはデバッグキーがありません(Cookie がないためデバッグキーが消去されました)。chrome://attribution-internals で [ログ] タブを開き、問題が表示されたかどうかを確認します。
  • ソースまたはトリガーの時点では発生し、アトリビューション レポートの送信時以外に発生したネットワークの問題。

アトリビューション レポートは届いていますか?

これは、デバッグ レポートを受信しない場合のサブケースです。特定の Cookie コンバージョンについて、なんらかのレポート(デバッグ レポートやアトリビューション レポートなど)が一切届かなかった場合は、報告できないエラーが発生したことを意味します。考えられる原因:

  • 基本的な統合の問題。これらのトラブルシューティング方法については、統合に関する基本的な問題を解決するをご覧ください。
  • ネットワークに問題がある可能性があります。
  • プライバシー サンドボックスなどのブラウザ設定でユーザー設定がオフになっている。

詳細なデバッグ レポートのリファレンス

各詳細デバッグ レポートには、対応するアトリビューション レポートが破棄された理由を示す type フィールドがあります。この参照を使用して、詳細レポートの type ごとに必要な対応を把握してください。

ソース登録が成功しました

ソースが正常に登録されました。

source-success
詳細とレポート本文

プライバシーに関する制限に関するレポート

これらは想定内の報告です。クロスサイト ユーザー ID 漏洩を減らすためのプライバシー制限を示しています。

source-destination-limit
詳細とレポート本文
source-noised
詳細とレポート本文
trigger-attributions-per-source-destination-limit
詳細とレポート本文
trigger-reporting-origin-limit
詳細とレポート本文
trigger-event-noise
詳細とレポート本文
trigger-event-excessive-reports
レポート数が制限を超えた場合に生成されます。登録できるコンバージョンは、ビューの場合は 1 件、クリックについては 3 件までです。なお、優先度を設定することで、受信するレポートを構成できます。詳細とレポート本文

ストレージの上限レポート

これらは想定内の報告です。リソースの過剰な使用を防ぐためのストレージ制限を示します。

source-storage-limit
詳細とレポート本文
trigger-event-storage-limit
詳細とレポート本文
trigger-aggregate-storage-limit
詳細とレポート本文

カスタムルール レポート

これらのレポートは、フィルタリング、重複除去、優先度、ウィンドウ ベースのフィルタリングを使用している場合に予想されるものです。もしもの場合に備えて、対応するカスタムルールを再度チェックして、その詳細レポートに対応するレポートが本当に削除するレポートであることを確認してください。問題がない場合、お客様側でのご対応は特に必要ありません。

trigger-no-matching-filter-data
詳細とレポート本文
trigger-event-no-matching-configuration
詳細とレポート本文
trigger-event-deduplicated
詳細とレポート本文
trigger-aggregate-deduplicated
詳細とレポート本文
trigger-event-low-priority
詳細とレポート本文
trigger-event-report-window-passed
詳細とレポート本文
trigger-aggregate-report-window-passed
詳細とレポート本文

その他の詳細レポート

これらのレポートは、コードの実装上の潜在的な問題を示している可能性があります。

trigger-no-matching-source
これは実装の問題の可能性があります。<reporting origin, destination> の設定に構成ミスがないことを確認します。これも想定どおりの API 動作である可能性があります。(例: 広告を操作した後のある時点でコンバージョンを達成する前にデータを消去した)や、関連する広告を見ずにコンバージョンを達成した。 詳細とレポート本文
trigger-aggregate-no-contributions
これは、コードが意図した動作ではない可能性が高いです。トリガーの登録コードのトラブルシューティングを行います。コントリビューションの構成が正しいことを確認します。詳細とレポート本文
trigger-aggregate-insufficient-budget
これは、コードが意図した動作ではない可能性が高いです。トリガーの登録コードを再度チェックして、すべての資金提供の合計額が資金提供の予算を超えないようにします。詳細とレポート本文

予期しないエラー(ブラウザのバグの可能性)

これらの報告は予期しないものです。ブラウザのバグが原因である可能性があります。バグを報告し、問題を再現する手順を説明に明記します。

source-unknown-error
詳細とレポート本文
trigger-unknown-error
詳細とレポート本文

損失分析の例

ステップ 1: Cookie を使ったセットアップとマッピング

パート 2: デバッグ レポートを設定するの手順に沿って、成功デバッグ レポート詳細なデバッグ レポートを生成するようにシステムをセットアップします。

これにより、Cookie ベースのコンバージョン情報を使用して、対応するデバッグ レポートやアトリビューション レポートを参照できます。

ステップ 2: 成功した登録と欠落したレポートを特定する

この例では、Cookie ベースのシステムで 100 件のコンバージョンをトラッキングしているとします。

Cookie ベースのコンバージョンを記録するたびに、その Cookie ベースのコンバージョンと同じ <source_debug_key, trigger_debug_key> ペアを含む成功デバッグ レポート(すぐに送信)を探します。

これらの Cookie コンバージョンのうち 70 件について、成功デバッグ レポートを受け取ったとします。

  • 成功レポートはアトリビューションが正常に記録されたことを意味します。そのため、いくつかの例外を除き、各成功レポートに対応するアトリビューション レポートが得られると想定できます。
  • これらの例外をモニタリングすることもできます。そのためには、アトリビューション レポートが今後数日または数週間(有効期限によって異なる)にわたってエンドポイントに送信されるため、各成功デバッグ レポートと同じデバッグキー ペアを持つアトリビューション レポートを探します。少々お待ちください。レポートは、各期間の終了時にすぐに送信されない場合があります。アトリビューション レポートが 60 件しかないとします。この 10 件のアトリビューション レポートが表示されないのは、ユーザーの行動が原因である可能性があります。

ステップ 3:簡単な損失評価

100 ~ 70 = 30 件の成功デバッグ レポートがない。つまり、この 30 件のコンバージョン(Cookie ベースの実装でトラッキングされたコンバージョン)は、Attribution Reporting では記録されなかったということです。これらに関するアトリビューション レポートは送信されません。

Cookie ベースのコンバージョンは 100 件、アトリビューション ベースのコンバージョンは 70 件しかないため、損失は 30% になります。これで、損失評価が簡単にできました。

ステップ 4: 原因を分析する

これらのレポートが見つからない理由を調査するには、コンバージョン(トリガー登録)時、またはソース登録時以前に受信した、対応する詳細なデバッグ レポートを探します。Cookie ベースのコンバージョンのキーを使用して、詳細なデバッグ レポートにマッピングします。

  • 詳細なデバッグ レポートがないキーが 10 個あるとします。統合に問題がないか確認します。表示されていない場合は、ユーザーの行動が原因である可能性があります。
  • 詳細なデバッグ レポートが 20 件あります。これで、損失分析を改善できるようになりました。各詳細レポートの type フィールドを調べます。たとえば、次のような情報を確認できます。
    • pending destination limit により、10 件(この例では 10%)のレポートが欠落しています。
    • trigger-aggregate-no-contributions により、5 件(5%)のレポートが欠落しています。
    • unknown-error により、5 件(5%)のレポートが欠落しています。

ステップ 5: 対応とトラブルシューティングを行う

レポートが表示されない理由がわかってきたので、分析情報に基づいて対応を進めましょう。

実行するアクションは、各詳細レポートの type によって異なります。詳しくは、詳細レポートのリファレンスをご覧ください。次に例を示します。

  • pending-destination-limit はプライバシー保護のため、必要なご対応は特にありません。この数値は、独自の可視性とモニタリングのために、データポイントとして使用します。
  • trigger-aggregate-no-contributions は、ユーザー側の実装に問題があることを示す兆候である可能性があります。これをさらに分析してください。詳細レポートの本文に記載されている詳細を使用してトラブルシューティングを行い、必要に応じて修正します。
  • unknown-error は、ブラウザのバグまたはネットワーク エラーの兆候である可能性があります。この状況が繰り返し発生する場合は、ブラウザ デベロッパーにバグを報告してください。