サードパーティ Cookie のサポート終了トライアルによる追加の移行時間をリクエストする

テストを容易にするため、Chrome ユーザーの 1% に対してデフォルトでサードパーティ Cookie が制限されています。Chrome では、英国の競争・市場庁(CMA)が定める競争上の懸念への対処を条件として、2025 年初頭からすべてのユーザーに対してサードパーティ Cookie の制限を拡大する予定です。サポート終了プロセスを簡単に移行できるように、サードパーティのサポート終了トライアルを提供しています。このトライアルでは、埋め込みサイトとサービスが広告以外のユースケースでサードパーティ Cookie の依存関係から移行するための追加時間をリクエストできます。

この非推奨トライアルの登録は 2023 年 12 月 4 日の週に開始されました。非推奨トライアル自体は 2024 年 1 月に開始し、2024 年 12 月 27 日に終了します。デベロッパーは、トライアルの終了日までに、必要な変更と計画を行うことが求められます。

Google は、非推奨トライアルの登録が開始されてから、Chrome を利用したテスト期間に Cookie の 1% がブロックされるようになるまでに一定の期間があることを Google は認識しています。こうした時間的制約に対応するため、Chrome では参加しているオリジンが非推奨トライアル トークンをデプロイする間、猶予期間を設けています。2024 年 6 月 30 日までの猶予期間中は、サポート終了トライアルに登録されたオリジンは、トークンをまだデプロイしていなくても Chrome のサードパーティ Cookie にアクセスできます。この猶予期間の目的は、移行フェーズ中にウェブの互換性の問題が発生しないようにすることです。参加しているオリジンは、猶予期間が終了する前に非推奨トライアル トークンをデプロイする必要があります。

非推奨トライアル

サポート終了トライアルは Chrome の標準オプションです。サイトが廃止される以前の機能から移行するための猶予期間を登録できます。非推奨トライアルはオリジン トライアルの一種で、機能を一時的に再度有効にできます。

このトライアルは、サードパーティ Cookie を設定し、次のセクションで説明する利用条件を満たす埋め込みとサービスを対象としています。つまり、埋め込みまたはサービスがサードパーティの場合は、サポート終了トライアルに登録することで、その埋め込みまたはサービスが含まれるすべての状況でサードパーティ Cookie を一時的に再度有効にできます。試用は、登録された埋め込みオリジンにのみ適用され、ユーザーがアクセスするトップレベルのサイトドメイン全体には適用されません。

https://top.example に https://embed.example/iframe.html の埋め込みページが表示されているサードパーティ / クロスサイトの iframe の例と、https://top.example に含まれている https://third-party.example/script.js のスクリプトを示すサードパーティ / クロスサイトのスクリプトの例

Cookie に依存するサードパーティを使用するトップレベル サイトでは、このサポート終了トライアルに登録する必要はありません。サイト内で使用されているサードパーティ Cookie を監査し、サードパーティ プロバイダに問い合わせて、サポート終了に向けた準備が整っていることをご確認ください。

利用条件と審査プロセス

この非推奨トライアルは、参加のためのレビューと承認プロセスが導入されている点で、以前のトライアルとは異なります。これは、ウェブ上のユーザーのプライバシーを向上させながら、必要に応じてユーザーの移行時間の延長をリクエストできるように、ユーザーが利用しているサービスを可能にするというバランスを取るためです。

この非推奨トライアルの指針は次のとおりです。

  • ユーザーに不可欠な機能の維持: この非推奨トライアルは、ユーザー ジャーニーで機能の障害を示したサードパーティ プロバイダを対象としています。
  • ユーザー トラッキングの制限: 非推奨トライアルは、広告を目的としたクロスサイト トラッキングのサポートを意図したものではありません。そのため、広告に使用されるサードパーティの埋め込みやサービスは対象外です。

広告ユースケースが対象外になることは、サポート終了トライアルが競争・市場庁の定める 2024 年初頭に予定されている業界テストの妨げにならないようにするうえでも役立ちます。これには、広告以外の目的にも使用される広告関連のドメインも含まれます。

