レポート ID

Protected Audience オークションでのレポート ID の仕組み

概要

レポート ID は、広告に関連付けられた ID で、入札単価の生成、入札単価のスコアリング、レポートの作成に使用できます。レポート ID は、インタレスト グループの設定で購入者が指定します。この ID は、このガイドで説明するさまざまな条件下で、generateBid()scoreAd()reportResult()reportWin() で使用できるようになります。

レポート ID を使用すると、広告の ID を報告できます。また、取引などのユースケースも可能になります。

Protected Audience の購入者と販売者の機能でレポート ID が利用可能に
レポート ID の提供状況

レポート ID には、次の 2 種類の 3 つがあります。

  • 選択できないレポート ID
    • buyerReportingId(文字列)
    • buyerAndSellerReportingId(文字列)
  • 選択可能なレポート ID
    • selectableBuyerAndSellerReportingIds(文字列の配列)

レポート ID の動作は、選択可能なレポート ID が使用されているかどうかによって異なります。選択不可のレポート ID のみを使用する場合、それらの ID はレポート関数内でのみ使用できます。選択可能なレポート用識別子と、必要に応じて選択不可能なレポート用識別子を使用すると、定義されたすべての ID が generateBid()scoreAd() でも使用できるようになります。

選択できないレポート ID

Protected Audience の購入者と販売者の機能でレポート ID が利用可能に
選択可能なレポート ID の提供状況

buyerReportingIdbuyerAndSellerReportingId は、インタレスト グループの設定で定義され、購入者と販売者のレポート機能で使用できる選択不可のレポート ID です。購入者と販売者のレポート関数は、落札した広告に対してのみ実行され、その落札した広告に定義されたレポート ID を受け取ります。

選択可能なレポート ID なしで使用した場合、購入者のレポート機能は上書き動作に応じて buyerReportingId または buyerAndSellerReportingId を受け取ります。販売者のレポート機能は buyerAndSellerReportingId を受け取ります。インタレスト グループの設定で buyerReportingIdbuyerAndSellerReportingId も定義されていない場合、reportWin() 関数は落札した入札のインタレスト グループ名(interestGroupName)を受け取ります。

選択不可の ID は、選択可能なレポート ID と組み合わせて使用しない限り、generateBid()scoreAd() 内で使用できません。

インタレスト グループのレポート ID

レポート ID は、インタレスト グループ内の広告ごとに購入者が定義します。

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    // buyerAndSellerReportingId goes to the buyer and seller reporting functions
    buyerAndSellerReportingId: 'bsrid123',
    // buyerReportingId is defined here as an example, but
    // is not used due to the overwrite rules described later
    buyerReportingId: 'brid123',
  }]
});

販売者レポート

販売者のレポート フェーズでは、buyerAndSellerReportingId 値が reportResult() で使用可能になります。

function reportResult(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId // 'bsrid123'
  } = browserSignals;

  sendReportTo(`https://seller.example/report?bsrid=${buyerAndSellerReportingId}`);
}

ID が reportResult() 内で使用可能になる前に、インタレスト グループのオーナー、入札スクリプト URL、レンダリング URL、広告サイズとの k-匿名性がチェックされます(2025 年第 1 四半期までは、広告サイズはこのチェックから除外されます)。k-匿名でない場合、reportResult() 関数は実行されますが、レポート ID 値は関数内で使用できません。

購入者のレポート

オークションの購入者レポート フェーズ中に、reportWin() は 1 つのレポート ID を使用できるようになります。インタレスト グループで複数のレポート ID が定義されている場合、buyerAndSellerReportingIdbuyerReportingId を上書きするオーバーライド ルールが適用されます。

  • buyerAndSellerReportingIdbuyerReportingId の両方が定義されている場合、buyerAndSellerReportingIdbuyerReportingId を上書きし、buyerAndSellerReportingIdreportWin() 内で使用できます。
  • buyerReportingId のみが定義されている場合、buyerReportingId を使用できます。
  • buyerAndSellerReportingIdbuyerReportingId も定義されていない場合は、interestGroupName を使用できます。
function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId // 'bsrid123'
  } = browserSignals;

  sendReportTo(`https://seller.example/report?bsrid=${buyerAndSellerReportingId}`);
}

reportWin() 内で利用可能になるレポート ID は、インタレスト グループのオーナー、入札スクリプト URL、レンダリング URL、広告サイズとの k-匿名性がチェックされます(2025 年第 1 四半期までは、広告サイズはこのチェックから除外されます)。k-匿名性チェックに失敗した場合、reportWin() は実行されますが、レポート ID 値は関数内で使用できません。

buyerReportingId のみが定義されている

インタレスト グループの構成で buyerReportingId のみが定義されている場合:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    buyerReportingId: 'brid123',
  }]
});

buyerReportingIdreportWin() 内で使用できます。

function reportWin(..., browserSignals, ...) {
  const {
    buyerReportingId, // 'brid123'
  } = browserSignals;
}

