レポート ID

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

概要

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

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

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

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

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

レポート ID の動作は、選択可能なレポート ID が使用されているかどうかによって異なります。選択不可のレポート 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 を返さない場合、レポート ID は選択不可のレポート ID で説明されている動作に戻ります。

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 なし

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