Chrome ではまず、インターネット プライバシーの業界リーダーである Disconnect.me と連携して、広告として分類されるスクリプトとドメインを識別するために Disconnect のトラッカー保護リストを実装します。切断は、ウェブ上で同様の目的で他のブラウザですでに使用されています。

登録リクエストには、次のプロセスが適用されます。

  • 第三者のオリジンが既知の広告ドメインと一致する場合(オリジンが接続解除アドバタイジング リストのエントリと一致する場合など)、登録リクエストは拒否されます。一般に、このリストのエントリは、指定したオリジンの下のすべてのサブドメインに一致します。ただし、一部のエントリにはパス要素が含まれます。これらのより具体的なエントリは、指定されたオリジンと一致しますが、サブドメインとは一致しません。
  • 不完全なユーザー向けエクスペリエンスを再現するための手順を提供する必要があります。特に、これは Cookie が保存されているデバイスを操作しているユーザーに対するエクスペリエンスであり、ユーザーが後でデータの分析を行うユーザーではありません。不完全なユーザー エクスペリエンスを検証できない場合、登録リクエストは拒否されます
  • それ以外の場合、登録リクエストは承認されます
  • オリジンが以前に承認されたアプリケーションと「類似」している場合は、オリジン間の関係について説明します。

登録元が、より詳細な情報によって審査の判断が明確になると判断した場合は、再審査請求プロセスを提供する予定です。登録者は、オリジン トライアル コンソールで再申請することで、再審査請求をリクエストできます。再審査請求の目的は、リクエストされた情報が不足しているために拒否されたリクエスト(既知の破損バグや破損の再現手順)や、登録元が審査決定を明確化するための追加の情報がこれらの要件を満たすと考えている場合です。

また、裏付けとなる証拠が見つかる不正使用対策と不正防止のユースケースも承認しています。これらのユースケースを評価するためのフィードバックをぜひお寄せください。

非推奨トライアルに申し込む

機能の障害を検証するために Google のチームが使用できる再現手順を含めます。その方が簡単な場合や、機能がログインなどによって制限されている場合は、Chrome DevTools のレコーダーを使用して、問題を再現する手順の記録へのリンクを提供できます。

  1. [サードパーティ Cookie のサポート終了のトライアル] に移動し、[登録] をクリックします。
  2. [Web Origin] には、埋め込みページまたはスクリプトを提供する生成元を指定します。
  3. 「サードパーティ マッチング」オプションは、トークンを提供する方法によって異なります。オプションの詳細については、トライアル トークンを追加するをご覧ください。
    • 埋め込みページの HTTP ヘッダーまたはメタタグでトークンを指定する場合は、[第三者一致] をオンにしないでください
    • JavaScript を使用してトークンを別のサイトに挿入する場合は、[サードパーティ マッチング] をチェックする必要があります
    • 両方を行う場合は、別々に登録する必要があります。
  4. 複数のサブドメインにまたがってクロスサイト コンテンツをホストする場合は、[オリジンのすべてのサブドメインに一致するトークンが必要] オプションをオンにします。
    • このオプションを選択すると、提供されるトークンが登録されているドメインとその下位のドメインに一致します。たとえば、example.comwww.example.comfoo.example.combar.foo.example.com に一致するように https://example.com を登録します。https://www.example.com を登録すると、トークンは www.example.comfoo.www.example.com と一致しますが、foo.example.com とは一致しません。
    • トークンは、ワイルドカード一致と同様に複数のサブドメインに一致します(例: *.<domain>)。example.com のトークンをリクエストすると、a.example.comb.example.com で取得できます。サードパーティ Cookie へのアクセスは、すべてのサブドメインではなく、トークンを提供する特定のオリジンでのみ再び有効になります。サブドメインのマッチングが有効な場合に有効になる Cookie をご覧ください。
    • 同じドメインに属さない別々のオリジンにクロスサイト コンテンツをホストする場合は、オリジンごとに別々の登録を行う必要があります。
  5. すべてのチェックボックスをオンにして、「開示と確認」に含まれるすべての条件に同意します。
  6. リクエストを送信します。
  7. お客様のリクエストに対応するには、追加の情報が必要です。次の内容を求める自動生成チケットを含むメール通知が送信されます。
    • リクエストしたオリジンに関連付けられているサブドメインの数
    • 以前に goo.gle/report-3pc-broken に報告した、関連するサードパーティ破損リポジトリのバグのバグ ID またはリンク。
    • 障害やユースケースについて、考慮すべき追加情報やコンテキスト。(トライアルの拒否に対して再審査請求を行う場合は、そのオリジンがこのトライアルの条件を満たしている理由と方法について説明します)。

