Protected Audience API

第三者によるクロスサイト トラッキングを使用しないオンデバイスの広告オークションで、リマーケティングやカスタム オーディエンスに配信。

この記事の対象者

この記事では、Protected Audience API の基本と基本的なコンセプトについて説明します。技術的な詳細は説明しません。

Protected Audience のドキュメント全体で使用される用語については、用語集をご覧ください。この記事の最後では、フィードバックへの対応と共有の方法を学ぶことができます。

Protected Audience API とは

Protected Audience API は、リマーケティングやカスタム オーディエンスのユースケースに対応するためのプライバシー サンドボックス技術です。サードパーティがサイトをまたいでユーザーの閲覧行動を追跡できないように設計されています。

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 ライフサイクルの各ステージの概要
Protected Audience API のライフサイクル: 拡大版で表示します

Protected Audience API はインタレスト グループを使用して、サイトでユーザーに関連する広告を表示できるようにします。

たとえば、自社の商品を宣伝したいサイトにユーザーがアクセスした場合、インタレスト グループのオーナーデマンドサイド プラットフォーム(DSP)など)は、ユーザーのブラウザに対し、インタレスト グループのメンバーを追加するよう要求できます。リクエストが成功すると、ブラウザでは次の情報が記録されます。

  • インタレスト グループの名前(例: 「カスタムバイク」)。
  • インタレスト グループのオーナー(例: 「https://dsp.example」)。
  • インタレスト グループの設定情報。グループの所有者が広告オークションの入札に招待された場合、ブラウザが入札コード、広告コード、リアルタイム データにアクセスできるようになります。

その後、ユーザーが利用可能な広告スペースのあるサイトにアクセスすると、広告スペース販売者(セルサイド プロバイダ(SSP)、またはサイト自体)は、Protected Audience を使用して広告オークションを実施し、ユーザーに表示する最適な広告を選択できます。販売者が navigator.runAdAuction() 関数を呼び出し、入札に招待されるインタレスト グループのオーナーのリストを提供します。

入札は、ブラウザが属し、所有者が入札に招待されているインタレスト グループのみが指定できます。

入札コードは、インタレスト グループの設定で指定された URL から取得されます。このコードは、インタレスト グループに関するデータと販売者からの情報とともに、ページやブラウザに関するコンテキスト データを提供します。

入札を行う各インタレスト グループを購入者と呼びます。

ブラウザで広告オークションを実行する関数が呼び出されると、各購入者のコードが、Protected Audience Key-Value サービスから提供されるリアルタイム データを使用して入札を生成します。次に、販売者はこれらの入札と販売者所有のリアルタイム データを受け取り、各入札をスコアリングします。スコアの最も高い入札がオークションの落札者となります。

落札広告はフェンス付きフレーム内に表示されます。広告クリエイティブの URL は入札で指定され、オリジンはインタレスト グループの設定で指定されたリスト内の 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 では、ユーザーがこれまでにアクセスしたさまざまなサイトで、ユーザーが追加されているインタレスト グループのリストを確認、管理できるようにする予定です。プライバシー サンドボックス テクノロジーと同様に、ユーザー設定はユーザーや規制当局からのフィードバックによって進化する可能性があります。

Google は、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 における購入者とは、インタレスト グループを所有し、広告オークションに入札する当事者を指します。

例:

購入者には 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 の広告オークションの 6 つのステージ


Protected Audience API における広告オークションとは、広告を選択するためにブラウザがユーザーのデバイス上で実行する小さな JavaScript プログラムのコレクションです。プライバシー保護のため、販売者と購入者の広告オークション コードはすべて、外部と通信できない分離された JavaScript ワークレットで実行されます。

販売者(パブリッシャーまたはサプライサイド プラットフォーム)が、広告スペースを販売するサイト(ニュースサイトなど)で Protected Audience の広告オークションを開始します。販売者は、オークションに参加する購入者を選択し、販売対象のスペースを指定し、広告に追加の条件を指定します。各購入者は、インタレスト グループのオーナーとなります。

販売者はブラウザに入札をスコアリングするためのコードを提供します。このコードには、各入札の値、広告クリエイティブの URL、各購入者から返されたその他のデータが含まれます。オークション中、購入者の入札コードと販売者の入札スコアリング コードは、Key-Value サービスからデータを受け取ることができます。広告が選択されて(プライバシー保護のためフェンス付きフレーム内)、販売者と落札者はオークションの結果を報告できます。

  1. ユーザーが広告を表示するサイトにアクセスします。
  2. 販売者のコードがオークションを開始します。販売者は、販売中の広告スペース、入札可能なユーザー、入札をスコアリングする方法を指定します。
  3. 招待された購入者のコードが実行され、入札単価、関連する広告クリエイティブの URL、その他のデータが生成されます。入札スクリプトでは、購入者の Key-Value サービスから、広告キャンペーンの残りの予算などのリアルタイム データをクエリできます。
  4. 販売者のコードが各入札を評価し、落札者を選択します。このロジックでは、入札単価とその他のデータを使用して入札の望ましい結果を返し、コンテキスト広告の落札者を上回る広告を拒否します。販売者は、リアルタイム データに独自の Key-Value サービスを使用できます。販売者はオークションの開始前に、使用可能な広告スロットに最適なコンテキスト広告を見つけます。
  5. オークション設定で resolveToConfig フラグが設定されている場合、落札広告はフェンス フレーム設定オブジェクトとして返されます。この設定を使用してフェンス フレームを広告クリエイティブに移動させ、クリエイティブの URL が販売者とパブリッシャーのいずれにも見えないようにする。resolveToConfig フラグが false に設定されているか渡されない場合、落札広告は不透明な URN として返され、iframe 内での広告の表示に使用できます。フェンス付きフレーム構成オブジェクトは M114 以降で使用できます。
  6. オークションは販売者と落札購入者にレポートされます。

購入者を失った場合のレポートの仕組みについては検討中です。

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 のオークションで自社データはどのように使用されますか?

自社データとは、サイトが所有するユーザーに関するデータです。たとえば、広告主やパブリッシャーのサイトでユーザーが好みの色を指定している場合、その色はファーストパーティ データと見なされます。

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 の利用を開始する準備ができたら、テストと参加をご覧ください。

Google では API デベロッパー ガイドと、Protected Audience API のデモを作成しました。こちらでは、Protected Audience API の基本的なデプロイについて解説しています。Protected Audience API のデモ動画では、デモコードの仕組みと、Chrome DevTools を使用して Protected Audience API をデバッグする方法について説明しています。

フィードバックを共有