Protected Audience オークションで取引(プライベート マーケットプレイス(PMP))を実装する
概要
取引はプライベート マーケットプレイス(PMP)とも呼ばれ、広告枠のサブセットに対するキュレートされたアクセスや優待価格を購入者に提供します。プログラマティック取引を促進するために、シート ID と取引 ID が使用されます。
- シート ID は購入者から取得され、購入者の顧客を表す識別子です。シート ID は請求に影響することがあります(特定の販売者によるシートの割引など)。
- 取引 ID は、購入者または販売者から取得され、購入者と販売者間の契約を表す識別子です。取引 ID には、費用/価格、契約ボリューム、オーディエンス情報、独占性などのプロパティがあります。
Protected Audience は、シート ID と取引 ID をオークションの入札、スコアリング、レポートで利用できるようにするレポート ID を使用して、取引を促進します。広告テクノロジー企業は、レポート ID を使用して、オークション後の Protected Audience レポートで取引 ID とシート ID を受け取り、取引や請求処理の整理に役立てることができます。バイヤー、販売者、代理店、広告主の皆様は、受け取る取引 ID とシート ID を解釈、理解するために、独自の戦略をお持ちであれば幸いです。
チュートリアル
Protected Audience オークションで取引を促進する手順は次のとおりです。
- 購入者はオークションの実施前に、インタレスト グループの設定で取引 ID とシート ID を登録する
- 取引 ID とシート ID は、[選択可能なレポート ID] フィールド(
selectableBuyerAndSellerReportingIds
)で設定できます。 - シート ID がすべての取引で同じ場合、そのシート ID は
buyerAndSellerReportingId
で設定し、取引 ID は選択可能なレポート ID フィールド(selectableBuyerAndSellerReportingIds
)で設定できます。
- 取引 ID とシート ID は、[選択可能なレポート ID] フィールド(
- 入札の生成時に、取引 ID とシート ID を使用できるようになります。購入者は
selectableBuyerAndSellerReportingIds
から取引 ID を選択します。購入者はselectedBuyerAndSellerReportingId
を返すことにより、その入札に関連付けられた取引 ID を含む入札を生成します。オークションで落札できるのは、返された取引 ID が他のレポート ID とともに k-anonymous であり、インタレスト グループのプロパティが選択された場合のみです。 - 広告スコアリング中に、選択した取引 ID とシート ID が販売者に提供されます。
- 取引 ID とシート ID は、販売者のレポート機能で使用できるようになります。
- 取引 ID とシート ID は、購入者のレポート機能で使用できるようになります。
1. ディール ID とシート ID の登録
購入者はオークションの実行前に、インタレスト グループの設定に取引 ID とシート ID を登録します。取引 ID とシート ID は、selectableBuyerAndSellerReportingIds
で文字列の配列として設定されています。座席 ID がすべての取引で同じであり、繰り返しを使用する必要がない場合は、文字列を受け入れる buyerAndSellerReportingId
フィールドに座席 ID を追加できます。
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: ['deal123', 'deal456', 'deal789'], // Deal IDs
buyerAndSellerReportingId: 'seat123', // Seat ID
// Though it is not used to facilitate deals, the buyer
// reporting ID can be defined with other reporting IDs
buyerAndReportingId: 'brid123'
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
ディールでシート ID が異なる場合は、次の設定を使用できます。
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: [
'deal123seat123',
'deal456seat456',
'deal789seat456'
], // Deal and Seat IDs
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
2. 入札生成時の購入者の取引 ID とシート ID
入札の生成時に、購入者は取引 ID に基づいて入札するかどうかを決定します。generateBid()
で、購入者は selectableBuyerAndSellerReportingIds
から取引 ID を選択し、値を selectedBuyerAndSellerReportingId
として返すことができます。選択した取引 ID が selectableBuyerAndSellerReportingIds
配列内にない場合、入札は拒否されます。
function generateBid(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectableBuyerAndSellerReportingIds // ['deal123', 'deal456', 'deal789']
buyerAndReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
// ...
return {
bid: 1,
render: 'https://buyer.example/ad.html',
selectedBuyerAndSellerReportingId: 'deal456', // Buyer selects a deal ID
};
}
selectedbuyerAndSellerReportingId
に返された値がある入札がオークションの落札となるのは、selectedbuyerAndSellerReportingId
の値が buyerAndSellerReportingId
(存在する場合)、buyerReportingId
(存在する場合)、インタレスト グループの所有者、入札スクリプトの URL、レンダリング URL、広告サイズ(広告サイズは少なくとも 2025 年第 1 四半期まではこの確認の対象外)と k-匿名性の組み合わせである場合のみです。
インタレスト グループの設定で selectablebuyerAndSellerReportingIds
が定義されていても、generateBid()
が selectedbuyerAndSellerReportingId
を含まない入札単価を返すことはできます。この場合、その入札が落札した場合にレポート機能に提供されるレポート ID は、選択できないレポート ID の動作に従います。
最初の呼び出しで k-匿名性チェックに合格した広告の入札がなかったため、generateBid()
が再実行された場合、k-匿名性チェックに合格しなかった selectableBuyerAndSellerReportingIds
はインタレスト グループに含まれません。
3. 広告のスコアリング時の販売者の取引 ID とシート ID
選択した取引 ID とシート ID(存在する場合)が scoreAd()
からアクセス可能になります。販売者は、取引 ID や特別な条件を考慮して、落札した入札の好感度スコアを提供します。購入者が選択した取引 ID を適用できないと販売者は、好ましさスコアをゼロまたは負の値にして入札を拒否します。
function scoreAd(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds, // 'deal456'
} = browserSignals;
// ...
}
4. 販売者のレポートのディール ID とシート ID
オークションで落札できるのは、selectedBuyerAndSellerReportingId
、buyerAndSellerReportingId
(存在する場合)、buyerReportingId
(存在する場合)が、インタレスト グループの所有者、入札スクリプトの URL、レンダリング URL、広告サイズについて k-匿名性を持つ場合のみです(広告サイズは少なくとも 2025 年第 1 四半期までは除外されます)。そのため、selectedBuyerAndSellerReportingId
を含むレポート ID 値は、常に reportResult()
内で使用できます。buyerReportingId
で k-匿名性が確認されても、この値は購入者レポート機能でのみ使用でき、販売者レポート機能では使用できません。
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds // 'deal456'
} = browserSignals;
// ...
}
5. 購入者レポートに表示される取引 ID とシート ID
販売者向けレポートと同じ考え方が購入者向けレポートにも適用されます。オークションで落札できるのは、selectedBuyerAndSellerReportingId
、buyerAndSellerReportingId
(存在する場合)、buyerReportingId
(存在する場合)が、インタレスト グループの所有者、入札スクリプトの URL、レンダリング URL、広告サイズについて k-匿名性を持つ場合のみです(広告サイズは少なくとも 2025 年第 1 四半期までは除外されます)。そのため、selectedBuyerAndSellerReportingId
を含むレポート ID 値は、常に reportWin()
内で使用できます。
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingId // 'deal456'
buyerAndReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
}
意見交換とフィードバックの提供
- レポート ID について詳しくは、Protected Audience の説明にあるレポート ID のセクションをご覧ください。
- GitHub: API リポジトリで質問を投稿したり、問題に関するディスカッションをフォローしたりできます。
- W3C: WICG 電話で業界のユースケースについて議論します。
- お知らせ: メーリング リストに参加したり、メーリング リストを表示したりできます。
- プライバシー サンドボックスのデベロッパー サポート: Privacy Sandbox Developer Support リポジトリに質問を投稿したり、ディスカッションに参加したりできます。
- Chromium: Chrome でテスト可能な実装について質問するには、Chromium バグを報告してください。