送信されたリクエストは Google が審査し、審査が完了したか、追加情報が必要か、リクエストが承認されたか拒否されたかが通知されます。また、結果のステータスと根拠も受け取ります。承認されたら、必要に応じてトライアル トークンを提供できます。拒否された場合は、リクエスト チケットのガイダンスに沿って対応できます。

テスト用のフラグを設定する

現時点では、効果的なテストを行うために、次のフラグを設定することをおすすめします(Chrome 123 以降)。このようにフラグ設定を組み合わせることで、モード B のユーザー エクスペリエンスが再現されます。

  • chrome://flags/#third-party-cookie-deprecation-trialenabled
    これがデフォルトです。トライアルへの参加を許可します。

  • chrome://flags/#tracking-protection-3pcdenabled
    トラッキング保護を有効にする: アドレスバーに目のアイコンの UI を表示して、サイトのサードパーティ Cookie を一時的に有効にできるようにし、chrome://settings/cookies の代わりに chrome://settings/trackingProtection を提供します。

  • chrome://flags/#tpcd-metadata-grantsdisabled
    Chrome は猶予期間中と同じ動作をします。これにより、猶予期間が終了する前に、サイトで非推奨トライアル トークンが正しくデプロイされていることを確認できます(猶予期間中のサイトの場合)。

  • chrome://flags/#tpcd-heuristics-grantsdisabled
    ヒューリスティック ベースの緩和策を許可しない。これは、他の長期修正(サードパーティ Cookie なし)がヒューリスティックによる緩和なしに期待どおりに機能するかどうか、非推奨トライアルへの参加が期待どおりに機能しているかどうかをテストするのに役立ちます。

デプロイをテストする前に、猶予期間が想定どおりに機能していることを手動でテストする必要がある場合は、chrome://flags/#tpcd-metadata-grants を無効にする代わりにenable必要があります。

トライアル トークンを追加する

詳しくは、オリジン トライアルを使ってみるサードパーティのオリジン トライアルChrome オリジン トライアルのトラブルシューティングをご覧ください。

クロスサイト コンテキストで Cookie を設定または送信するすべてのページ レスポンスにトライアル トークンを含める必要があります。

HTTP ヘッダーでトークンを指定する

クロスサイト iframe 内に埋め込まれたページでサードパーティ Cookie を再度有効にする必要がある場合は、ページ レスポンスに Origin-Trial HTTP ヘッダーを含めることができます。

Origin-Trial: TOKEN_GOES_HERE

これは、独自のレスポンスでトークンを提供するため、非推奨トライアルの登録で「サードパーティ マッチング」を有効にしないことに相当します。

そのページ レスポンスで Cookie が設定されます。同じオリジンへの後続のリクエスト(そのページのサブリソース、そのページからのナビゲーションなど)には、サイトのクロスサイト Cookie が含まれ、Cookie も設定される場合があります。

ページのレスポンスで提供されるトークンを繰り返し表現した図。

セッションの送信元への最初のリクエストでクロスサイト Cookie が必要な場合は、Critical-Origin-Trial ヘッダーを使用してトライアル名を渡すこともできます。

Critical-Origin-Trial: Tpcd

これにより、ブラウザはサードパーティ Cookie を有効にしてリクエストを再試行します。

非推奨トライアルは永続的なトライアルとして提供されます。つまり、ブラウザでトークンが受信されると、トライアル トークンなしで iframe が読み込まれるまで、トライアルの動作が適用されます。iframe の読み込みごとにトライアル トークンを一貫して送信することをおすすめします。

トークンをメタタグで指定する

ページ内では、ドキュメント <head> 内のメタタグを使用できます。

<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">

メタタグによって、ページ内の後続のリクエストや JavaScript でクロスサイト Cookie が有効になりますが、最初のリクエストで既存の Cookie を送信する必要がある場合は HTTP ヘッダーを使用する必要があります。