reportWin() で使用可能になる前に、buyerReportingId はインタレスト グループのオーナー、入札スクリプトの URL、レンダリング URL、広告サイズで k-匿名性を確認されます(2025 年第 1 四半期までは、広告サイズはこのチェックから除外されます)。

buyerAndSellerReportingId のみが定義されている

インタレスト グループの構成で buyerAndSellerReportingId のみが定義されている場合:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    buyerAndSellerReportingId: 'bsrid123',
  }]
});

buyerAndSellerReportingIdreportWin() 内で使用できます。

function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'bsrid123'
  } = browserSignals;
}

reportWin() で使用可能になる前に、buyerAndSellerReportingId はインタレスト グループのオーナー、入札スクリプトの URL、レンダリング URL、広告サイズで k-匿名性を確認されます(2025 年第 1 四半期までは、広告サイズはこのチェックから除外されます)。

buyerAndSellerReportingIdbuyerReportingId の両方が定義されている

興味 / 関心グループの構成で buyerAndSellerReportingIdbuyerReportingId の両方が定義されている場合:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    buyerReportingId: 'brid123',
    buyerAndSellerReportingId: 'bsrid123',
  }]
});

上書き動作により、reportWin() 内で使用できるのは buyerAndSellerReportingId のみです。

function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'bsrid123'
  } = browserSignals;
}

reportWin() で使用可能になる前に、buyerAndSellerReportingId はインタレスト グループのオーナー、入札スクリプトの URL、レンダリング URL、広告サイズで k-匿名性を確認されます(2025 年第 1 四半期までは、広告サイズはこのチェックから除外されます)。

buyerAndSellerReportingIdbuyerReportingId も定義されていない

インタレスト グループの設定でどちらのレポート ID も定義されていない場合:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
  }]
});

次に、興味 / 関心グループ namereportWin() 内で使用します。

function reportWin(..., browserSignals, ...) {
  const {
    interestGroupName, // 'example-interest-group'
  } = browserSignals;
}

興味 / 関心グループ名(interestGroupName)は、reportWin() で利用可能になる前に、興味 / 関心グループのオーナー、入札スクリプトの URL、レンダリング URL、広告サイズとの k-匿名性についてチェックされます(2025 年第 1 四半期までは、広告サイズはこのチェックから除外されます)。

選択可能なレポート ID

Protected Audience の購入者と販売者の機能でレポート ID が利用可能に
レポート ID の選択が可能なレポート ID の可用性

選択可能なレポート ID を使用すると、購入者は入札の生成時に ID を選択できます。ブラウザは、選択した値を scoreAd() とレポート関数で使用できるようにします。selectableBuyerAndSellerReportingIds 値(文字列の配列)が generateBid() に提供され、購入者は選択した ID を selectedBuyerAndSellerReportingId として返すことができます。

generateBid() 関数と scoreAd() 関数は、インタレスト グループの設定で定義された広告ごとに実行され、各広告のレポート ID を受け取ります。購入者と販売者のレポート関数は、落札した広告に対してのみ実行され、その落札した広告に定義されたレポート ID を受け取ります。

選択可能なレポート ID と選択不可能なレポート ID を併用する場合、動作は前のセクションで説明したワークフローとは異なります。選択不可のレポート ID がレポート関数内でのみ使用可能だった初期の動作とは異なり、選択可能なレポート ID を使用すると、選択不可のレポート ID を generateBid()scoreAd() 内で使用できるようになります。

インタレスト グループ

選択可能なレポート ID フィールド(selectableBuyerAndSellerReportingIds)は、広告のインタレスト グループで購入者が定義した文字列の配列です。選択可能なレポート ID とともに、選択不可のレポート ID を定義することもできます。

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    buyerReportingId: 'brid123',
    buyerAndSellerReportingId: 'bsrid123',
    selectableBuyerAndSellerReportingIds: ['sbsrid1', 'sbsrid2', 'sbsrid3']
  }]
});

購入者の入札単価の生成

興味 / 関心グループの設定で selectableBuyerAndSellerReportingIds が定義されている場合、定義された他のレポート ID とともに generateBid() 内で使用できるようになります。

function generateBid(interestGroup, ...) {
  const [{
    buyerReportingId, // 'brid123'
    buyerAndSellerReportingId, // 'bsrid123'
    selectableBuyerAndSellerReportingIds // ['sbsrid1', 'sbsrid2', 'sbsrid3']
  }] = interestGroup.ads;

  return {
    bid: 1,
    render: 'https://buyer.example/ad.html',
    selectedBuyerAndSellerReportingId: 'sbsrid2' // Buyer returns the selected ID
  };
}

