Chrome 主導のテスト

サードパーティ Cookie の廃止に備え、 サイトがサイトの動作をプレビューできる Chrome 向けのテストモード サードパーティ Cookie がなくても動作します。このガイドでは、Chrome で提供予定のテストモードの概要と、テストグループラベルにアクセスする方法について説明します。

このコンテキストでの Chrome ブラウザは、Chrome クライアント(デバイスにインストールされている Chrome)を指します。各個別のユーザーのデータ ディレクトリは、個別のクライアントを構成します。

テストグループ: 特定の機能が利用できる Chrome ブラウザのセット 有効、無効、または構成されていることを示します。Chrome を利用した場合 テスト(ラベルが設定されたブラウザのセット)です。

ラベル: このコンテキストでは、テストグループに属するブラウザに設定されたリクエスト ヘッダー値。テストグループ内の各ブラウザは、その後もグループ内で維持されます Chrome を利用したテスト期間であり、特定の商品のラベルが テスター間でのブラウザの整合性が維持されます。

2 つのモードがあります。

  • モード A: 2023 年 11 月より、PS R&M API をテストしている組織は、一部の Chrome ブラウザで一貫性のあるラベルの受け取りを有効にできるようになりました。これにより、さまざまなテスター間でテストを調整できるようになります。
  • モード B: 2024 年 1 月 4 日より、Chrome の一部ブラウザでサードパーティ Cookie が全世界で無効になりました。

モード B でサードパーティ Cookie が無効になっている場合、サードパーティ Cookie が完全に廃止されるまで無効のままとなります。

Google は CMA と連携し、これらのテストモードが 業界テストに関するガイダンスに記載されているサードパーティのテスト フレームワーク(およびタイムライン)と一致するようにしました。そのため CMA は、これらのモードでのテスト結果は、 プライバシー サンドボックスの評価に使用できます。CMA は テスト設計 2 の結果に重点が置かれる可能性があります。 モード B のラベルとモード A コントロール 1 のラベルです。詳しくは、 CMA の 10 月 26 日のガイダンス をご覧ください。

ラベルには、使用可能な一時的な Sec-Cookie-Deprecation 値を使用してアクセスできます。 読み取る操作を記録します実装の詳細については、Sec-Cookie-Deprecation 値を使用してラベルにアクセスするをご覧ください。

また、この提案は通常、 Blink の開発プロセス 技術設計と Chrome リリースのマイルストーンが確定する。 これが Google がリリースする実装ですが、 承認されると、これらの詳細は今後変更される可能性があります。計画の進展に伴い、このページは引き続き更新されます。フィードバックや質問をお寄せください。

モード A: ラベル付きブラウザ グループ

テストにご参加いただいた組織では、 永続的なラベルのセットを Chrome ブラウザのサブセットに維持し、 同じブラウザセット上の異なる広告テクノロジー間で調整されたテスト。 たとえば、ブラウザが label_only_3 テストグループに該当する場合(次の表を参照)、参加しているすべての広告テクノロジーが同じ label_only_3 ラベルを認識し、それに応じて調整できます。つまり、PS R&M API は使用しますが、サードパーティ Cookie は使用しません。ページの参加者は、広告の選択と測定の全プロセスでテストの一貫性を保つため、ラベルが他の参加者に転送されるようにする必要があります。

たとえば、複数の参加者が Protected Audience 一貫したブラウザ グループで、サードパーティ Cookie を使用しないオークションオークション販売者の参加者は、テストの調整を容易にするために、検出されたラベルを購入者に転送します。

このラベルは Chrome のインスタンスの動作には影響しません。 これにはサードパーティ Cookie の可用性も 含まれますラベルは、独立した調整されたテストのグループ化を提供しますが、テストに関連するパラメータを適用するのは参加者次第です。サードパーティ Cookie の削除の効果をテストする場合、各参加者は、そのラベルが付いたブラウザのサードパーティ Cookie データを除外する責任を負います。

通常の Chrome トラフィックを代表するグループを作成することが目的です。つまり、サードパーティ Cookie と PS R&M API の両方が使用可能であるはずですが、一部のユーザーは設定や拡張機能を使用して機能を変更または無効にしている可能性があります。