JavaScript を使用してトークンを挿入する

独自のページ リクエストを処理する前、または提供せずにオリジンのサードパーティ Cookie を有効にする必要がある場合(クロスサイト画像リクエストで Cookie が必要な場合や、JavaScript で iframe を作成する場合など)は、JavaScript を使用してトップレベル サイトにトークンを挿入できます。

const otMeta = document.createElement('meta');
otMeta.httpEquiv = 'origin-trial';
otMeta.content = 'TOKEN_GOES_HERE';
document.head.append(otMeta);

これを許可するには、オリジン(サードパーティ)のトークンを別のサイトに挿入するため、非推奨トライアルの登録で「サードパーティ マッチング」を有効にする必要があります

サードパーティ マッチングが有効になっているトークンは、独自のオリジンを含む任意のオリジンに挿入でき、機能します。

サードパーティ スクリプトが親ページにトークンを挿入することを繰り返し示している図。

トライアル トークンなしで iframe が読み込まれた場合、永続的なトライアルは無効になります。サードパーティのスクリプト読み込みでトライアルが有効になっていた場合でも、読み込まれるすべての iframe でトライアル トークンを一貫して提供する必要があります。

トークンを検証する

Chrome DevTools を開き、[Application] パネルを選択して、[Frames] タブを展開します。 トークンが提供されている場合、任意のフレームを選択すると、[Origin Trials](オリジン トライアル)セクションが表示されます。トークンをトップレベル サイトに挿入する場合は、「top」エントリに表示されます。それ以外の場合は、埋め込みページに対応するフレームを選択する必要があります。

トークンを指定している場合は、[Origin Trials] セクションに「Tpcd」のエントリが表示されます。この機能が正常に有効になると、緑色の [有効] ステータスが表示されます。それ以外の場合は、赤色のエラー ステータスが表示されます。エントリを展開すると、問題を確認できます。

非推奨トライアルを有効にするために必要な有効なトークンは 1 つのみです。ファーストパーティ マッチングとサードパーティ マッチングの両方に登録している場合は、ページ内で両方のトークンを提供しても問題はありません。たとえば、異なる方法で埋め込まれる可能性のある 1 つのページがある場合、トークンを動的に選択する必要はありません。両方を指定すると、どちらのコンテキストでもトライアルが有効になります。

有効になっている Cookie

非推奨トライアルでは、トライアルに登録されたオリジンのサードパーティ Cookie のみが有効になります。有効にすると、そのオリジンへの iframe およびサブリソースのリクエストにサードパーティ Cookie が存在します。このオリジンの iframe では、document.cookie でもサードパーティ Cookie を使用できます。

Cookie の Domain 属性はここでは考慮されません。リクエスト URL の生成元のみが考慮されます。リクエストにサードパーティ Cookie が含まれていると判断された場合は、Cookie のドメインの方が制限が緩やかな場合でも、該当する Cookie はすべて通常どおり追加されます。

たとえば、https://one.test.example が登録されていて、そのトークンが https://one.test.example iframe 内で提供されている場合は次のようになります。

  • https://one.test.example/image.jpg は、https://one.test.example から設定された Cookie を受信します
  • https://one.test.example/image.jpg は、Domain=.test.example で他のオリジンから設定された Cookie を受信します
  • https://test.example/image.jpg または https://two.test.example/image.jpg リクエストは、同一オリジンではないため、サードパーティ Cookie を受け取らません

サブドメインのマッチングが有効になっている場合、どのような Cookie が有効になりますか?

「すべてのサブドメインに一致」オプションを使用すると、登録オリジンまたはより具体的なサブドメインを持つオリジンで 1 つのトークンを使用できます。サブドメインが一致する https://test.example のトークンを使用して、https://test.examplehttps://one.test.examplehttps//two.test.example の iframe とサードパーティ スクリプトの読み込みでトライアルを有効にできます。

また、サブドメインの照合を有効にすると、対応するサブドメインに関連付けられたリクエストや iframe でも、サードパーティ Cookie を使用できるようになります。たとえば、https://test.example がサブドメイン マッチングを使用している場合、https://cdn.one.test.example/image.jpg などのサブリソース リクエストはサードパーティ Cookie を受け取ります。

