クロスサイトのサードパーティ トラッキングを行わずに、リマーケティングやカスタム オーディエンスのユースケースに対応するためのデバイス上の広告オークション。
このドキュメントの対象者
このドキュメントでは、Protected Audience API の基礎と、基本的なコンセプトについて説明します。技術的な詳細については多くは取り上げません。
- 広告または広告テクノロジーに携わっている方は、Protected Audience の仕組みの概要を把握します。
- デベロッパーやソフトウェア エンジニアの方は、Protected Audience API デベロッパー ガイドで、この API に関するより詳細な技術情報を確認できます。保留中の Protected Audience 機能の最新のステータスをご覧ください。
Protected Audience のドキュメント全体で使用されている用語については、用語集を参照してください。このドキュメントの最後では、フィードバックを送信して共有する方法について説明します。
Protected Audience API とは
Protected Audience API は、サードパーティがサイトをまたいでユーザーのブラウジング行動を追跡できないようにしながら、リマーケティングやカスタム オーディエンスのユースケースをサポートする Privacy Sandbox テクノロジーです。
Protected Audience API を使用すると、ブラウザでデバイス上のオークションを実施し、ユーザーが以前にアクセスしたウェブサイトから関連性の高い広告を選択できます。
Protected Audience API は、TURTLEDOVE ファミリーの提案のうち、Chromium で実装された最初の試験運用版です。Protected Audience と TURTLEDOVE の違いは、主に広告の購入者と販売者のデバイス上の役割の分離に関連するものです。以降のセクションでは、Protected Audience API の仕組みについて説明します。
1 分でわかる Protected Audience API
Protected Audience API の詳細については、Protected Audience API デベロッパー ガイドをご覧ください。