購入者は、generateBid()selectableBuyerAndSellerReportingIds 配列から ID のいずれかを選択し、選択した ID を selectedBuyerAndSellerReportingId として返すことができます。選択した値が selectableBuyerAndSellerReportingIds 配列にない場合、入札は不承認になります。インタレスト グループの設定で selectableBuyerAndSellerReportingIds が定義されていて、購入者が generateBid() から selectedBuyerAndSellerReportingId を返さない場合、レポート用識別子は選択不可のレポート用識別子で説明されている動作に戻ります。

selectedbuyerAndSellerReportingId の値が返された入札は、selectedbuyerAndSellerReportingId の値が buyerAndSellerReportingId(存在する場合)、buyerReportingId(存在する場合)、インタレスト グループ オーナー、入札スクリプト URL、レンダリング URL、広告サイズとともに k-匿名化されている場合にのみ、オークションで落札する可能性があります(2025 年第 1 四半期までは、広告サイズはこのチェックから除外されます)。

販売者の広告のスコアリング

販売者の場合、購入者が generateBid() から返した selectedBuyerAndSellerReportingId は、興味 / 関心グループの設定で定義されている場合の buyerAndSellerReportingId とともに scoreAd() で使用できるようになります。

function scoreAd(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'bsrid123'
    selectedBuyerAndSellerReportingId, // 'sbsrid2'
  } = browserSignals;

  // ...
}

販売者レポート

販売者向けレポートでは、購入者が generateBid() から返した selectedBuyerAndSellerReportingId が、インタレスト グループで定義されている buyerAndSellerReportingId とともに reportResult() で利用可能になります。

function reportResult(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'bsrid123'
    selectedBuyerAndSellerReportingId // 'sbsrid2'
  } = browserSignals;
  
  // ...
}

selectableBuyerAndSellerReportingIds がインタレスト グループの設定で定義され、selectedBuyerAndSellerReportingIdgenerateBid() から返された場合、selectedBuyerAndSellerReportingIdbuyerAndSellerReportingId(存在する場合)がインタレスト グループのオーナー、入札スクリプトの URL、レンダリング URL、広告サイズに対して k-匿名でなければ、オークションで落札することはできません(広告サイズは 2025 年第 1 四半期までこのチェックから除外されます)。また、その入札に対して reportResult() は実行されません。したがって、selectedBuyerAndSellerReportingId の値を指定して reportResult() が呼び出された場合は、レポート ID が k-匿名性チェックに合格し、定義されたすべてのレポート ID が reportResult() 内で使用可能になります。

購入者のレポート

興味 / 関心グループの設定で selectableBuyerAndSellerReportingIds が定義され、generateBid() から selectedBuyerAndSellerReportingId が返された場合、興味 / 関心グループの設定で定義されたすべてのレポート ID が使用可能になります。なお、販売者レポートと同様に、レポート ID が k-匿名でない場合、オークションで落札することはできず、その入札に対して reportWin() は実行されません。

function reportWin(..., browserSignals, ...) {
  const {
    buyerReportingId, // 'brid123'
    buyerAndSellerReportingId, // 'bsrid123'
    selectedBuyerAndSellerReportingId // 'sbsrid2'
  } = browserSignals;

  // ...
}

オーバーライド ルール

選択不可のレポート ID と選択可能なレポート ID の両方の上書きルールを以下にまとめます。selectableBuyerAndSellerReportingIdsbuyerAndSellerReportingIdbuyerReportingId、興味 / 関心グループ名のどれが reportWin() に渡されるかは、ブラウザによって次のロジックで決定されます。

  • 入札から selectedBuyerAndSellerReportingId が返された場合、selectedBuyerAndSellerReportingIdbuyerAndSellerReportingId(インタレスト グループで定義されている場合)、buyerReportingId(インタレスト グループで定義されている場合)のすべてをレポートに使用できます。
  • それ以外の場合、インタレスト グループで buyerAndSellerReportingId が定義されている場合は、buyerAndSellerReportingId のみをレポートに使用できます。
  • それ以外の場合、インタレスト グループで buyerReportingId が定義されている場合は、buyerReportingId のみをレポートに使用できます。
  • それ以外の場合は、インタレスト グループ name のみをレポートに使用できます。

次の表に、上書きの動作を示します。

レポート ID はインタレスト グループの設定で定義されていますか? 使用可能なレポート ID
selectableBuyerAnd
SellerReportingIds
buyerAndSeller
ReportingId
buyerReportingId reportWin() reportResult()
はいgenerateBid()
を選択しました。
省略可 省略可 1)selectedBuyerAnd
SellerReportingIds


2)buyerAndSeller
ReportingId
(定義されている場合)

3)buyerReportingId(定義されている場合)
1)selectedBuyerAnd
SellerReportingIds


2)buyerAndSeller
ReportingId
(定義されている場合)

いいえ、または選択されていません
generateBid()
はい 無視 buyerAndSeller
ReportingId
buyerAndSeller
ReportingId
いいえ、または選択されていません
generateBid()
いいえ はい buyerReportingId なし
いいえ、または generateBid()
が選択されていません
いいえ いいえ interestGroupName なし

意見交換とフィードバックの提供