ID de reporting

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

Présentation

Les ID de rapport sont des identifiants associés à une annonce et qui peuvent être utilisés pour générer une enchère, évaluer une enchère et créer des rapports. Les ID de rapport sont fournis par l'acheteur dans la configuration du groupe d'intérêt. Ils sont disponibles dans generateBid(), scoreAd(), reportResult() et reportWin() sous différentes conditions, qui sont 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 rapport

Il existe trois ID de rapport de deux types:

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

Les ID de reporting se comportent différemment selon que des ID de reporting sélectionnables sont utilisés. Lorsque seuls des ID de rapport non sélectionnables sont utilisés, ils ne sont disponibles que dans les fonctions de création de rapports. Lorsque des ID de rapport sélectionnables sont utilisés, ainsi que des ID de rapport 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 sont disponibles pour les fonctions d'acheteur et de vendeur Protected Audience
Disponibilité des ID de rapport sélectionnables

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

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 avec des ID de reporting sélectionnables.

ID de création de rapports dans les groupes de centres d'intérêt

Les ID de rapport 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

Au cours de la phase de création des rapports sur les 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(), il est vérifié pour le k-anonymat avec le propriétaire du groupe 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). 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

Au cours de la phase de création de rapports sur les acheteurs de l'enchère, un ID de reporting devient disponible pour reportWin(). Si plusieurs ID de rapport sont définis dans le groupe d'intérêts, une règle d'écrasement s'applique, où buyerAndSellerReportingId écrase buyerReportingId:

  • Si buyerAndSellerReportingId et buyerReportingId sont tous deux définis, buyerAndSellerReportingId écrase 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 rapport disponible dans reportWin() est vérifié pour le k-anonymat avec le propriétaire du groupe d'intérêts, 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 moins au premier trimestre 2025). Si la vérification de l'anonymat k échoue, reportWin() s'exécute toujours, mais la valeur de l'ID de rapport n'est pas disponible dans la fonction.

Seul buyerReportingId est défini

Si seul buyerReportingId est défini 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',
  }]
});

buyerReportingId est ensuite disponible dans reportWin():

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

Avant d'être disponible pour reportWin(), buyerReportingId est vérifié pour la confidentialité 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).

Seul buyerAndSellerReportingId est défini

Si seul buyerAndSellerReportingId est défini 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`,
    buyerAndSellerReportingId: 'bsrid123',
  }]
});

buyerAndSellerReportingId est ensuite disponible dans reportWin():

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

Avant d'être disponible pour reportWin(), buyerAndSellerReportingId est vérifié pour la confidentialité 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).

buyerAndSellerReportingId et buyerReportingId sont 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',
  }]
});

Seul buyerAndSellerReportingId est alors disponible dans reportWin() en raison du comportement d'écrasement:

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

Avant d'être disponible pour reportWin(), buyerAndSellerReportingId est vérifié pour la confidentialité 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).

Ni buyerAndSellerReportingId, ni buyerReportingId ne sont définis.

Si aucun ID de rapport n'est défini 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`,
  }]
});

Le groupe de centres d'intérêt name est ensuite 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 rapport sont 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 les acheteurs et les vendeurs 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 rapport non sélectionnables sont utilisés avec des ID de rapport sélectionnables, leur comportement diffère du workflow décrit dans la section précédente. Contrairement au comportement initial, qui consistait à ce que les ID de rapport non sélectionnables ne soient disponibles que dans les fonctions de création de rapports, les ID de rapport sélectionnables peuvent également être disponibles dans generateBid() et scoreAd().

.

Groupe de centres d'intérêt

Le champ selectableBuyerAndSellerReportingIds, qui permet de sélectionner des ID de rapport, est un tableau de chaînes défini par l'acheteur dans le groupe de centres d'intérêt d'une annonce. Vous pouvez également définir des ID de rapport non sélectionnables en plus des ID de rapport 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(), ainsi que les autres ID de rapport définis.

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
  };
}

L'acheteur peut choisir l'un des ID de la matrice 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 d'intérêts 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 gagner l'enchère que si la valeur de selectedbuyerAndSellerReportingId est conjointement k-anonyme avec buyerAndSellerReportingId (le cas échéant), buyerReportingId (le cas échéant), 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).

Noter les annonces des vendeurs

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 du vendeur, le selectedBuyerAndSellerReportingId renvoyé par l'acheteur à partir de generateBid() est disponible dans reportResult(), ainsi que 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é à partir de 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 premier trimestre 2025 au moins), et que 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 a été renvoyé à partir de generateBid(), tous les ID de rapport définis dans la configuration du 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 remporter 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 d'écrasement

Vous trouverez ci-dessous un récapitulatif des règles d'écrasement pour les ID de rapport non sélectionnables et sélectionnables. Le navigateur détermine lequel de selectableBuyerAndSellerReportingIds, buyerAndSellerReportingId, buyerReportingId et le nom du groupe de centres d'intérêt est transmis à reportWin() en fonction de la logique suivante:

  • Si selectedBuyerAndSellerReportingId est renvoyé à partir d'une enchère, selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (si défini dans le groupe de centres d'intérêt) et buyerReportingId (si défini dans le groupe de centres d'intérêt) sont tous disponibles pour la création de 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 d'intérêts name est disponible pour le reporting.

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

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


2) buyerAndSeller
ReportingId
(si défini)

3) buyerReportingId (si défini)
1) selectedBuyerAnd
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 envoyer des commentaires