通常、ラベルは Chrome のブラウジング セッション全体とセッション間で保持されます。ただし、ブラウザを完全にリセットすると現在のラベルもリセットされる場合があるため、この方法でラベルがリセットされるとは限りません。

Chrome Stable ブラウザの 8.5% をモード A に、 母集団を 9 つのグループに分けますより小さなサブグループは、広告テクノロジーがラベルを柔軟に組み合わせて、さまざまな規模の独自のテストを作成する目的で用意されています。グループが重複することはありません。

control_1.* ラベルは、CMA の業界テストに関するガイダンスに記載されているように「コントロール 1」として使用することを目的としています。そのため、テスト参加者は、このトラフィックに対して Topics API を使用したり、Protected Audiences オークションを実施したりしないでください。ラベルはブラウザの動作に影響しないため、参加者は control_1.* グループラベルを検出したときに、検出されたトピックを渡したり、Protected Audience オークションを実行したりしないでください。

このグループの選択が参加組織のニーズを満たしているかどうかについて、フィードバックをお寄せください。

ラベル 安定トラフィックの割合
control_1.1 0.25
control_1.2 0.25
control_1.3 0.25
control_1.4 0.25
label_only_1 1.5
label_only_2 1.5
label_only_3 1.5
label_only_4 1.5
label_only_5 1.5

モード A label_only_ のブラウザ グループは 2023 年 11 月からご利用いただけます。 モード A の control_1_* グループは、2024 年 1 月 4 日から利用可能になりました。

モード B: サードパーティ Cookie の 1% を無効にする

Chrome は 2024 年 1 月 4 日より、Chrome Stable ブラウザの約 1% でサードパーティ Cookie を無効にしました(2023 年第 4 四半期には、Dev、Canary、Beta ブラウザでも無効にしました)。PS R&M API をテストする組織では、 ブラウザ全体に均一に適用されるため、このモードを有効にする できます。サイトが CHIPS関連ウェブサイト セットなどの代替ソリューションをまだ導入していない場合、一部のサイト機能に影響する可能性があります。

さらに、モード B ではトラフィックのごく一部を PS R&M API が無効になっています関連ウェブサイト セット、CHIPS、FedCM などの他の API は、無効になりません。この組み合わせが役立つことが予想されます サードパーティ Cookie のないブラウザのパフォーマンスのベースラインを確立する 使用できます

モード B の一環として、影響を受けるブラウザのラベルも提供しています。ラベルは、API が無効になっているときに使用できます。私たちは 母集団を 3 つの treatment_1.* グループに分け、 無効化されているが、PS R&M API が使用可能で、 サードパーティ Cookie と PS R&M API の両方が含まれる control_2 グループ 無効です。

Attribution Reporting API と Private Aggregation API の統合のデバッグと、テスト参加者がノイズの影響をよりよく理解できるようにするため、ユーザーがサードパーティ Cookie を明示的にブロックしていない限り、モード B のブラウザでは ARA デバッグ レポートPrivate Aggregation デバッグ レポートを引き続き利用できます。PS R&M API はスライスで使用できないため、control_2 ではデバッグ レポートを使用できません。デバッグ レポート サードパーティ Cookie の段階的廃止に伴い、段階的に廃止されます。

  • Attribution Reporting API では、サードパーティ Cookie が無効になっているため、レポート送信元は ar_debug Cookie を設定できません。デバッグ レポートの受信をオプトインまたはオプトアウトするには、debug_key フィールド(アトリビューション成功レポート用)と debug_reporting フィールド(詳細レポート用)を設定する必要があります。
  • Private Aggregation API の場合、レポート送信元は enableDebugMode(): デバッグ レポートの受信のオプトインを管理します。 企業は引き続き 帰属表示の使用に規制上の義務がどのように適用されるかを検討する Reporting API と Private Aggregation API(デバッグ レポートを含む)

モード A は引き続き実行され、これらのグループは、次のようにモード A グループとは区別されます。 のユーザーはモード A かモード B か どちらでもないかのいずれかになりますテストの参加者 ステータスを表すコントロール グループとして control_1.* トラフィックを使用する必要があります。 サードパーティ Cookie も活用しています

ラベル 安定トラフィックの割合
treatment_1.1 0.25
treatment_1.2 0.25
treatment_1.3 0.25
control_2 0.25

