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 は、Shared Storage データを使用する唯一の方法です。出力 API は次のとおりです。
- Select URL: 保存されたデータに基づいて、提供されたリストから URL を選択し、そのコンテンツをフェンス付きフレームにレンダリングします。
- Private Aggregation: Private Aggregation API を介してクロスサイト データを送信し、概要レポートを生成します。
共有ストレージが必要な理由
Shared Storage API は柔軟なストレージ メカニズムであり、ウェブ デベロッパーは出力 API と組み合わせて使用することで、サードパーティ Cookie の既存の用途の多くを置き換えるなど、さまざまなユースケースに対応できます。出力 API のユースケースの詳細については、URL の選択とプライベート集計をご覧ください。
まだ解決されていないクロスサイト ストレージ ソリューションをお探しですか?ユースケースを共有し、オープンソースの共有ストレージ GitHub リポジトリで問題を作成できます。
Shared Storage と互換性のある出力 API とユースケース
| Output API | ユースケース | 説明 |
|---|---|---|
| URL を選択 | 広告クリエイティブのローテーション | クリエイティブ ID、視聴回数、ユーザーのインタラクションなどのデータを保存して、さまざまなサイトでユーザーに表示するクリエイティブを決定できます。これにより、ビューのバランスを調整し、特定のコンテンツの過剰な表示を回避して、ユーザー エクスペリエンスの低下を防ぐことができます。 |
| URL を選択 | A/B テストを実施する | A/B テストでは、2 つ以上のバージョンの構成を比較して、どちらのパフォーマンスが最も優れているかを判断します。ユーザーをテストグループに割り当て、そのグループをクロスサイト アクセス用に共有ストレージに保存できます。 |
| URL を選択 | 既知の顧客のユーザー エクスペリエンスをカスタマイズする | ユーザーの登録ステータスやその他のユーザーの状態に基づいて、カスタム コンテンツや行動を促すフレーズを共有できます。 |
| [URL を選択]、[プライベート アグリゲーション] | 不正使用対策 | 不正使用対策、不正行為対策、ウェブ セキュリティの組織は、自動化された bot や危害を加えようとする人間など、悪意のあるユーザーを検出するために独自の技術を使用することがよくあります。このユースケースでは、Select URL API を使用してユーザーの信頼性スコアをエンコードしたり、Private Aggregation API を使用して異常検出用のデータセットを構築したりするなど、さまざまな戦略をテストできます。 |
| プライベート集計 | ユニークリーチを測定する | 多くのコンテンツ作成者や広告主は、表示されたコンテンツを視聴したユニーク ユーザーの数を把握したいと考えています。共有ストレージを使用すると、ユーザーが広告、埋め込み動画、パブリケーションを初めて見たときにレポートを作成できます。これにより、異なるサイトで同じユーザーが重複してカウントされるのを防ぎ、コンテンツのユニーク リーチの概算を示すノイズ入りの集計レポートを生成できます。 |
| プライベート集計 | ユーザー属性を測定する | コンテンツ作成者は、視聴者のユーザー属性を把握したいと考えています。共有ストレージを使用すると、ファーストパーティ サイトでユーザーのデモグラフィック データを取得し、集計レポートを活用して、埋め込みコンテンツなどのさまざまなプラットフォームでこの情報を分析できます。 |
| プライベート集計 | K 回以上のフリークエンシー リーチを測定する | 「効果的なフリークエンシー」とも呼ばれますが、ユーザーが特定のコンテンツを認識または想起するまでに必要な最小視聴回数が存在することがよくあります(多くの場合、広告の視聴回数に関連します)。Shared Storage を使用すると、コンテンツを K 回以上視聴したユニーク ユーザーのレポートを作成できます。 |
共有ストレージの仕組み
Shared Storage を使用すると、クロスサイト データに基づいて十分な情報に基づいた意思決定を行うことができます。ユーザー情報(ブラウザの履歴やその他の個人情報など)を埋め込みサイトと共有したり、データを独自のサーバーに漏洩させたりすることはありません。
共有ストレージにはいつでも書き込むことができますが、共有ストレージの値を読み取ることができるのは、ワークレットと呼ばれる安全な環境のみです。
共有ストレージ ワークレットは、ビジネス ロジックを追加し、共有ストレージから値を読み取って処理する場所です。ワークレット呼び出し元に正確な値を直接返すことはありません。Private Aggregation API または Select URL Output API を使用して、ワークレットから情報を抽出できます。新しいユースケースが報告されると、追加の出力 API が利用可能になることがあります。
API のステータス
Shared Storage API は一般提供されています。API を使用するか、ローカル開発用に有効にするには、手順に沿ってプライバシー サンドボックスに登録します。
| 提案 | ステータス |
|---|---|
| レスポンス ヘッダーからの書き込みを許可 説明 GitHub の問題 |
M124 で利用可能。M119 ~ M123 では手動で有効にできます |
| DevTools を使用した共有ストレージ ワークレットのデバッグ セクション |
M120 で利用可能 |
| 共有ストレージ データのストレージ上限を 5 MB に更新 説明 |
M124 で利用可能 |
createWorklet(): iframe を使用せずにクロスオリジン ワークレットを作成します。 |
M125 で利用可能 |
addModule() でクロスオリジン スクリプトを許可し、動作に合わせて createWorklet() を調整 |
M130 で利用可能 |
| 共有ストレージ ワークレットが興味 / 関心グループの読み取りを許可する 説明 |
M134 で利用可能 |
createWorklet() でのカスタムデータ送信元のサポート説明 |
M135 で利用可能 |
| DevTools を使用した共有ストレージ ワークレットのデバッグ 説明 GitHub の問題 |
2025 年第 2 四半期に予定 |
意見交換とフィードバックの提供
Shared Storage API の提案は現在、活発な議論と開発の途上にあるため、変更される可能性があります。
Shared Storage API についてのご意見をお待ちしております。
- 提案: 詳細な提案を確認します。
- ディスカッション: 進行中のディスカッションに参加して、質問したり、分析情報を共有したりできます。