サードパーティのクロスサイト トラッキングを使用することなく、リマーケティングやカスタム オーディエンスのユースケースに対応するデバイス上の広告オークションに関するデベロッパー ガイド。
Protected Audience API を初めて使用する場合は、Protected Audience API の概要で API の概要を確認してください。
この投稿は、試験運用版の Protected Audience API の最新のイテレーションをデベロッパー向けの技術リファレンスとして作成されています。基本的な Protected Audience API のデプロイのデモと、広告購入者と販売者の API リファレンスをご利用いただけます。
実装ステータス
- The Protected Audience API proposal is now moving to general availability. Raise questions and follow discussion.
- Protected Audience API status of pending capabilities details changes and enhancements to the Protected Audience API API and features.
- Blink status
- Protected Audience API Chrome platform status: Specific to the Protected Audience API on Chrome.
- Ads API Chrome platform status: A collection of APIs to facilitate advertising: Protected Audience API, Topics, Fenced Frames and Attribution Reporting.
To be notified of status changes in the API, join the mailing list for developers.
Protected Audience API とは
Protected Audience API は、リマーケティングとカスタム オーディエンスのユースケースをサポートするために設計された プライバシー サンドボックス API です。サードパーティがサイトをまたいでユーザーのブラウジング行動を追跡できないように設計されています。この API を使用すると、ブラウザによるデバイス上のオークションが可能になり、ユーザーが以前にアクセスしたウェブサイトに関連性の高い広告を選択できます。
Protected Audience API は、TURTLEDOVE ファミリーの提案のうち、Chromium で実装された最初の試験運用版です。
Protected Audience API を試す
利用可能な API リファレンス
このドキュメントは、Protected Audience API の概要を説明するものです。特定の API メソッドとパラメータをお探しの場合は:
joinAdInterestGroup()
とgenerateBid()
の購入ガイド。- Protected Audience API の販売者向けガイド
runAdAuction()
reportWin()
の購入者ガイドとreportResult()
の販売者ガイド- Protected Audience API のトラブルシューティング
Protected Audience API 広告オークションのレイテンシに関するベスト プラクティスもご覧ください。
Protected Audience API のデモ
広告主とパブリッシャーのサイトに Protected Audience API を基本的にデプロイする方法については、protected-audience-demo.web.app/ をご覧ください。
この API をテストする
デスクトップ版 Chrome ベータ版 101.0.4951.26 以降では、1 人のユーザーに対して Protected Audience API をテストできます。
chrome://settings/adPrivacy
で、すべての広告プライバシー API を有効にします。- コマンドラインからフラグを設定する。使用可能な Protected Audience API フラグの一覧については、Chromium のコード検索をご覧ください。
iframe またはフェンス付きフレームで広告をレンダリングする
広告は、設定されているフラグに応じて、<iframe>
または <fencedframe>
でレンダリングできます。
<fencedframe>
を使用して広告をレンダリングするには:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
<iframe>
を使用して広告をレンダリングするには:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
BiddingAndScoringDebugReportingAPI
フラグを追加して、一時的なデバッグ損失/勝利レポート方法を有効にします。
サポートされている機能
Chromium の機能フラグで Protected Audience API をテストするのは、Protected Audience API の次の機能をテストする最初のテストです。
- インタレスト グループ: 広告の入札とレンダリングを構成するメタデータとともにブラウザに保存されます。
- 購入者(DSP または広告主)によるデバイス上の入札: 保存されたインタレスト グループと販売者からのシグナルに基づきます。
- 販売者(SSP またはパブリッシャー)によるデバイス上の広告選択: オークションの入札単価と購入者からのメタデータに基づきます。
- フェンスド フレームの一時的に緩和されたバージョンでの広告レンダリング: 広告レンダリングにネットワーク アクセスとロギングが許可されます。
機能のサポートと制約について詳しくは、Protected Audience API の説明をご覧ください。
インタレスト グループの権限
Protected Audience API の現在の実装のデフォルトでは、クロスドメイン iframe からでも、ページ内の任意の場所で joinAdInterestGroup()
を呼び出すことができます。
今後、サイト所有者がクロスドメイン iframe の権限ポリシーを更新する時間ができたら、クロスドメイン iframe からの呼び出しを禁止する予定です。
Key-Value サービス
Protected Audience API 広告オークションをサポートするため、ブラウザは Key-Value サービスにアクセスして、Protected Audience API 広告オークションをサポートするリアルタイム情報を取得できます。この情報は、次のようなさまざまな方法で使用できます。
- 購入者は、広告キャンペーンの残りの予算を計算する場合があります。
- 販売者は、広告クリエイティブをパブリッシャーのポリシーに照らして確認することが求められる場合があります。
Protected Audience API のキー/値サービス コードが利用可能になりました。ステータスの最新情報については、お知らせのブログ投稿をご覧ください。
最初のテストでは、「BYOS(Bring Your Own Server)」モデルが導入されました。長期的には、広告テクノロジーは、信頼できる実行環境で実行されるオープンソースの Protected Audience API Key-Value サービスを使用する必要があります。
タイムラインの最新情報については、Protected Audience API サービスのブログ投稿をご覧ください。この移行が行われる前に、デベロッパーがテストと導入を開始できるよう、十分な通知をいたします。
機能のサポートを検出する
API を使用する前に、ブラウザでサポートされているかどうか、ドキュメントで使用できるかどうかを確認します。
'joinAdInterestGroup' in navigator &&
document.featurePolicy.allowsFeature('join-ad-interest-group') &&
document.featurePolicy.allowsFeature('run-ad-auction') ?
console.log('navigator.joinAdInterestGroup() is supported on this page') :
console.log('navigator.joinAdInterestGroup() is not supported on this page');
Protected Audience API の仕組み
この例では、ユーザーがカスタム自転車メーカーのウェブサイトを閲覧し、その後ニュース ウェブサイトにアクセスすると、その自転車メーカーの新しい自転車の広告が表示されます。
Protected Audience API の機能は、実装の進展に伴って徐々に追加されます。
1. ユーザーが広告主のサイトにアクセスする