トライアルの無効化では、サブドメインの一致は考慮されません。トライアルを無効にするには、登録のオリジンと完全に一致する iframe をトークンなしで読み込む必要があります。したがって、サブドメインが一致する https://test.example の登録は、トークンのない https://test.example iframe によってのみ無効にできます。これは今後変更される可能性があるため、トライアルを有効にする場合はすべてのサブフレーム iframe でトークンを提供し、トライアルを無効にする場合はすべての iframe からトークンを削除することをおすすめします。

トライアル トークンのトラブルシューティング

Chrome オリジン トライアルのトラブルシューティングでは、トライアル トークンの登録とデプロイのデバッグに役立つ包括的なチェックリストを提供しています。

この試用版では、よくある問題がいくつかあります。

  • [オリジンのすべてのサブドメインに一致するトークンが必要です] オプションを選択すると、提供されるトークンは登録されているドメインとその下位のドメインに一致します。たとえば、example.comwww.example.comfoo.example.combar.foo.example.com に一致するように https://example.com を登録します。https://www.example.com を登録すると、トークンは www.example.comfoo.www.example.com と一致しますが、foo.example.com とは一致しません。
  • サードパーティのサイトやウェブサイトに埋め込まれたサービスは、トライアルに登録する必要があります。管理または所有していないドメインは申請しないでください。
  • オリジン トライアルの登録を間違えた場合は、新たに登録してエラーを修正し、新しいトークンを取得する必要があります。

よくある質問

  1. Disconnect.me リストについて質問がある場合はどうすればよいですか?
  2. ドメインが広告目的と非広告目的の両方で使用されている場合、非推奨トライアルに登録できますか?
    • 以前にこのブログで説明した理由により、広告に使用されるサードパーティの埋め込みとサービスは、非推奨トライアルの対象にはなりません。これには、広告以外の目的でも使用される広告関連のドメインも含まれます。詳しくは、適格性の基準と審査プロセスをご覧ください。
  3. サイトは、どのパートナーが非推奨トライアルに登録しているかを確認できますか?パートナー全体で登録を制限できますか?
    • はい。サイトは Chrome DevTools の [Application] パネルでトークン情報を確認することで、非推奨トライアル トークンに依存している埋め込みとサービスを確認できます。詳しくは、Chrome のオリジン トライアルのトラブルシューティングをご覧ください。
    • トップレベル サイトでは、パートナー全体またはページ上の埋め込みとサービス全体での登録を制限できません。必要に応じてパートナーにお問い合わせください。
  4. このトライアルは、ユーザー エージェントの削減オリジン トライアルなどの他のトライアルとどう違うのですか?
    • この非推奨トライアルの主な違いは、参加条件と、オリジン トライアル コンソールの新しい UI とページを満たすことを含む新しい登録プロセスです。
    • 2 つ目は、多くのサイト/サービス クライアントにおいて、ウェブの互換性に関する問題の解決がサードパーティの埋め込みサイト専用であることです。
  5. トップレベルのサイトが登録してサイト全体で 3PC を有効にすることができる、サードパーティ Cookie のサポート終了に対するファーストパーティのサポート終了トライアルはありますか?
    • 現時点では、サードパーティの埋め込みとサービスに焦点を当てています。ファースト パーティ サイトについては、引き続き問題を解消するためにサイトに直接変更を加えることをおすすめします。また、埋め込みサードパーティには、このサポート終了トライアルに登録するようおすすめします。
  6. 非推奨トライアルの申請の審査にはどのくらいの時間がかかりますか?申請のステータスはどこで確認できますか?
    • 回答までの時間はそれぞれ異なります。第 1 四半期の初めにサードパーティ Cookie が 1% 廃止されるのに備えるため、できるだけ早く登録プロセスを開始することをおすすめします。登録を送信してから 1 ~ 2 週間以内に連絡がない場合は、3pcd-deprecationtrial@google.com までご連絡ください。
    • 未解決の会話、決定ステータス、根拠のためのバグスレッド。
  7. 非推奨トライアルの登録が承認され、推奨されているようにトライアル トークンをデプロイしました。しかし、非推奨トライアルは期待どおりに機能していません。どうすればよいですか?