Shared Storage API を使用すると、ウェブサイトはトップレベル サイトによって分離されていないデータを保存してアクセスできます。これにより、ユーザーのプライバシーを尊重しながら、クロスサイトの使用ケースを可能にし、容易にします。
Chrome はパーティション化されたストレージを備えており、サードパーティ Cookie に関するユーザーの選択を重視する新しいエクスペリエンスに移行していますが、パーティション化されていないストレージに依存する正当なユースケースがいくつかあり、新しいウェブ API なしでは対応できませんでした。たとえば、コンテンツ プロデューサーは、クロスサイト識別子に依存せずに、さまざまなサイトにわたるコンテンツのリーチを測定したいと考えています。Shared Storage API は、サイト間でパーティション化されていないデータを保存してアクセスするためのよりプライベートなメカニズムを提供することで、このニーズに対応しています。
Shared Storage API とは
Shared Storage API は、プライバシーを保護したクロスサイトのユースケースを可能にするように設計された汎用ストレージ ファシリティです。localStorage API と sessionStorage API の両方に似た機能を備えた Shared Storage は、いつでもデータに書き込める Key-Value ストアです。他の Web Storage API とは異なり、Shared Storage データは異なるトップレベル サイト間で共有できます。ただし、Shared Storage データは、制限付きの Output API を使用して安全な環境からのみ読み取られ、出力されます。
上の図では、shoes.example
サイトを news.example
などの他のパブリッシャー サイトに埋め込んでも、同じデータにアクセスできます。
この共有ストレージ機能により、クロスサイト機能を有効にしながら、個々のサイト訪問者のトラッキングを防止し、データアクセスを制限することでユーザーのプライバシーを強化できます。データにアクセスできるのは、出力機能が制限された安全な環境(ワークレット)内のみです。
Shared Storage は、限られた数の Output API の基盤となるストレージ インフラストラクチャです。共有ストレージ データを使用できるのは Output API のみです。出力 API は次のとおりです。
- URL を選択: 保存されているデータに基づいて、指定されたリストから URL を選択し、そのコンテンツをフェンス付きフレームにレンダリングします。
- Private Aggregation: Private Aggregation API を介してクロスサイト データを送信し、概要レポートを生成します。
共有ストレージが必要な理由
Shared Storage API は柔軟なストレージ メカニズムです。ウェブ デベロッパーは、出力 API と組み合わせて、サードパーティ Cookie の既存の用途の置き換えなど、さまざまなユースケースに対応できます。出力 API のユースケースの詳細については、URL の選択と非公開集計をご覧ください。
まだ対応されていないクロスサイト ストレージ ソリューションをお探しですか?ユースケースを共有し、オープンソースの Shared Storage GitHub リポジトリで問題を作成できます。
共有ストレージと互換性のある出力 API とユースケース
Output API | ユースケース | 説明 |
---|---|---|
URL を選択 | 広告クリエイティブをローテーションする | クリエイティブ ID、視聴回数、ユーザー操作などのデータを保存して、ユーザーがさまざまなサイトで表示するクリエイティブを特定できます。これにより、視聴回数を調整し、特定のコンテンツの過剰な視聴を回避して、ユーザー エクスペリエンスの低下を防ぐことができます。 |
URL を選択 | A/B テストを実施する | A/B テストでは、構成の 2 つ以上のバージョンを比較して、最もパフォーマンスの高いバージョンを特定します。ユーザーをテストグループに割り当て、そのグループを共有ストレージに保存して、クロスサイト アクセスを可能にできます。 |
URL を選択 | 既知のユーザーのユーザー エクスペリエンスをカスタマイズする | ユーザーの登録ステータスやその他のユーザー状態に基づいて、カスタム コンテンツや行動を促すフレーズを共有できます。 |
[URL を選択]、[非公開の集計] | 不正使用対策の軽減対策 | 不正行為防止、不正行為防止、ウェブセキュリティの組織は、悪意のあるユーザー(自動化された bot や損害を与えようとしている実際の人間)を検出するために、独自の手法を使用することがよくあります。このユースケースでは、Select URL API を使用してユーザーの信頼性評価をエンコードする場合でも、Private Aggregation API を使用して異常検出用のデータセットを作成する場合にでも、さまざまな戦略をテストできます。 |
非公開の集計 | ユニークリーチを測定する | 多くのコンテンツ プロデューサーや広告主は、表示されたコンテンツを視聴したユニーク ユーザー数を把握したいと考えています。共有ストレージを使用すると、ユーザーが広告、埋め込み動画、パブリケーションを初めて表示したときにレポートを作成できます。同じユーザーが別のサイトで重複してカウントされるのを防ぎ、コンテンツのユニークリーチの概算を示すノイズの多い集計レポートを生成できます。 |
非公開の集計 | ユーザー属性を測定する | コンテンツ制作者は、視聴者のユーザー属性を把握したいと考えています。共有ストレージを使用すると、ファーストパーティ サイトでユーザーのユーザー属性データをキャプチャし、集計レポートを利用して、埋め込みコンテンツなど、さまざまな他のプラットフォームでこの情報を分析できます。 |
限定公開の集計 | 1,000 回以上のフリークエンシー リーチを測定する | 「効果的な頻度」とも呼ばれるこの指標は、ユーザーが特定のコンテンツを認識または思い出すまでに必要な最小視聴回数を示します(多くの場合、広告の視聴回数のコンテキストで使用されます)。共有ストレージを使用すると、コンテンツを少なくとも K 回視聴したユニーク ユーザーのレポートを作成できます。 |
共有ストレージの仕組み
Shared Storage を使用すると、埋め込みサイトとユーザー情報(ブラウザ履歴やその他の個人情報など)を共有したり、独自のサーバーにデータをエクスポートしたりすることなく、クロスサイト データに基づいて情報に基づく意思決定を行うことができます。
共有ストレージへの書き込みはいつでも行えますが、共有ストレージの値を読み取ることができるのは、ワークレットと呼ばれる安全な環境でのみです。
共有ストレージ ワークレットでは、ビジネス ロジックを追加し、正確な値をワークレット呼び出し元に直接返さずに、共有ストレージから値を読み取って処理します。ワークレットから情報を抽出するには、Private Aggregation API または Select URL Output API を使用します。新しいユースケースが報告されると、追加の Output API が利用可能になる場合があります。
API のステータス
Shared Storage API は一般提供されています。手順に沿ってプライバシー サンドボックスに登録し、API を使用するか、ローカル開発で有効にします。
Proposal | Status |
---|---|
Allow writing from response headers Explainer GitHub Issue |
Available in M124. Can be manually enabled in M119-M123 |
Debugging Shared Storage worklets with DevTools Section |
Available in M120 |
Update Shared Storage data storage limit to 5MB Explainer |
Available in M124 |
createWorklet() to create cross-origin worklets without an iframe |
Available in M125 |
Allow cross-origin script in addModule() , and align createWorklet() to match the behavior |
Available in M130 |
意見交換とフィードバックの提供
Shared Storage API の提案は現在議論と開発が進められているため、変更される可能性があります。
Shared Storage API について、ぜひご意見をお聞かせください。
- 提案書: 詳細な提案書を確認します。
- ディスカッション: 進行中のディスカッションに参加して、質問したり、分析情報を共有したりできます。
最新情報を入手する
- メーリング リスト: メーリング リストに登録すると、Shared Storage API に関する最新情報やお知らせを受け取ることができます。
ご不明な点がある場合
- デベロッパー サポート: プライバシー サンドボックス デベロッパー サポート リポジトリで他のデベロッパーと交流し、質問に答えてもらうことができます。