ユーザーがカスタム自転車メーカー(この例では広告主)のウェブサイトにアクセスし、手作りのスチール製自転車の商品ページで時間を過ごしたとします。これにより、自転車メーカーはリマーケティングの機会を得ることができます。
2. ユーザーのブラウザにインタレスト グループの追加を求めるメッセージが表示される

広告主のデマンドサイド プラットフォーム(DSP)(または広告主自身)が navigator.joinAdInterestGroup()
を呼び出し、ブラウザがメンバーであるグループのリストにインタレスト グループを追加するようブラウザに要求します。
この例では、グループの名前は custom-bikes
、オーナーは dsp.example
です。インタレスト グループのオーナー(この場合は DSP)は、Protected Audience API 広告オークションの購入者になります。インタレスト グループのメンバーシップは、ブラウザによってユーザーのデバイスに保存され、ブラウザ ベンダーや他のユーザーと共有されることはありません。
- Protected Audience API の説明: ブラウザが興味 / 関心グループを記録するをご覧ください。
- API ガイドを読む: 購入者と DSP は、
joinAdInterestGroup()
の使用方法と入札の生成方法を学びます。
インタレスト グループの広告を指定する
ads
オブジェクトと adComponents
オブジェクトには、広告クリエイティブの URL が含まれます。また、入札時に使用できる任意のメタデータも含まれます。次に例を示します。
{
renderUrl: 'https://cdn.example/.../bikeAd1.html',
metadata: bikeAd1metadata // optional
}
購入者はどのように入札しますか?
generateBid()
は、ブラウザがメンバーであるインタレスト グループごとに呼び出されます(インタレスト グループのオーナーが入札に招待されている場合)。
generatedBid()
デベロッパー向けドキュメントを読む。
3. ユーザーが広告スペースを販売するサイトにアクセスする

その後、ユーザーは広告スペースを販売しているサイト(この例ではニュース ウェブサイト)にアクセスします。サイトに広告枠があり、リアルタイム ビッダーを使用してプログラムで販売している。
4. 広告オークションがブラウザで実行される

広告オークションは、パブリッシャーのサプライサイド プロバイダ(SSP)またはパブリッシャー自体によって実施されます。オークションの目的は、現在のページで利用可能な 1 つの広告スロットに最も適した広告を選択することです。オークションでは、ブラウザがメンバーである興味/関心グループと、広告スペースの購入者と Key-Value サービスの販売者のデータが考慮されます。
- Protected Audience API の説明: 販売者がデバイス上のオークションを実施する
- API ガイドを読む:
runAdAuction()
と広告オークションのレイテンシに関するベスト プラクティスについて詳しくは、API ガイドをご覧ください。
5. 販売者と参加する購入者が Key/Value サービスからリアルタイム データをリクエストします。

