サードパーティ Cookie には多くの用途がありますが、クロスサイト トラッキングを可能にする重要な要素でもあります。
Chrome は、サードパーティ Cookie を使用したユーザー選択型の新しいエクスペリエンスを提案しています。サードパーティ Cookie を使用しないブラウジングを選択するユーザーに対応できるよう、サイトを準備する必要があります。
このページでは、従来サードパーティ Cookie に依存していた埋め込みシナリオ向けのプライバシー保護ソリューションと、ニーズに最適なソリューションを選択するための戦略について説明します。
埋め込みサービス(埋め込み)には、サードパーティのコンテンツ(動画、地図など)、インタラクティブなコンポーネント(チャット、コメント システム、支払いサービスなど)、ログイン サービスなどがあります。
サードパーティ Cookie からの移行作業のほとんどは、埋め込みをホストするサイトではなく、埋め込みのデベロッパーが行う必要があります。このガイドでは、主に埋め込みサービスを作成するデベロッパー向けのソリューションについて説明します。
サイトがサードパーティ Cookie を使用する埋め込みに依存している場合は、埋め込み関連のジャーニーを監査してテストし、不具合が見つかった場合は埋め込みプロバイダに連絡してください。
埋め込みに関連するユーザー ジャーニーを監査してテストする
埋め込みがサードパーティ Cookie の影響を受けているかどうかを判断する最善の方法は、サードパーティ Cookie テストフラグを有効にしてサードパーティ埋め込みのユーザーフローをテストすることです。
サードパーティ Cookie を制限したら、以下の一般的な埋め込みシナリオをテストします。
- チャット ウィジェット: チャット セッションを開始できますか?セッションを失うことなくページを更新できますか?他のページに移動してセッションを維持できますか?
- コンテンツの埋め込み: 動画コンテンツやその他の埋め込みコンテンツを表示できますか?言語や字幕などのユーザー設定は維持されますか?広告は想定どおりに表示されていますか?(例: プレミアム サブスクライバーとして広告が表示されない)
- ログイン: ログイン(シングル サインオン(SSO)ログインを含む)は、ログインをサポートしている埋め込みで機能していますか?ページの再読み込みや、同じ埋め込みを使用するページへの移動後も保持されますか?
- コメント ウィジェット: コメントを投稿、高評価、高評価を押すことはできますか?
- 埋め込み型の決済ソリューション: 支払いを正常に完了できますか?
以降のセクションでは、これらのフローがどのように影響を受ける可能性があるかについて詳しく説明します。
一般的なユースケース
従来サードパーティ Cookie に依存していた埋め込みに使用できる API はいくつかあります。次の表に、一般的なワークフローと、概要として使用することをおすすめする API を示します。以降のセクションでは、これらの推奨事項の理由について説明します。
ユースケース | サードパーティ Cookie の使用に推奨される API |
---|---|
チャット ウィジェット | CHIPS |
地図の埋め込み | CHIPS |
信頼できないユーザー コンテンツのサンドボックス ドメイン (googleusercontent.com、githubusercontent.com など)で、ニュース メディアごとに状態のスコーピングが必要な場合 |
CHIPS |
パブリッシャーごとに状態のスコーピングが必要な埋め込み広告 | CHIPS |
ID プロバイダを介してログインする | FedCM |
関連する異なるオリジンでホストされている埋め込み。 | Storage Access API と関連ウェブサイト セット |
ログインベースの設定で埋め込まれたコンテンツ (広告なしの動画コンテンツ、言語/字幕の設定など) |
Storage Access API |
ログインを必要とするソーシャル メディアのコメント ウィジェット | Storage Access API |
埋め込みサードパーティのユースケースに使用する API を選択する
このセクションでは、適切な代替 API を選択する方法と、推奨される API について説明します。
次のフローチャートは、利用可能なオプションの選択に役立ちます。
このフローチャートでは、主に 3 つの質問が提示されます。ここでは、それらの質問と、各ケースで特定の API が推奨される理由について詳しく説明します。
1. Cookie は埋め込みサイトに固有のものですか?
多くのサードパーティ埋め込みは、まったく関連のないサイトで独立して使用されています。たとえば、カスタマー サポートのチャット ウィジェットでは、機能するために多くの場合 Cookie が必要ですが、同じチャット ウィジェット ソリューションを使用している 2 つのまったく異なる組織間で Cookie を共有する必要はありません。実際、このようなケースの多くでは、Cookie の共有を許可しないことをおすすめします。
他のサイトにサードパーティの埋め込みサービスを提供していて、そのサービスが Cookie に依存している場合は、埋め込まれているサイトのサービスに固有の Cookie かどうかを検討してください。他のサイトの埋め込みインスタンスによって共有されたことはありますか?
Cookie を共有する必要がない場合は、CHIPS を使用して Cookie をパーティショニングするのが最も簡単な方法です。この API は、同じサードパーティ埋め込みを使用するすべてのサイトでサードパーティ Cookie を共有できるようにするのではなく、サードパーティ Cookie をトップレベル サイトに関連付けます。CHIPS は、既存の Cookie に Partitioned
属性を追加するだけで実装できるため、簡単に実装できます。これにより、埋め込みサービスは引き続き状態を保存できますが、クロスサイト トラッキングを可能にする共有クロスサイト ストレージは削除されます。
また、Cookie が正しい理由で使用されているかどうかも確認する必要があります。Cookie は、Cookie が設定されている場合、または HTTP リクエストで送信する必要がある場合にのみ使用してください。そうでない場合、Cookie が便利なストレージ オプションとしてのみ使用されている場合は、代わりにさまざまなストレージ API を検討する必要があります。これにより、送信する必要がない場合はデータがローカルに保持されます。ストレージ API は、CHIPS が Cookie をパーティショニングするのと同様に、すべての主要なブラウザですでにパーティショニングされています。
2. Cookie はサードパーティの ID プロバイダ用ですか?
埋め込みでサードパーティ Cookie を使用する一般的な方法の 1 つは、Google でログインなど、サードパーティのログイン プロバイダによって管理されるログイン機能を提供することです。この場合、パーティショニング Cookie は使用できません。
Federated Credentials Management(FedCM)は、このユースケース専用の API で、サードパーティ Cookie を使用せずに動作します。フェデレーション ID が ID プロバイダでサポートされている場合は、サードパーティ Cookie が不要になる場合があります。
サードパーティ Cookie がログイン ワークフローに及ぼす影響に対処する方法について詳しくは、ID ガイドをご覧ください。
3. Cookie は少数の関連サイトに使用されていますか?
上記のオプションが Cookie の代替として適切でない場合は、埋め込みにサードパーティ Cookie のアクセスを再度有効にする必要があります。これは、Storage Access API を使用して、制御された特定のユースケースで有効にできます。この API を使用すると、サードパーティ Cookie への完全なアクセスが再び有効になります(制御の対象)。これは最も強力なオプションです。そのため、より制限の厳しい代替手段で十分な場合は、この方法を使用しないことをおすすめします。
Storage Access API を使用するには、いくつかの要件があります。
- ユーザーが埋め込みのサイトの最上位にアクセスしたことがある必要があります。たとえば、コメント システムを埋め込む場合は、ユーザーがそのコメント システムのサイトにもアクセスする必要があります。
- ユーザーが埋め込みコンテンツを操作する前に、Cookie を共有することはできません。つまり、ユーザーが操作する前に埋め込みコンテンツ全体を読み込むことができない場合があります。
- 特に初回とその後定期的に、ユーザーがブラウザのポップアップで Cookie の共有を承認することが必要になる場合があります。
- 埋め込みサイトでは、追加のサンドボックス属性の設定が必要になる場合もあります。
これらの制限により、サードパーティ Cookie を再度有効にする強力なアクションは、ユーザーとサイトがこれを想定している場合にのみ実行されます。ただし、状況によっては、ユーザー操作がスキップされることがあります。たとえば、ユーザーが最近アクセスを承認した場合は、(ブラウザで定義されている)一定の期間、再度プロンプトを表示する必要がない場合があります。
ユーザーが期待する可能性が高いシナリオのもう 1 つは、関連サイトです。たとえば、組織によっては、ブラウザによってクロスサイトと見なされる複数のオリジンを使用しているため、それらのオリジン間で Cookie を使用すると、サードパーティとして扱われます。たとえば、国別のサイト(example.com、example.co.uk など)やブランド固有のウェブサイト(example.car、example.house など)を持つブランドが該当します。
関連するウェブサイトが少ない場合は、関連ウェブサイト セットを使用できます。サイトは Chrome に送信され、Chrome はサイトが関連していることを認識します。これにより、ユーザー プロンプトを減らしながら、よりユーザー フレンドリーな方法で Storage Access API にアクセスできます。
実際にはサードパーティであるが関連性のないウェブサイトで、代替の API が不十分であるためにサードパーティ Cookie への完全なアクセスが必要な場合、Storage Access API を使用するには、すべての要件とプロンプトが必要になります。
各種 API の比較
各ソリューションには、特定のユースケースに適した特性と制限が少しずつ異なります。次の表に、主な違いをまとめます。
CHIPS | パーティション分割ストレージ | FedCM | Storage Access API と関連するウェブサイト セット | Storage Access API | |
---|---|---|---|---|---|
ユーザーが埋め込みのパーティに最上位サイトとしてアクセスしたことがある必要はありません | |||||
アクセスを承認するためのユーザー プロンプトを必要としない | |||||
ユーザーが埋め込みを操作する必要がない | (最上位のアクセス権を持つ埋め込みサイトにも適用できます)。 |
||||
実装にかかる労力 | 非常に低い | 低 | 高 | 中 | 中 |
複数のトップレベル サイト/オリジン間で Cookie を共有するために使用できます | (提案中。) |
||||
Chromium 以外のブラウザで利用可能 | (Storage Access API にフォールバックします)。 |
ブラウザ間のユースケースのサポート
表の最後の行で説明したように、ブラウザの互換性はソリューションを決定する際の重要な要素の 1 つです。一部の API(CHIPS、FedCM、関連ウェブサイト セット)は、Chromium ブラウザでのみ使用できます。現時点では、クロスブラウザ ソリューションはパーティション分割ストレージ API(Cookie が不要な場合)と Storage Access API(Cookie が必要な場合)の 2 つしかありません。
ただし、前述のとおり、Storage Access API には、ウェブサイトのユーザー エクスペリエンスに影響する可能性があるいくつかの制限があります。Chrome チームは、特定のユースケースに対応し、サードパーティ Cookie で可能だったものと同様のエクスペリエンスを提供するように設計された他の API の追加に取り組んできました。そのため、最適なオプションを検討し、それらを段階的な拡張として扱い、サポートされていないブラウザの場合は Storage Access API にフォールバックすることをおすすめします。
Cookie はさまざまな理由(ブラウザの設定、拡張機能など)でブロックされる可能性があるため、API サポートの機能検出だけでは不十分な場合があります。代わりに、想定される Cookie が存在するかどうかをテストし、存在しない場合は、サードパーティ Cookie へのアクセスをリクエストする Storage Access API ワークフローにフォールバックすることをおすすめします。
今すぐご対応ください。
サードパーティ Cookie を使用せずにサードパーティ埋め込みが機能しなくなった場合は、この講演で詳しく説明するように、考えられる影響を軽減する複数のソリューションを利用できます。サードパーティ Cookie についてサービスを監査する時期が到来しました。
Chrome でサードパーティ Cookie の削除がテストされているため、埋め込みが機能しなくなった場合は、この投稿で説明する代替手段に移行するまでの間、いくつかの短期的な解決策があります。詳しくは、重要なユーザー エクスペリエンスを維持するをご覧ください。
このガイドで扱っていないサードパーティ埋め込みのユースケースについてご不明な点がある場合は、デベロッパー サポート リポジトリで「サードパーティ Cookie のサポートの終了」タグを使用して新しい問題を報告してください。