また、Chrome Canary、Dev、Beta のクライアントの 20% で Cookie の使用が制限されています。

ラベル 安定化前のトラフィックに占める割合
prestable_treatment_1 10%
prestable_control_2 10%

これらのテスト群のいずれかにテスト群を追加すると、安定版の同等のテスト群と同じ効果が得られます。

モード A と同様に、PS R&M API が使用可能であることは保証されません。ユーザーが Chrome の [プライバシーとセキュリティ] 設定で無効にできるためです。同様に サードパーティ Cookie が無効になるという保証はなく、 control_2 グループ(ユーザーはブラウザの UI にアクセスしてサードパーティを許可できるため) できます。

テストのモニタリング

各パターン群とコントロール群の相対的なトラフィック量をモニタリングする ラベルです。treatment_1.1 のトラフィック量は、 treatment_1.2treatment_1.3

バージョン 120 より前の Chrome バージョンから送信されたラベルを含むトラフィックは、慎重に扱うことをおすすめします。通常これらの作業を担当するチームが 「無効なトラフィック」を識別し、その特性を示すユーザー エージェントを そのようなイベントを除外した方がよいでしょう。

期間前のラベル

2024 年 1 月までは、複数のテスト群で事前期間を実施しました。この事前期間は 正確なサイズ設定と統計的選択が可能に バイアスのない集団ですこれらの前期間は、1 月に開始が予定されていたすべての群(Mode B 群と Control_1.* 群)で実施されました。データ アナリストが デベロッパーやサイトのアクションに 動作や API の可用性が変わりますが、指標スコープと preperiod ラベルが返される場合があります。ブラウザが 「preperiod」ラベルはテストグループのいずれかに遷移する可能性がありますが、 そのため、このラベルの付いたブラウザは、 テスト対象になります

テスト群とは、調査対象の母集団のサブセットです。 ラベルが付けられたグループの 1 つです

モード A とモード B の期間中は、一時的な オプトインの HTTP ヘッダーと JavaScript を使用してアクセスできる Sec-Cookie-Deprecation の値 API: ブラウザの該当するモード A またはモード B のラベルを提供します。 テストグループ(上記の割合で定義)が、 できます。

ラベルへのアクセスには、ユーザーのデバイスに保存されている情報へのアクセスも含まれます。一部の司法管轄区(EU や英国など)では、このアクティビティは Cookie の使用に類似しているため、ラベルにアクセスするにはエンドユーザーの同意が必要になる可能性があります。ラベルのリクエストを開始する前に、 この同意義務がお客様に適用されるかどうかに関する法的助言。

Sec-Cookie-Deprecation リクエスト ヘッダーを受信するには、まずサイトで receive-cookie-deprecation Cookieこの Cookie には Partitioned 属性を使用する必要があります。つまり、ヘッダーの受信のオプトインはトップレベル サイトごとに行う必要があります。

たとえば、3p-example.siteexample.com に埋め込まれたリソースの Sec-Cookie-Deprecation ヘッダーを受信する場合、3p-example.site はそのコンテキストで次の Cookie を設定する必要があります。

Set-Cookie: receive-cookie-deprecation=1; Secure; HttpOnly; Path=/; SameSite=None; Partitioned;  Max-Age=15552000

Cookie 属性 SecureHttpOnlySameSitePartitioned は次のとおりです。 必須です。DomainPathExpiresMax-Age の各属性を設定できます。 必要に応じて選択できますが、Path=/ がデフォルトです。例 ここで Max-Age=15552000 を設定し、Cookie が 180 日が経過するまで期限切れにならないようにします。 日

receive-cookie-deprecation=1 Cookie の設定を開始することをおすすめします Chrome を利用したテスト期間が始まる前に、 テストグループ内のブラウザには Sec-Cookie-Deprecation が含まれる リクエスト ヘッダーを使用します。

たとえば、ブラウザが example_label_1 グループにあると仮定すると、この Cookie を含む後続のリクエストにも Sec-Cookie-Deprecation ヘッダーが含まれます。

Sec-Cookie-Deprecation: example_label_1