広告オークション中に、販売者は Key-Value サービスにリクエストを送信することで、特定の広告クリエイティブに関するリアルタイム データをリクエストできます。販売者は、オークション内のすべてのインタレスト グループの ads
フィールドと adComponents
フィールドのすべてのエントリの renderUrl
プロパティのキーとともに、trustedScoringSignalsUrl
プロパティを使用して runAdAuction()
中にこの情報をリクエストできます。
購入者は、navigator.joinAdInterestGroup()
に渡されたインタレスト グループ引数の trustedBiddingSignalsUrl
プロパティと trustedBiddingSignalsKeys
プロパティを使用して、Key/Value サービスからリアルタイム データをリクエストできます。
runAdAuction()
が呼び出されると、ブラウザは各広告購入者の信頼できるサーバーにリクエストを送信します。リクエストの URL は次のようになります。
https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
- ベース URL は
trustedBiddingSignalsUrl
から取得されます。 hostname
はブラウザによって提供されます。keys
値はtrustedBiddingSignalsKeys
から取得されます。
このリクエストに対するレスポンスは、各キーの値を提供する JSON オブジェクトです。
- Protected Audience API の説明: Protected Audience API Key/Value サービスからリアルタイム データを取得するをご覧ください。
- Protected Audience API Key/Value サービスのオープンソース化をご覧ください。
6. 落札広告が表示される

runAdAuction() から返される Promise は、オークション構成で resolveToConfig
フラグが true
に設定されている場合、フェンスされたフレーム構成オブジェクト(FencedFrameConfig
)に解決されます。フレーム構成は、落札した広告にフレームを移動するためにフェンス付きフレームによって使用されますが、広告の URL はフレームの埋め込み元には表示されません。
フェンス付きフレーム構成オブジェクトは M114 以降で利用できます。FencedFrameConfig
オブジェクトの詳細については、Chrome のブログ記事をご覧ください。
- Protected Audience API の説明: ブラウザが落札した広告をレンダリングする
7. オークションの結果が報告される
長期計画では、ブラウザが Private Aggregation API を使用して販売者と購入者のオークション結果をレポートできるようにします。
一時的なイベントレベルのレポート メカニズムとして、販売者用の reportResult()
と落札者用の reportWin()
を実装するコードは、sendReportTo()
関数を呼び出すことができます。この関数は、オークションの完了後にフェッチされる URL を表す文字列という単一の引数を受け取ります。この文字列には、報告されるイベントレベルの情報がエンコードされます。
- API ガイドを読む: 販売者と購入者のレポートについて学習する
8. 広告クリックが報告される

フェンス付きフレームにレンダリングされた広告のクリックが報告されます。仕組みについて詳しくは、フェンスド フレーム広告レポートをご覧ください。