Protected Audience API は、インタレスト グループを使用して、サイトがユーザーに関連性の高い広告を表示できるようにします。
たとえば、ユーザーが商品を宣伝するサイトにアクセスすると、インタレスト グループのオーナー(デマンドサイド プラットフォーム(DSP)など)は、ユーザーのブラウザに対してインタレスト グループのメンバーシップを追加するよう要求できます。リクエストが成功すると、ブラウザに次のように記録されます。
- インタレスト グループの名前(例: 「custom-bikes」)。
- インタレスト グループのオーナー(例: 'https://dsp.example')。
- グループのオーナーが広告オークションに入札するよう招待された場合に、ブラウザが入札コード、広告コード、リアルタイム データにアクセスできるようにするインタレスト グループの構成情報。
その後、ユーザーが利用可能な広告スペースのあるサイトにアクセスすると、広告スペースの販売者(セルサイド プロバイダ(SSP)またはサイト自体)は Protected Audience を使用して広告オークションを実施し、ユーザーに表示する最も適切な広告を選択できます。販売者は navigator.runAdAuction()
関数を呼び出します。この関数は、入札に招待されたインタレスト グループの所有者のリストを提供します。
入札は、ブラウザがメンバーになっているインタレスト グループのうち、オーナーが入札に招待されているグループからのみ行えます。
入札コードは、インタレスト グループの構成で指定された URL から取得されます。このコードは、インタレスト グループに関するデータと販売者からの情報、ページとブラウザに関するコンテキスト データを提供します。
入札を行う各インタレスト グループは購入者と呼ばれます。
ブラウザが関数を呼び出して広告オークションを実行すると、各購入者のコードは、Protected Audience Key/Value サービスから提供されたリアルタイム データを使用して入札単価を生成します。その後、販売者はこれらの入札と販売者所有のリアルタイム データを受け取り、各入札をスコアリングします。スコアが最も高い入札がオークションで落札されます。
落札した広告はフェンス付きフレームに表示されます。広告クリエイティブの URL は入札で指定され、オリジンはインタレスト グループの構成で指定されたリストのいずれかと一致する必要があります。
販売者はオークションの結果(reportResult()
)を報告でき、購入者は落札(reportWin()
)を報告できます。
Protected Audience オークション レポートについて説明します。
Protected Audience API が必要な理由
ユーザーの興味 / 関心を把握することで、サイトのコンテンツ(コンテンツ ターゲティング)に基づいて広告を選択したり、広告が表示されるサイトでユーザーが提供した情報(ファーストパーティ データ ターゲティング)を使用したりするよりも、関連性の高い広告を表示できます。
従来、広告プラットフォームは、サイトをまたいだユーザーの行動をトラッキングすることで、ユーザーの興味や関心を学習していました。ブラウザには、広告プラットフォームが関連性の高い広告を選択できるようにする手段が必要です。これにより、コンテンツ パブリッシャーはサイト間トラッキングなしで広告収入を得ることができます。
Protected Audience API は、ウェブ プラットフォームを、広告主や広告テクノロジー プラットフォームではなく、デバイス上のユーザーのブラウザがそのユーザーの興味関心に関する情報を保持する状態に近づけることを目指しています。
Protected Audience API を試すにはどうすればよいですか?
Protected Audience API デベロッパー ガイドでは、API の使用方法とローカルでのテスト方法について説明しています。
protected-audience-demo.web.app では、広告主とパブリッシャーのサイトにまたがる基本的な Protected Audience のデプロイのチュートリアルを提供しています。Protected Audience のデモ動画では、このコードの仕組みと、Chrome DevTools を使用してデバッグを行う方法について説明しています。
どのようなブラウザ設定が利用できますか?
ユーザーは、chrome://settings/adPrivacy
の最上位の設定を有効または無効にすることで、Chrome のプライバシー サンドボックス(試用版)への参加を調整できます。初期テストでは、ユーザーはプライバシー サンドボックスの設定を使用して Protected Audience API をオプトアウトできます。
Chrome では、ユーザーがアクセスしたサイト全体で、自分が追加されたインタレスト グループのリストを表示、管理できるようにする予定です。プライバシー サンドボックス技術と同様に、ユーザー設定はユーザー、規制当局などからのフィードバックに基づいて変更される可能性があります。
Protected Audience API の進展に伴い、テストとフィードバックに基づいて、Chrome で利用可能な設定を更新します。今後、Protected Audience と関連データを管理するためのより詳細な設定を提供する予定です。
ユーザーがシークレット モードで閲覧している場合、API の呼び出し元はグループ メンバーシップにアクセスできません。また、ユーザーがサイトデータを消去すると、メンバーシップは削除されます。
Protected Audience API をオプトアウトできますか?
Protected Audience API へのアクセスをブロックする方法(サイト所有者または個々のユーザーとして)をご確認ください。
主なコンセプト
Protected Audience の用語について詳しくは、プライバシー サンドボックスの用語集をご覧ください。
インタレスト グループとは
Protected Audience API のインタレスト グループは、共通の興味を持つユーザーのグループを表し、リマーケティング リストに対応します。
Protected Audience API のインタレスト グループには、それぞれオーナーがいます。所有者のタイプが異なると、ユースケースが異なるさまざまなタイプのインタレスト グループが作成されます。
オーナーは、JavaScript 関数 navigator.joinAdInterestGroup()
を呼び出し、インタレスト グループに関連する広告のデータや、入札で使用される JavaScript の URL などの情報を提供することで、ユーザーのブラウザにインタレスト グループのメンバーシップを追加するよう要求します。インタレスト グループのデータ(広告など)は更新でき、インタレスト グループは最大 30 日間有効にできます。
インタレスト グループのタイプ
次の表に、さまざまな種類の Protected Audience API インタレスト グループとオーナーの例を示します。
オーナー | 例 | 興味 / 関心 | 例 | ユースケース |
---|---|---|---|---|
広告主様 | 自転車メーカー | 商品 | 特定のカテゴリの自転車の商品ページを閲覧したユーザー。 | リマーケティング: 以前にブランドを利用したユーザーに広告を配信します。 |
パブリッシャー | ニュース ウェブサイト | コンテンツ | サイクリングに関する記事を読んだ人。 | パブリッシャーは、自社データを使用して、サイトの読者に関連性の高い広告を広告主が購入できるようにすることができます。パブリッシャーが所有するインタレスト グループを使用すると、ユーザーが他のサイトを閲覧している場合でも、パブリッシャーは同じことを行えるようになります。パブリッシャーは、特定のオーディエンス セグメントに広告を表示する機能を有料で提供できる場合があります。 |
アドテック | DSP | 商品のカテゴリ | サイクリング用品に関心を示したユーザー。 | 広告テクノロジー企業は、特定のカテゴリの商品を購入する可能性が高いと考えるユーザーのインタレスト グループを作成して管理する場合があります。このインタレスト グループは、そのカテゴリの商品を販売しているサイト(および広告テクノロジー企業と提携しているサイト)で商品を宣伝するために使用できます。 |
Chrome では、オーナーごとに最大 1,000 個のインタレスト グループと、最大 1,000 人のインタレスト グループ オーナーが許可されます。これらの上限は、通常の運用で到達しないようにするためのガードレールとして設定されています。
購入者とは
Protected Audience API では、購入者はインタレスト グループを所有し、広告オークションに入札する当事者です。
次に例を示します。
- 広告主: 自身のために行動している。
- デマンドサイド プラットフォーム(DSP): 広告主様の代理として機能します。
- インタレスト グループの所有者: 複数の広告主様の広告を掲載している。
購入者には次の 3 つの役割があります。
- オークションに参加するかどうかを選択します。
- 広告を選択して入札単価を計算します。
- オークションの結果を報告します。
これらのジョブは、Protected Audience API 広告オークション中に実行される購入者が提供したコードでプログラム的に行われます。
購入者がユーザーのブラウザに対して、自身がメンバーであるグループにインタレスト グループを追加するよう要求する(JavaScript 関数 navigator.joinAdInterestGroup()
を呼び出す)場合、購入者はブラウザに次の情報を提供します。
- 販売者が広告オークションを実行するときに使用される入札コードの URL。
- インタレスト グループの広告クリエイティブの URL。(広告 URL は後でアップデートで追加される可能性があります)。
- オークション中にリアルタイム データを取得できるように、クエリするデータキーのリストと、購入者の Key-Value サービスの URL。
購入者のコードには、オークションの結果をレポートする reportWin()
関数を含めることもできます。
広告オークションは誰が実施するのですか?
広告スペースを販売するためにオークションを実施する複数の当事者が存在します。
次に例を示します。
- コンテンツ パブリッシャー: 自身のウェブサイトで広告コンテンツをホストするために行動する。
- サプライサイド プラットフォーム(SSP): パブリッシャーと連携して、その他のサービスを提供します。
- サードパーティ スクリプト: パブリッシャーの代理として、広告オークションへの参加を可能にします。
Protected Audience API では、広告スペースの販売者は次の 3 つのジョブを実行します。
- パブリッシャー ルールを適用する: どの購入者とどの入札が対象となるかを指定します。
- オークション ロジックの実行: ワークレットで実行される JavaScript。各入札の望ましさスコアを計算します。
- オークションの結果を報告します。
これらのジョブは、販売者が JavaScript 関数 navigator.runAdAuction()
を呼び出して広告オークションを開始するときに提供するコードで、プログラムによって実行されます。
Protected Audience API の広告オークションの仕組み
次の図は、Protected Audience API の広告オークションの各段階を示しています。