ブラウザがグループに属していない場合、ヘッダーは送信されません。ラベルは Cookie の存在に関連付けられているため、Cookie が削除された場合、完全にブロックされた場合、または特定のサイトでブロックされた場合、ラベルは送信されません。Partitioned 属性は、サードパーティ Cookie のサポートが完全に終了した後も引き続き使用することを目的としているため、サードパーティ Cookie がブロックされたときに Partitioned Cookie が設定される場合があります。

cookieDeprecationLabel JavaScript API にアクセスする

Sec-Cookie-Deprecation 値には、次のコマンドを使用してアクセスすることもできます。 navigator.cookieDeprecationLabel.getValue() JavaScript APIこれにより、該当するグループラベルを含む文字列に解決される Promise が返されます。対象 たとえば、ブラウザが example_label_1 グループに属している場合、次のようになります。

// Feature detect temporary API first
if ('cookieDeprecationLabel' in navigator) {
 // Request value and resolve promise
 navigator.cookieDeprecationLabel.getValue().then((label) => {
   console.log(label);
   // Expected output: "example_label_1"
 });
}

ブラウザがグループに属していない場合、API を使用できないか、 値は空の文字列になるため、特徴検出を必ず行ってください。

JavaScript API は、receive-cookie-deprecation Cookie の有無にかかわらず呼び出される場合があります。ただし、Cookie が完全にブロックされると、 サイト自体について API が再度使用できなくなるか、 空の文字列が返されます。

クライアント提供の値と同様に、使用前にヘッダーまたは JavaScript API の値をサニタイズして検証してください。

デモとテスト

Chrome 120 以降では、ローカル デベロッパーを有効にするためのフラグが用意されています。 ラベルのリクエストと読み取りのテストです。

chrome://flags/#tpc-phase-out-facilitated-testing フラグを使用すると、テストラベルの選択を有効にできます。これらのラベルには接頭辞 fake_ が付加されています。 本物のラベルと区別できますこのフラグを有効にしても、ブラウザがいずれかのテストグループに登録されることはありません。

ラベルの動作は goo.gle/cft-demo で確認できます。

プライバシー サンドボックスの関連性と測定に関する API には登録が適用されるため、chrome://flags/#privacy-sandbox-enrollment-overrides を使用してデモ送信元を指定し、ローカルテストで適用をオーバーライドすることが必要になる場合があります。または、kubectl に次のコマンドライン フラグを ターミナルから Chrome を実行する方法を紹介します。 --args --disable-features=EnforcePrivacySandboxAttestations

chrome://flags/#tpc-phase-out-facilitated-testing
Chrome を利用したテストフラグの設定

フラグのプルダウンには複数のオプションがあります。テスターは主に「強制」とマークされたエントリに注目します。これらのエントリにより、他のデバイス構成に関係なくテスト動作が有効になります。

テストグループのラベルのみをテストするには、[強制制御 1 を有効化] を選択しますまたは 「Force LabelOnly を有効にしました」。これにより、ブラウザは「fake_control_1.1」または「fake_label_only_1.1」ラベルを送信します。

Chrome M120 以降では、次のエントリも使用できます。

サードパーティ Cookie のブロックをテストするには、[Enabled Force Treatment] を選択します。これにより、「fake_treatment_1.1」テストグループラベルが送信されますが、Cookie 設定ページと現在の Cookie 設定が変更され、サードパーティ Cookie がブロックされます。

Private Ads API を使用せずにサードパーティ Cookie のブロックをテストするには、[強制的に コントロール 2」。これにより "fake_control_2"テストグループのラベル, 更新 Cookie の設定ページで、サードパーティの Cookie をブロックしたり、新しい Cookie を プライベート広告 API

なお、フラグを無効にしても、ブラウザに新しい Cookie 設定ページとサードパーティ Cookie をブロックする設定が残る問題があります。この問題の解決に向けて取り組んでおりますが、それまでは、--user-data-dir=<new dir> コマンドライン フラグを使用して Chrome を起動することで、これらのフラグ値を別の Chrome データ ディレクトリでテストできます。

フィードバック

&quot;chrome-testing&quot; を使用します。 質問を管理するために、GitHub のデベロッパー サポート リポジトリにあるラベルを使用します。歓迎 フィードバックとディスカッション:

「Chrome によるテスト」テンプレートを使用して、リポジトリで新しい質問やディスカッションを投稿することもできます。