Protected Audience API と TURTLEDOVE の違いは何ですか?
Protected Audience API は、TURTLEDOVE ファミリーの提案のうち、Chromium で実装された最初の試験運用版です。
Protected Audience API は、TURTLEDOVE の基本原則に準拠しています。一部のオンライン広告は、広告主または広告ネットワークに以前に接触したユーザーに、関心を示している可能性のある広告を表示することを前提としています。これまでは、ウェブサイトをブラウジングしている特定のユーザーを広告主が認識することで実現していましたが、これは今日のウェブにおけるプライバシーに関する主な懸念事項です。
TURTLEDOVE は、このユースケースに対応する新しい API を提供すると同時に、プライバシー保護の重要な進歩を実現することを目的としています。
- 広告主がユーザーが興味を持っていると考える情報は、広告主ではなくブラウザに保存されます。
- 広告主はユーザーの興味 / 関心に基づいて広告を配信できますが、その興味 / 関心をユーザーに関する他の情報(特にユーザーの身元やアクセスしているページ)と組み合わせることはできません。
Protected Audience API は、TURTLEDOVE と、API を使用するデベロッパーにより適切に機能するよう変更するための関連する提案の集合から生まれました。
- SPARROW: Criteo は、高信頼実行環境(TEE)で実行されるサービスモデル(「ゲートキーパー」)の追加を提案しました。Protected Audience API では、リアルタイム データの検索と集計レポート用に TEE の使用が制限されています。
- NextRoll の TERN と Magnite の PARRROT の提案では、デバイス上のオークションで購入者と販売者が果たす役割の違いについて説明しています。Protected Audience API の広告入札/スコアリング フローは、この作業に基づいています。
- RTB House の 成果ベースとプロダクト単位の TURTLEDOVE の変更により、オンデバイス オークションの匿名化モデルとパーソナライズ機能が改善されました
- PARAKEET は、ブラウザと広告テクノロジー プロバイダ間の TEE で実行されるプロキシ サーバーに依存し、広告リクエストを匿名化してプライバシー プロパティを適用する、TURTLEDOVE のような広告サービスに関する Microsoft の提案です。Protected Audience API では、このプロキシ モデルは採用されていません。Google は、PARAKEET と Protected Audience API の JavaScript API を統合し、両方の提案の優れた機能をさらに組み合わせるための今後の作業をサポートしています。
Protected Audience API では、ウェブサイトの広告ネットワークがユーザーが見た広告を把握できないようにする機能はまだありません。今後、API を変更してよりプライベートなものにしていく予定です。
Topics API は Protected Audience API で使用できますか?
はい。Topics API によって提供される、現在のユーザーの観測されたトピックは、販売者または入札者によってコンテキスト情報として使用できます。トピックは次のプロパティに含めることができます。
auctionSignals
:navigator.runAdAuction()
に渡されるオークション設定オブジェクトのプロパティuserBiddingSignals
:navigator.joinAdInterestGroup()
に渡されるインタレスト グループ設定オブジェクトのプロパティ
使用可能なブラウザ構成
ユーザーは、chrome://settings/adPrivacy
の最上位の設定を有効または無効にすることで、Chrome でのプライバシー サンドボックス(試用版)への参加を調整できます。
初期テストでは、この高度なプライバシー サンドボックス設定を使用して、Protected Audience API をオプトアウトできます。Chrome では、ユーザーがアクセスしたウェブサイト全体で、ユーザーが追加されたインタレスト グループのリストを表示、管理できるようにする予定です。プライバシー サンドボックス テクノロジー自体と同様に、ユーザー設定はユーザーや規制当局からのフィードバックに応じて進化する可能性があります。
テストとフィードバックに基づいて、Chrome で利用可能な設定は今後も更新されます。今後、Protected Audience API と関連データを管理するためのより詳細な設定を提供する予定です。
ユーザーがシークレット モードでブラウジングしている場合、API 呼び出し元はグループ メンバーシップにアクセスできません。また、ユーザーがサイトデータを消去すると、メンバーシップは削除されます。
Protected Audience ワークレットはブラウザにキャッシュされますか?
Protected Audience ワークレットを含むリソース(購入者の入札単価生成とレポートのワークレット、販売者の広告スコアリングとレポートのワークレット)は、ブラウザによってキャッシュに保存されます。Cache-Control
ヘッダーを使用して、キャッシュの動作を制御できます。
意見交換とフィードバックの提供
サポートを受ける
実装、デモ、ドキュメントについて質問し、サポートを受けるには:
- GitHub: 説明を読み、質問を投稿し、意見交換を行えます。
- デモ: デモコード リポジトリで問題を報告してください。
- デベロッパー サポート: プライバシー サンドボックス デベロッパー サポート リポジトリで質問や意見交換を行えます。Protected Audience API のイシュー テンプレートを選択します。
- Chrome の実装: Chrome での Protected Audience API の実装に関するバグや問題については、既存の問題を確認するか、新しい問題を報告してください。
Protected Audience API でニーズを満たす方法に関する一般的な質問がある場合は、API リポジトリで問題を報告してください。W3C の 「ウェブ広告ビジネスの改善」グループで業界のユースケースについて意見を交換することもできます。
プライバシー サンドボックスのフィードバック フォームを使用して、公開フォーラムではなく Chrome チーム宛に非公開でフィードバックを送信できます。
オプトアウト
Protected Audience API をオプトアウトするには、サイト所有者または個々のユーザーが Protected Audience API へのアクセスをブロックする方法をご確認ください。
最新情報を入手
- API のステータス変更に関する通知については、デベロッパー向けのメーリング リストにご登録ください。
- この API に関する進行中のディスカッションすべてを常にチェックするには、GitHub の API ページで [Watch] ボタンをクリックしてください。そのためには、GitHub アカウントを持っているか作成する必要があります。
- プライバシー サンドボックス全般に関する最新情報を入手するには、[プライバシー サンドボックスの進捗状況] の RSS フィードを購読してください。
- Protected Audience API に関する会議(隔週)に参加する。どなたでも参加できますが、まず WICG に参加していることをご確認ください。積極的な発言はもちろん、閲覧のみの参加でもかまいません。