ID de reporting

Fonctionnement des ID de rapport dans une mise aux enchères Protected Audience

Présentation

Les ID de reporting sont des identifiants associés à une annonce qui peuvent être utilisés pour générer une enchère, en évaluer l'évaluation et créer des rapports. Les ID de reporting sont fournis par l'acheteur dans la configuration du groupe de centres d'intérêt. Ils sont ensuite disponibles dans generateBid(), scoreAd(), reportResult() et reportWin() sous diverses conditions décrites dans ce guide.

Les ID de rapport vous permettent de signaler un identifiant pour une annonce et d'utiliser des cas d'utilisation tels que les offres.

Les ID de rapport sont disponibles pour les fonctions d'acheteur et de vendeur Protected Audience
Disponibilité des ID de reporting

Il existe trois ID de reporting de deux types:

  • ID de rapport non sélectionnables
    • buyerReportingId (une chaîne)
    • buyerAndSellerReportingId (une chaîne)
  • ID de reporting sélectionnables
    • selectableBuyerAndSellerReportingIds (tableau de chaînes)

Les ID de reporting se comportent différemment selon que des ID de reporting sélectionnables sont utilisés ou non. Lorsque seuls des ID de reporting non sélectionnables sont utilisés, ils ne deviennent disponibles que dans les fonctions de création de rapports. Lorsque des ID de reporting sélectionnables sont utilisés, ainsi que des ID de reporting non sélectionnables si nécessaire, tous les ID définis sont également disponibles dans generateBid() et scoreAd().

ID de reporting non sélectionnables

Les ID de reporting deviennent disponibles pour les fonctions d'acheteur et de vendeur Protected Audience
Disponibilité des ID de reporting sélectionnables

buyerReportingId et buyerAndSellerReportingId sont des ID de reporting non sélectionnables qui sont définis dans la configuration du groupe de centres d'intérêt et qui deviennent disponibles dans les fonctions de reporting pour les acheteurs et les vendeurs. Les fonctions de création de rapports pour les acheteurs et les vendeurs ne sont exécutées que pour l'annonce gagnante, et reçoivent les ID de rapport définis pour cette annonce.

Lorsqu'elle est utilisée sans ID de rapport sélectionnables, la fonction de création de rapports de l'acheteur reçoit buyerReportingId ou buyerAndSellerReportingId, en fonction du comportement d'écrasement, et la fonction de création de rapports du vendeur reçoit buyerAndSellerReportingId. Si ni buyerReportingId, ni buyerAndSellerReportingId ne sont définis dans la configuration du groupe de centres d'intérêt, la fonction reportWin() reçoit le nom du groupe de centres d'intérêt (interestGroupName) de l'enchère gagnante.

Les ID non sélectionnables ne sont pas disponibles dans generateBid() et scoreAd() s'ils ne sont pas utilisés conjointement avec des ID de reporting sélectionnables.

ID de reporting dans les groupes de centres d'intérêt

Les ID de reporting sont définis par l'acheteur pour chaque annonce d'un groupe de centres d'intérêt:

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',
  }]
});

Rapports sur les vendeurs

Lors de la phase de création de rapports des vendeurs, la valeur buyerAndSellerReportingId devient disponible pour reportResult() :

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

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

Avant que l'ID ne soit disponible dans reportResult(), le k-anonymat est vérifié auprès du propriétaire du groupe de centres d'intérêt, de l'URL du script d'enchères, de l'URL de rendu et de la taille de l'annonce (la taille de l'annonce est exclue de cette vérification jusqu'au 1er trimestre 2025 minimum). Si elle n'est pas k-anonyme, la fonction reportResult() s'exécutera toujours, mais la valeur de l'ID de rapport ne sera pas disponible dans la fonction.

Rapports sur les acheteurs

Pendant la phase de création de rapports de l'acheteur pour la mise aux enchères, un ID de reporting devient disponible pour reportWin(). Si plusieurs ID de reporting sont définis dans le groupe de centres d'intérêt, une règle de remplacement est appliquée lorsque buyerAndSellerReportingId écrase buyerReportingId:

  • Si buyerAndSellerReportingId et buyerReportingId sont tous deux définis, buyerAndSellerReportingId remplace buyerReportingId et buyerAndSellerReportingId est disponible dans reportWin().
  • Si seul buyerReportingId est défini, buyerReportingId sera disponible.
  • Si ni buyerAndSellerReportingId, ni buyerReportingId ne sont définis, interestGroupName est disponible.
function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId // 'bsrid123'
  } = browserSignals;

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

L'ID de reporting disponible dans reportWin() fait l'objet d'une vérification du k-anonymat avec le propriétaire du groupe de centres d'intérêt, l'URL du script d'enchères, l'URL de rendu et la taille de l'annonce (la taille de l'annonce est exclue de cette vérification jusqu'au 1er trimestre 2025 minimum). Si la vérification échoue, reportWin() s'exécutera quand même, mais la valeur de l'ID de reporting ne sera pas disponible dans la fonction.

