クロスサイトのサードパーティ トラッキングを使用せずにリマーケティングとカスタム オーディエンスに広告を配信する、デバイス上の広告オークションに関するデベロッパー ガイドです。
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/ を参照してください。
chrome://flags
または機能フラグを使用してテストする
デスクトップの Chrome ベータ版 101.0.4951.26 以降を使用して、1 人のユーザーの Protected Audience API をテストできます。
chrome://flags/#privacy-sandbox-ads-apis
を有効にします。- コマンドラインからフラグを設定します。利用可能な 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 の Key-Value サービスコードを利用できるようになりました。進捗状況については、お知らせのブログ投稿をご覧ください。
初期テストでは「Bring Your Own Server」モデルが導入されています。長期的には、広告テクノロジーは、信頼できる実行環境で実行されるオープンソースの Protected Audience API Key-Value サービスを使用する必要があります。
タイムラインの最新情報については、Protected Audience API サービスのブログ投稿をご覧ください。この移行が行われる前に、デベロッパーの皆様にテストと導入を開始するための十分な告知を行います。
検出機能のサポート
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)か、パブリッシャー自身が行います。オークションの目的は、現在のページで利用可能な広告スロットに最適な広告を選択することです。オークションでは、ブラウザがメンバーであるインタレスト グループに加え、Key-Value サービスの広告スペースの購入者と販売者のデータも考慮されます。
- Protected Audience API の説明を読む: 販売者がオンデバイス オークションを実施する
- API ガイドを読む: 販売者は、
runAdAuction()
と広告オークションの遅延に関するベスト プラクティスの詳細を確認できます。
5. 販売者と参加する購入者が Key-Value サービスからリアルタイム データをリクエストする
広告オークション中、販売者は Key-Value サービスにリクエストを送信して、特定の広告クリエイティブに関するリアルタイム データをリクエストできます。販売者は、オークションのすべてのインタレスト グループの ads
フィールドと adComponents
フィールドにあるすべてのエントリの renderUrl
プロパティのキーとともに、runAdAuction()
で trustedScoringSignalsUrl
プロパティによってこの情報をリクエストできます。
購入者は、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. 落札された広告が表示される
オークション設定で resolveToConfig
フラグが true
に設定されている場合、runAdAuction() によって返される Promise はフェンス付きフレーム設定オブジェクト(FencedFrameConfig
)に解決されます。フレーム構成はフェンス付きフレームによって、フレームを落札広告に移動するために使用されますが、広告の URL はフレーム エンベダーから見えません。
フェンス付きフレーム構成オブジェクトは M114 以降で使用できます。FencedFrameConfig
オブジェクトについて詳しくは、Chrome のブログ投稿をご覧ください。
- Protected Audience API の説明を読む: ブラウザが落札広告をレンダリングする
7. オークション結果がレポートされる
長期的な計画では、ブラウザで Private Aggregation API を使用して、販売者と購入者のオークション結果を報告できます。
一時的なイベントレベルのレポート メカニズムとして、販売者の reportResult()
と落札者の reportWin()
を実装するコードは、sendReportTo()
関数を呼び出すことができます。これは 1 つの引数を取ります。これは、オークションの完了後に取得される 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)で動作する(「Gatekeeper」)サービスモデルの追加を提案しました。Protected Audience API では、リアルタイム データのルックアップと集計レポートの作成のために、TEE をより限定的に使用しています。
- NextRoll の TERN と Magnite の PARRROT 提案では、デバイス上のオークションで購入者と販売者が担ったさまざまな役割について説明しています。Protected Audience API の広告入札/スコアリング フローは、この取り組みに基づいています。
- RTB House の成果ベースとサービス単位の TURTLEDOVE の変更により、デバイス上のオークションの匿名モデルとパーソナライズ機能が向上
- PARAKEET は、TURTLEDOVE のような広告サービスに対する Microsoft の提案です。ブラウザと広告テクノロジー プロバイダの間の TEE で実行されるプロキシ サーバーを利用して、広告リクエストを匿名化し、プライバシー プロパティを適用します。Protected Audience API では、このプロキシモデルは採用されていません。Google では、両方の提案の優れた機能をさらに組み合わせる今後の取り組みをサポートするために、PARAKEET の JavaScript API と Protected Audience 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 では、ユーザーがアクセスしたウェブサイト全体で、自分が追加されたインタレスト グループのリストを確認、管理できるようにする予定です。プライバシー サンドボックス テクノロジー自体と同様に、ユーザーの設定は、ユーザーや規制当局などからのフィードバックによって進化する場合があります。
Google では、テストとフィードバックに基づいて 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 ページで [見る] ボタンをクリックします。そのためには、GitHub アカウントを持っているか、GitHub アカウントを作成している必要があります。
- プライバシー サンドボックスに関する最新情報全体を入手するには、RSS フィード [プライバシー サンドボックスの進捗状況] に登録してください。
- Protected Audience API のスケジュールされた呼び出しに参加します(隔週)。どなたでも参加できます。参加するには、まず WICG に参加してください。積極的に参加することも、音声だけを聞くこともできます。