FLEDGE
クロスサイトサードパーティトラッキングを使わずにリマーケティングとカスタムオーディエンスにサービスを提供するオンデバイス広告オークション。
この記事の対象者
この記事では、FLEDGE の基本を取り上げ、いくつかの基本的な概念について説明しますが、技術的な詳細についてはあまり触れません。
- 広告やアドテックの仕事をしている方なら、 FLEDGE の仕組みの概要がわかります。
- 開発者またはソフトウェアエンジニアの場合は、FLEDGE API 開発者ガイドで提案に関するより詳細な技術的説明、Intent to prototype ではブラウザでの FLEDGE のステータスに関する最新の議論をお読みいただけます。
- FLEDGE デモでは、FLEDGE の基本的なデプロイをウォークスルー形式で説明しています。
FLEDGE ドキュメント全体で使用される用語については、用語集を参照してください。
貢献とフィードバックの共有方法は、この記事の最後に説明されています。
FLEDGE とは
FLEDGE は、リマーケティングおよびカスタム オーディエンスのユースケースに対応するためのプライバシーサンドボックスの提案であり、サードパーティがサイトを跨いでユーザーのブラウジング行動を追跡できないように設計されています。
このAPIにより、ブラウザによるオンデバイスのオークションが可能になり、ユーザーが以前に訪問したウェブサイトから関連性の高い広告を選択できます。
FLEDGE は、 TURTLEDOVE ファミリーの提案の中で Chromium に実装された最初の実験です。 プライバシーサンドボックスのタイムラインには、FLEDGE とその他のプライバシーサンドボックス提案の実装時期に関する情報が提供されています。
一分で説明する FLEDGE
FLEDGE の詳細な概要については、FLEDGE API 開発者ガイドを参照してください。
FLEDGE では、「インタレストグループ」を使用することで、サイトがユーザーに関連する広告を表示できるようになっています。
たとえば、製品の広告を掲載するウェブサイトにユーザーがアクセスすると、インタレストグループのオーナー(サイトに働きかけるデマンドサイドプラットフォーム(DSP)など)は、ユーザーのブラウザにインタレストグループのメンバーシップを追加するように要求できます。グループオーナー(この例では DSP)は、navigator.joinAdInterestGroup()
という JavaScript 関数を呼び出してこれを行います。呼び出しが成功すると、ブラウザは次の内容を記録します。
- インタレストグループの名前: 「custom-bikes」など。
- インタレストグループのオーナー:「https://dsp.example」など。
- インタレストグループの構成情報: グループのオーナーがオンライン広告オークションでの入札に招待された場合に、ブラウザが入札コード、広告コード、およびリアルタイムデータにアクセスできるようにします。 この情報は、インタレストグループのオーナーが後で更新することが可能です。
インタレストグループには他にもユースケースがあります。オーナーと種類の例をご覧ください。
後で、ユーザーが広告スペースを販売するサイトにアクセスすると、広告スペースのセラー(ほとんどの場合、サイトの SSP またはサイト自体)は FLEDGE を使用して広告オークションを実行し、ユーザーに表示する最も適切な広告を選択できます。セラーが navigator.runAdAuction()
関数を呼び出すと、この関数によって、入札に招待されたインタレストグループのオーナーのリストが提供されます。
入札コードは、ブラウザがメンバーであり、オーナーが入札に招待されているインタレストグループに対してのみ実行されます。
入札コードは、インタレストグループの構成情報で指定された URL から取得されます。このコードには、インタレストグループに関するデータとセラーからの情報と、ページとブラウザからのコンテキストデータが渡されます。
各入札者はバイヤーとも呼ばれます。
ブラウザが関数を呼び出して広告オークションを実行すると、各バイヤーのコードは、FLEDGE の Key/Value サービスによって提供されるリアルタイムデータを利用して入札を生成します。次に、セラーはこれらの入札とバイヤーが所有するリアルタイム データを受け取り、各入札をスコアリングします。最高スコアの入札がオークションを落札します。
落札した広告は Fenced Frame に表示されます。広告クリエイティブの URL は入札で指定され、オリジンは、インタレストグループの設定によって提供されるリストのいずれかと一致する必要があります。
セラーはオークションの結果を報告でき(reportResult()
)、バイヤーは落札を報告できます(reportWin()
)。
FLEDGE オークションの結果レポートを生成する方法をご覧ください。
FLEDGE が必要である理由
ユーザーの関心を理解すれば、単にサイトのコンテンツに基づいて広告を選択したり(コンテキストターゲティング)、広告が表示されるサイトにユーザーが提供した情報を使用したり(ファーストパーティ データターゲティング)するよりも、より関連性の高い広告を作成できます。
従来、広告プラットフォームはサイト間でユーザーの行動を追跡することで、ユーザーの興味を学習してきましたが、 コンテンツパブリッシャーがクロスサイトトラッキングなしで広告収入を得られるようにするには、ブラウザに、広告プラットフォームが関連性のある広告を選択できるようにする方法が必要となります。
FLEDGE の実験は、ユーザーが興味を持っている物事に関する情報がそのユーザーのブラウザ(広告主やアドテクプラットフォーム上ではなく、ユーザーのデバイス上)に保持される状態に Web プラットフォームを近づけることを目的としています。
この記事で説明されているすべての機能が、現在 Chrome でテストされている FLEDGE API のバージョンに(一部または完全に)実装されているわけではありません。FLEDGE API 開発者ガイドでは、機能フラグを使用してコマンドラインから実行される Chrome で現在どの FLEDGE 機能をテストできるかについて説明されています。
FLEDGE の機能は、徐々に追加される予定です。オリジントライアルが有効である間、実装済みの機能とまだ進行中の機能のリストを定期的に更新していきます。
FLEDGE を試すには
FLEDGE API 開発者ガイドでは、プライバシーサンドボックスの広告関連に関するオリジントライアルに参加する方法と、Chrome のフラグを設定して単一ユーザー向けに FLEDGE を試す方法について説明しています。
fledge-demo.glitch.me には、広告主とサイト運営者サイトにまたがる基本的な FLEDGE デプロイメントのウォークスルーが提供されています。
FLEDGE デモ動画では、デモコードがどのように動作するかを説明し、FLEDGE のデバッグに Chrome DevTools を使用する方法を示しています。
利用可能なブラウザ構成
ユーザーは、chrome://settings/privacySandbox
のトップレベルの設定を有効または無効にすることで、Chrome のプライバシーサンドボックストライアルへの参加を調整できます。初期テスト中は、プライバシーサンドボックスの設定で FLEDGE をオプトアウトすることができます。
Chrome では、ユーザーがアクセスしたウェブサイト間で、自分が追加されているインタレストグループのリストを表示および管理できるようにすることを予定しています。プライバシーサンドボックスのテクノロジー自体と同様に、ユーザー設定は、ユーザー、規制当局などからのフィードバックによって進化する可能性があります。
FLEDGE の提案が進むにつれて、テストとフィードバックに基づいて、Chrome で利用可能な設定を更新し続けます。将来的には、FLEDGE と関連データを管理するためのより詳細な設定を提供する予定です。
API 呼び出し元は、ユーザーがシークレットモードで閲覧している場合はグループメンバーシップにアクセスできません。また、ユーザーがサイトデータを消去するとメンバーシップは削除されます。
FLEDGE をオプトアウトできますか?
サイトオーナーまたは個人ユーザーとして FLEDGE API へのアクセスをブロックする方法をご覧ください。
重要な概念
FLEDGE 用語の詳細をお探しですか?プライバシーサンドボックスの用語集をご覧ください。
インタレストグループとは
インタレストグループとは
FLEDGE インタレストグループは、共通する関心を持つユーザーのグループを表すもので、リマーケティングリストに対応しています。
各 FLEDGE インタレストグループにはオーナーがいます。 オーナーの種類が異なれば、ユースケースが異なるさまざまな種類のインタレストグループが作成されます。
オーナーはユーザーのブラウザに対し、JavaScript 関数 navigator.joinadInterestGroup()
を呼び出して、インタレストグループに関連する広告に関するデータと入札に使用される JavaScript の URL などの情報を提供することで、インタレストグループのメンバーシップを追加するように要求します。 インタレストグループデータ(広告など)の更新は可能で、インタレストグループは最大 30 日間有効にできます。
インタレストグループはブラウザに保存され、FLEDGE のブラウザ内オークションで入札できますが、プログラムで「読み取る」ことはできません。つまり、クロスサイト ID が公開されるため、navigator.getAdInterestGroups()
はありません。
以下の表は、FLEDGE インタレストグループとオーナーのさまざまな種類の例を示しています。
オーナー | 例 | 関心の対象 | 例 | ユースケース |
---|---|---|---|---|
広告主 | 自転車メーカー | 製品 | 特定のカテゴリの自転車の製品ページを閲覧した人。 | 以前にそのブランドと対話したことのあるユーザーへのリマーケティング。 |
サイト運営者 | ニュースサイト | コンテンツ | サイクリングについて読んだ人。 | サイト運営者は、ファーストパーティデータを使用して、広告主がサイト閲覧者に関連のある広告を購入できるようにすることができます。 サイト運営者が所有するインタレストグループは、これらのユーザーが他のサイトを閲覧している場合であっても、サイト運営者に同じことをさせることができます。 サイト運営者は、オーディエンスの特定のセグメントに広告を表示する機能に対して課金することが可能です。 |
アドテク | DSP | 商品カテゴリ | サイクリング用品に興味を示した人たち。 | アドテク企業は、あるカテゴリのアイテムの市場にいると信じているユーザーのインタレストグループを作成し、管理することができます。 このインタレストグループは、そのカテゴリ(とアドテク会社と連携しているユーザー)で商品を販売するサイトで、商品を宣伝するために使用されます。 |
バイヤーとは
バイヤーとは
FLEDGE では、インタレストグループを所有し、広告オークションに入札する当事者を指します。
たとえば、以下が該当します。
- 広告主: 広告主自体を代表します。
- デマンドサイドプラットフォーム(DSP): 広告主を代表します。
- インタレストグループオーナー: 複数の広告主のために使用されます。
バイヤーには 3 つのジョブがあります。
- オークションに参加するかどうかを選択すること
- 広告を選択して入札単価を計算すること
- オークションの結果を報告すること
これらの任務は、FLEDGE 広告オークション中に実行される、バイヤーが提供するコードによるプログラムで実行されます。
バイヤーがユーザーのブラウザに対して、それが属しているグループにインタレストグループを追加するように要求する際(JavaScript 関数 navigator.joinadInterestGroup()
を呼び出す)、バイヤーはブラウザに以下を提供します。
- セラーが広告オークションを実施する際に使用する入札コードの URL。
- 場合によっては、インタレストグループの広告クリエイティブの URL。(広告の URL は、後で更新によって追加される可能性があります。)
- オークション中に入札コードがリアルタイム データを取得できるようにするための、クエリ対象のデータ Key のリストとバイヤーの Key/Value サービスの URL。
バイヤーのコードには、オークションの結果を報告する reportWin()
関数を含めることもできます。
広告オークションの実行者
広告オークションの実行者
広告スペースを販売するためにオークションを開催する可能性のある当事者は複数存在します。
たとえば、以下が該当します。
- コンテンツパブリッシャー: それ自体を代表し、自社サイトで広告コンテンツをホストします。
- サプライサイドプラットフォーム(SSP): サイト運営者と連携し、他のサービスを提供します。
- サードパーティスクリプト: サイト運営者を代表し、広告オークションへの参加を可能にします。
FLEDGE では、広告スペースのセラーに次の 3 つのジョブがあります。
- サイト運営者のルールを強制すること: どのバイヤーとどの入札が適格か。
- オークションロジックの実行: JavaScript をワークレットで実行して、各入札の望ましさのスコアを計算します。
- オークションの結果を報告すること
これらのジョブは、JavaScript 関数の navigator.runadAuction()
を呼び出して広告 オークションを開始したときに、セラーが指定したコードによるプログラムで実行されます。
FLEDGE 広告オークションの仕組み
FLEDGE 広告オークションの仕組み
以下の図は、FLEDGE の広告オークションの各ステージの概要を示しています(拡大表示)。
FLEDGE では、広告オークションは、広告を選択するためにブラウザがユーザーのデバイス上で実行する小さな JavaScript プログラムの集合体を指します。プライバシーを保護する目的で、セラーとバイヤーからのすべての広告オークションコードは、外部と通信できない分離された JavaScript ワークレットで実行されます。
セラー(サイト運営者またはサプライサイドプラットフォーム)は、広告スペースを販売するサイト(ニュースサイトなど)で FLEDGE 広告オークションを開始します。セラーは、オークションに参加するバイヤーを選択し、販売するスペースを示し、広告の追加基準を提供します。各バイヤーは、インタレストグループのオーナーです。
セラーは、各バイヤーの値、広告クリエイティブの URL、およびバイヤーごとに返されたその他のデータを含む、入札をスコアリングするためのコードをブラウザに提供します。オークション中、バイヤーからの入札コードとセラーからの入札スコアリング コードは、Key/Value サービスからデータを受け取ることができます。広告が選択されて表示されると(プライバシーを保護する Fenced Frame に表示)、セラーと落札者はオークション結果を報告できます。
ユーザーが広告を表示するサイトにアクセスします。
セラーのコードがオークションを開始します。セラーは、どの広告スペースを販売するか、誰が入札できるか、それらの入札のスコアリング方法を指定します。
招待されたバイヤーのコードが実行され、入札、関連する広告クリエイティブの URL、およびその他のデータが生成されます。入札スクリプトは、バイヤーの Key/Value サービスから、残りの広告キャンペーン予算などのリアルタイムデータをクエリできます。
セラーのコードが各入札をスコアリングし、落札者を選択します。このロジックは、入札値と他のデータを使用して入札の望ましさを返し、コンテキスト広告の落札者に勝てない広告を拒否します。セラーは、リアルタイムデータに独自の Key/Value サービスを使用できます。オークションが始まる前に、セラーは利用可能な広告スロットに最適なコンテキスト広告を見つけます。
落札した広告は opaque 値として返され、Fenced Frame
に表示されます。セラーとサイト運営者のいずれもこの値を閲覧できなくなります。オークションは、セラーと落札したバイヤーに報告されます。
FLEDGE Key/Value サービス とは?
FLEDGE Key/Value サービス とは?
FLEDGE Key/Value サービスを使用すると、アドテックはバイヤーが入札を行ったときにリアルタイムデータをクエリし、セラーはプライバシーを保護しながら広告をスコアリングできます。FLEDGE Key/Value サービスは、FLEDGE サービスの 1 つです。
Key/Value サービスはアドテック独自のクラウド インフラストラクチャに展開され、サービスは信頼できる実行環境で実行されます。Key/Value サービスへのリクエストは、イベントレベルのログを記録したり、その他の副作用を引き起こしたりすることはありません。Key/Value サービスは、アドテックが Key/Value サービス内で独自のカスタムロジックを実行できるようにするユーザー定義関数(UDF)もサポートします。
バイヤーまたはセラーは、「キー」のリストを提供して、FLEDGE Key/Value サービスから必要なデータを指定します。Key/Value サービスは、各キーの値で応答します。
FLEDGE Key/Value サービス コードが Privacy Sandbox GitHub リポジトリで利用できるようになりました。このサービスは、Chrome および Android の開発者が使用できます。
FLEDGE Key/Value サービスの詳細については、API の Explainer および信頼できるモデルの Explainer をご覧ください。
オークションへのリアルタイムデータの組み込み方法
オークションへのリアルタイムデータの組み込み方法
広告オークションのバイヤーまたはセラーは、リアルタイムデータにアクセスする必要がある場合があります。 入札者が広告キャンペーンの残りの予算を計算したい場合や、セラーがサイト運営者のポリシーに対して広告クリエイティブをチェックする必要がある場合などです。
FLEDGE のプライバシー要件を満たすために、広告オークション中に必要なリアルタイムデータは Key/Value サービスによって提供されます。各バイヤーが navigator.joinAdInterestGroup()
を呼び出すと、バイヤーは Key/Value サービスの URL を指定し、オークション中にサービスに対してクエリされるキーを指定します。同様に、セラーが navigator.runAdAuction()
を呼び出して広告オークションを実行すると、セラーは Key/Value サービスの URL を提供します。セラーの Key/Value サービスは、クリエイティブのレンダリング URL でクエリされます。
初期テストでは、 「Bring Your Own Server」モデルが使用されます。長期的には、アドテックはリアルタイムデータを取得するために、信頼できる実行環境で実行されるオープンソースの FLEDGE Key/Value サービスを使用する必要があります。
エコシステムがテストするのに十分な時間を確保するために、サードパーティの Cookie が廃止されるまでは、オープンソースの Key/Value サービスまたは TEE の使用が必要になるとは考えていません。この移行が行われる前に、開発者がテストと採用を開始できるのに十分な通知を行う予定です。
詳細について
FLEDGE の詳細な概要については、FLEDGE API 開発者ガイドを参照してください。
開発者
FLEDGE の使用を開始する準備ができている場合は、実験を読んで参加してください。
API 開発者ガイドを作成し、FLEDGE の基本的なデプロイをウォークスルー形式で説明する FLEDGE デモを作成しました。FLEDGE デモ動画では、デモコードがどのように機能するか、また Chrome DevTools で FLEDGE をデバッグする方法を説明しています。
貢献とフィードバックの共有
- GitHub: 提案を読み、質問を投稿したり、ディスカッションに参加したりできます。
- W3C: Web 広告事業の改善グループで、業界ユースケースについて議論できます。
- 開発者サポート: プライバシーサンドボックス開発者サポートリポジトリで、質問を投稿したり、ディスカッションに参加したりできます。