Seul buyerReportingId est défini

Si seul buyerReportingId est défini dans la configuration du groupe d'intérêt:

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

Ensuite, buyerReportingId est disponible dans reportWin():

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

Avant d'être disponible pour reportWin(), nous vérifions que buyerReportingId présente le k-anonymat avec le propriétaire du groupe de centres d'intérêt, l'URL du script d'enchères, l'URL de rendu et la taille de l'annonce (la taille de l'annonce est exclue de cette vérification jusqu'au 1er trimestre 2025 minimum).

Seul l'identifiant "buyerAndSellerReportingId" est défini.

Si seul buyerAndSellerReportingId est défini dans la configuration du groupe d'intérêt:

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

Ensuite, buyerAndSellerReportingId est disponible dans reportWin():

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

Avant d'être disponible pour reportWin(), nous vérifions que buyerAndSellerReportingId présente le k-anonymat avec le propriétaire du groupe de centres d'intérêt, l'URL du script d'enchères, l'URL de rendu et la taille de l'annonce (la taille de l'annonce est exclue de cette vérification jusqu'au 1er trimestre 2025 minimum).

buyerAndSellerReportingId et buyerReportingId sont tous deux définis

Si buyerAndSellerReportingId et buyerReportingId sont définis dans la configuration du groupe de centres d'intérêt :

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

Dans ce cas, seul buyerAndSellerReportingId est disponible dans reportWin() en raison du comportement d'écrasement:

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

Avant d'être disponible pour reportWin(), nous vérifions que buyerAndSellerReportingId présente le k-anonymat avec le propriétaire du groupe de centres d'intérêt, l'URL du script d'enchères, l'URL de rendu et la taille de l'annonce (la taille de l'annonce est exclue de cette vérification jusqu'au 1er trimestre 2025 minimum).

Ni buyerAndSellerReportingId, ni buyerReportingId ne sont définis

Si aucun ID de reporting n'est défini dans la configuration du groupe d'intérêt:

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

Le groupe de centres d'intérêt name est alors disponible dans reportWin():

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

Avant d'être disponible pour reportWin(), le nom du groupe de centres d'intérêt (interestGroupName) est vérifié pour s'assurer qu'il est k-anonyme avec le propriétaire du groupe de centres d'intérêt, l'URL du script d'enchères, l'URL de rendu et la taille de l'annonce (la taille de l'annonce est exclue de cette vérification jusqu'au premier trimestre 2025 au moins).

ID de reporting sélectionnables

Les ID de reporting deviennent disponibles pour les fonctions d'acheteur et de vendeur Protected Audience
Disponibilité des ID de création de rapports avec un ID de création de rapports sélectionnable

Les ID de rapport sélectionnables permettent à un acheteur de sélectionner un ID lors de la génération d'enchères. Le navigateur met ensuite la valeur sélectionnée à la disposition de scoreAd() et des fonctions de création de rapports. La valeur selectableBuyerAndSellerReportingIds, qui est un tableau de chaînes, est fournie à generateBid(). L'acheteur peut renvoyer un ID sélectionné en tant que selectedBuyerAndSellerReportingId.

Les fonctions generateBid() et scoreAd() s'exécutent pour chaque annonce définie dans la configuration du groupe d'intérêts et reçoivent les ID de rapport pour chaque annonce. Les fonctions de création de rapports pour l'acheteur et le vendeur ne s'exécutent que pour l'annonce gagnante. Elles reçoivent les ID de rapport définis pour cette annonce gagnante.

Lorsque des ID de reporting non sélectionnables sont utilisés conjointement avec des ID de reporting sélectionnables, leur comportement change par rapport au processus décrit dans la section précédente. Contrairement au comportement initial des ID de reporting non sélectionnables qui ne sont disponibles que dans les fonctions de reporting, les ID de reporting sélectionnables permettent également de les rendre disponibles dans generateBid() et scoreAd().

Groupe d'intérêt

Le champ des ID de création de rapports sélectionnables (selectableBuyerAndSellerReportingIds) est un tableau de chaînes défini par l'acheteur dans le groupe de centres d'intérêt d'une annonce. Les ID de reporting non sélectionnables peuvent également être définis en plus des ID de reporting sélectionnables:

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']
  }]
});

Génération d'enchères de l'acheteur

Si selectableBuyerAndSellerReportingIds a été défini dans la configuration du groupe de centres d'intérêt, il devient disponible dans generateBid() avec les autres ID de reporting définis.

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

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

L'acheteur peut choisir l'un des ID du tableau selectableBuyerAndSellerReportingIds dans generateBid() et renvoyer l'ID sélectionné sous la forme selectedBuyerAndSellerReportingId. L'enchère est refusée si la valeur sélectionnée ne figure pas dans le tableau selectableBuyerAndSellerReportingIds. Si selectableBuyerAndSellerReportingIds est défini dans la configuration du groupe de centres d'intérêt et que l'acheteur ne renvoie pas selectedBuyerAndSellerReportingId à partir de generateBid(), les ID de reporting reviendront au comportement décrit pour les ID de reporting non sélectionnables.