Protected Audience API では、広告オークションは、ブラウザがユーザーのデバイスで実行して広告を選択する小さな JavaScript プログラムの集まりです。プライバシーを保護するため、販売者と購入者のすべての広告オークション コードは、外部と通信できない分離された JavaScript ワークレットで実行されます。
販売者(パブリッシャーまたはサプライサイド プラットフォーム)が、広告スペースを販売するサイト(ニュースサイトなど)で Protected Audience 広告オークションを開始します。販売者はオークションに参加する購入者を選択し、販売するスペースを指定して、広告の追加条件を指定します。各購入者はインタレスト グループの所有者です。
販売者は、入札をスコアリングするコードをブラウザに提供します。このコードには、各入札の値、広告クリエイティブの URL、各購入者から返されたその他のデータが含まれます。オークション中、購入者の入札コードと販売者の入札スコアリング コードは、それぞれの Key-Value サービスからデータを受け取ることができます。広告が選択されて(プライバシーを保護するためにフェンス付きフレームで)表示されると、販売者と落札した購入者はオークションの結果をレポートできます。
- ユーザーが広告が表示されるサイトにアクセスします。
- 販売者のコードがオークションを開始します。販売者は、販売する広告スペース、入札できるユーザー、入札をスコアリングする方法を指定します。
- 招待された購入者のコードが実行され、入札単価、関連する広告クリエイティブの URL、その他のデータが生成されます。入札スクリプトは、購入者の Key/Value サービスから、広告キャンペーンの残りの予算などのリアルタイム データをクエリできます。
- 販売者のコードは各入札をスコアリングし、落札者を選択します。このロジックは、入札単価とその他のデータを使用して、入札の望ましさを返し、コンテキスト広告の勝者に勝てない広告を拒否します。販売者は、リアルタイム データに独自の Key-Value サービスを使用できます。オークションが開始される前に、販売者は利用可能な広告スロットに最適なコンテキスト広告を見つけます。
- オークション構成で
resolveToConfig
フラグが設定されている場合、落札した広告はフェンス付きフレーム構成オブジェクトとして返されます。この構成は、フェンス付きフレームを広告クリエイティブに移動するために使用され、クリエイティブの URL は販売者とパブリッシャーの両方から隠されます。resolveToConfig
フラグがfalse
に設定されているか、渡されていない場合、落札した広告は、iframe で広告をレンダリングするために使用できる不透明な URN として返されます。フェンス付きフレーム構成オブジェクトは M114 以降で利用できます。 - オークションの結果が販売者と落札者に報告されます。
購入者の離脱に関するレポート メカニズムについては、現在検討中です。
Protected Audience API Key/Value サービスとは
Protected Audience API の Key/Value サービスを使用すると、広告テクノロジーは、購入者が入札したときにリアルタイム データをクエリし、販売者はプライバシーを保護しながら広告をスコアリングできます。Protected Audience API Key/Value サービスなどについては、Protected Audience API サービスをご覧ください。
Key/Value サービスは広告テクノロジー独自のクラウド インフラストラクチャにデプロイされ、高信頼実行環境で実行されます。Key/Value サービスへのリクエストは、イベントレベルのロギングやその他の副作用を引き起こすことはできません。Key-Value サービスは、広告テクノロジーが Key-Value サービス内で独自のカスタム ロジックを実行できるユーザー定義関数(UDF)もサポートします。
購入者または販売者は、Protected Audience API Key/Value サービスから必要なデータを指定する「キー」のリストを提供します。Key/Value サービスは、各キーの値で応答します。
Protected Audience API の Key/Value サービスコードが、プライバシー サンドボックスの GitHub リポジトリで公開されました。このサービスは、Chrome と Android のデベロッパーが使用できます。
Protected Audience API の Key/Value サービスについて詳しくは、API の説明と信頼モデルの説明をご覧ください。
リアルタイム データはオークションにどのように組み込まれますか?
広告オークションの購入者または販売者は、リアルタイム データにアクセスする必要がある場合があります。たとえば、購入者は広告キャンペーンの残りの予算を計算したい場合があり、販売者はパブリッシャー ポリシーに照らして広告クリエイティブを確認する必要があります。
Protected Audience API のプライバシー要件を満たすため、広告オークション中に必要なリアルタイム データは Key/Value サービスによって提供されます。各購入者が navigator.joinAdInterestGroup()
を呼び出すと、購入者は Key-Value サービスの URL を指定し、オークション中にサービスにクエリするキーを指定します。同様に、販売者が navigator.runAdAuction()
を呼び出して広告オークションを実行するときに、販売者は Key-Value サービスの URL を提供します。販売者の Key-Value サービスは、クリエイティブのレンダリング URL でクエリされます。
初期テストでは、「Bring Your Own Server」モデルが使用されます。長期的には、広告テクノロジーは、リアルタイム データを取得するために、信頼できる実行環境で実行されているオープンソースの Protected Audience API Key/Value サービスを使用する必要があります。
エコシステムが十分にテストを行えるように、サードパーティ Cookie のサポート終了後しばらくの間は、オープンソースの Key/Value サービスや信頼できる実行環境の使用を必須としない予定です。移行の前に、デベロッパーがテストと導入を開始できるよう、十分な期間を設けてお知らせします。
Protected Audience オークションでファーストパーティ データはどのように使用されますか?
ファーストパーティ データとは、サイトがユーザーに関して所有しているデータです。たとえば、ユーザーが広告主様またはパブリッシャーのサイトで好きな色を指定した場合、その色はファーストパーティ データと見なされます。
保護されたオーディエンス オークションでは、広告主は自社データを使用して広告のインタレスト グループのメンバーシップを決定できます。また、userBiddingSignals
としてインタレスト グループにデータを渡すこともできます。広告主のファーストパーティ データは、入札生成ステップでのみ購入者が利用でき、販売者は利用できません。
たとえば、広告主がユーザーの好きな色を知っている場合、ユーザーがインタレスト グループに追加されるときに、インタレスト グループの構成で値を userBiddingSignals
として設定できます。
const interestGroup = {
owner: 'https://example-buyer.com',
name: 'running-shoes',
userBiddingSignals: {
favoriteColor: 'blue' // First-party data
},
// ...other interest group settings
};
navigator.joinAdInterestGroup(interestGroup, 3600);
パブリッシャーは、オークションの開始時にオークション設定でシグナルを設定して、ファーストパーティ データを渡すこともできます。また、ファーストパーティ データの受け取り手を制御することもできます。パブリッシャーが auctionSignals
としてファーストパーティ データを渡すと、購入者と販売者の両方が利用できるようになります。データが sellerSignals
として渡されると、販売者のみが利用できます。perBuyerSignals
として渡されると、指定された購入者のみが利用できます。パブリッシャーは、コンポーネント オークションにファーストパーティ データを渡すこともできます。パブリッシャーとオークション参加者は、共有する必要があるファーストパーティ データと、データの形式について事前に合意する必要があります。
次の例は、パブリッシャーがファースト パーティ データをさまざまなオークション参加者に渡す方法を示しています。
const auctionConfig = {
seller: 'https://example-seller.com',
auctionSignals: {
favoriteColor: 'blue', // Both buyer and seller will receive this signal
},
sellerSignals: {
favoriteIceCreamFlavor: 'chocolate', // Only the seller will receive this signal
},
perBuyerSignals: {
'https://example-buyer.com': {
favoriteDrink: 'tea', // Only a specific buyer will receive this signal
},
},
// The same pattern applies to the component auction
componentAuctions: [{
seller: 'https://example-component-seller.com',
auctionSignals: { ... },
sellerSignals: { ... },
perBuyerSignals { ... }
}],
// ...other auction settings
};
navigator.runAdAuction(auctionConfig);
関連リソース
Protected Audience API の詳細については、Protected Audience API デベロッパー ガイドをご覧ください。
デベロッパー
Protected Audience API の使用を開始する準備ができたら、テストとディスカッションをご覧ください。
API デベロッパー ガイドを作成し、基本的な Protected Audience API のデプロイのチュートリアルを提供する Protected Audience API のデモを構築しました。Protected Audience API のデモ動画では、デモコードの仕組みと、Chrome DevTools を使用して Protected Audience API のデバッグを行う方法について説明しています。
意見交換とフィードバックの提供
- GitHub: 解説の確認、質問の投稿、意見交換を行えます。
- お知らせ: Protected Audience API メーリング リストで、過去のお知らせを確認するか、メーリング リストに登録してください。
- W3C: 「ウェブ広告ビジネスの改善」グループで、業界のユースケースについて意見を交換してください。
- デベロッパー サポート: 実装やベスト プラクティスに関する質問を投稿したり、プライバシー サンドボックス デベロッパー サポート リポジトリで意見交換を行ったりできます。
- 現在の実装: Chrome の Protected Audience の実装について質問がある場合は、Chromium バグを報告してください。