Une enchère avec une valeur renvoyée pour selectedbuyerAndSellerReportingId ne peut remporter l'enchère que si la valeur de selectedbuyerAndSellerReportingId est k-anonyme conjointement avec buyerAndSellerReportingId (le cas échéant), buyerReportingId (si présent), le propriétaire du groupe de centres d'intérêt, l'URL du script d'enchères, l'URL de rendu et la taille de l'annonce (la taille de l'annonce est exclue de cette vérification jusqu'au 1er trimestre 2025 minimum).

Évaluation des annonces du vendeur

Pour le vendeur, le selectedBuyerAndSellerReportingId renvoyé par l'acheteur à partir de generateBid() devient disponible dans scoreAd(), ainsi que buyerAndSellerReportingId s'il a été défini dans la configuration du groupe de centres d'intérêt.

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

  // ...
}

Rapports sur les vendeurs

Pour les rapports sur les vendeurs, le selectedBuyerAndSellerReportingId qui a été renvoyé par l'acheteur depuis generateBid() devient disponible dans reportResult(), avec buyerAndSellerReportingId, s'il a été défini dans le groupe de centres d'intérêt.

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

Si selectableBuyerAndSellerReportingIds a été défini dans la configuration du groupe de centres d'intérêt et que selectedBuyerAndSellerReportingId a été renvoyé par generateBid(), il ne peut pas remporter l'enchère, sauf si selectedBuyerAndSellerReportingId et buyerAndSellerReportingId (le cas échéant) sont k-anonymes avec le propriétaire du groupe de centres d'intérêt, l'URL du script d'enchères, l'URL de rendu et la taille de l'annonce (la taille de l'annonce est exclue de cette vérification jusqu'au 1er trimestre 2025 minimum). reportResult() ne sera pas exécuté pour cette enchère. Par conséquent, si reportResult() est appelé avec une valeur pour selectedBuyerAndSellerReportingId, cela signifie que les ID de rapport ont réussi la vérification de l'anonymat k et que tous les ID de rapport définis seront disponibles dans reportResult().

Rapports sur les acheteurs

Si selectableBuyerAndSellerReportingIds a été défini dans la configuration du groupe de centres d'intérêt et que selectedBuyerAndSellerReportingId est renvoyé à partir de generateBid(), tous les ID de reporting définis dans la configuration de groupe de centres d'intérêt deviennent disponibles. Notez que, comme pour les rapports sur les vendeurs, si les ID de rapport ne sont pas k-anonymes, ils ne peuvent pas gagner l'enchère et reportWin() ne s'exécutera pas pour cette enchère.

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

  // ...
}

Règles de forçage

Voici un récapitulatif des règles de remplacement applicables aux ID de reporting non sélectionnables et aux ID de reporting sélectionnables. Le type de données (selectableBuyerAndSellerReportingIds, buyerAndSellerReportingId, buyerReportingId et nom du groupe de centres d'intérêt transmis à reportWin()) est déterminé par le navigateur selon la logique suivante:

  • Si selectedBuyerAndSellerReportingId est renvoyé à partir d'une enchère, les éléments selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (s'ils sont définis dans le groupe de centres d'intérêt) et buyerReportingId (s'ils sont définis dans le groupe de centres d'intérêt) sont tous disponibles pour les rapports.
  • Sinon, si buyerAndSellerReportingId est défini dans le groupe de centres d'intérêt, seul buyerAndSellerReportingId est disponible pour les rapports.
  • Sinon, si buyerReportingId est défini dans le groupe de centres d'intérêt, seul buyerReportingId est disponible pour les rapports.
  • Sinon, seul le groupe de centres d'intérêt name est disponible pour la création de rapports.

Le tableau suivant décrit le comportement d'écrasement:

Les ID de reporting sont-ils définis dans la configuration du groupe de centres d'intérêt ? ID de reporting disponibles
selectableBuyerAnd
SellerReportingIds
buyerAndSeller
ReportingId
buyerReportingId reportWin() reportResult()
Oui, et vous avez sélectionné
dans generateBid()
Facultatif Facultatif 1) selectableBuyerAnd
SellerReportingIds


2) buyerAndSeller
ReportingId
(si défini)

3) buyerReportingId (si défini)
1) selectableBuyerAnd
SellerReportingIds


2) buyerAndSeller
ReportingId
(si défini)

Non, ou non sélectionné
dans generateBid()
Oui Ignoré buyerAndSeller
ReportingId
buyerAndSeller
ReportingId
Non, ou non sélectionné
dans generateBid()
Non Oui buyerReportingId Aucun
Non, ou non sélectionné
dans generateBid()
Non Non interestGroupName Aucun

Interagir et partager des commentaires