Implémenter des accords, également appelés "place de marché privée" (PMP), dans une mise aux enchères Protected Audience
Présentation
Les accords, également appelés "Private Marketplace" (PMP), offrent aux acheteurs un accès personnalisé ou des tarifs préférentiels à un sous-ensemble d'inventaire. Pour faciliter les accords programmatiques, des ID de siège et des ID d'accord sont utilisés :
- Un ID de siège provient de l'acheteur et est un identifiant qui représente le client de l'acheteur. Un ID de siège peut avoir des conséquences sur la facturation, par exemple si un siège bénéficie d'une remise auprès d'un marchand donné.
- Un ID d'accord provient de l'acheteur ou du vendeur. Il s'agit d'un identifiant qui représente un accord entre un acheteur et un vendeur. Un ID de deal peut comporter des propriétés telles que le coût/prix, l'engagement de volume, des informations sur l'audience, l'exclusivité, etc.
Protected Audience facilite les accords en utilisant des ID de rapport. Les ID de siège et d'accord peuvent ainsi être utilisés pour les enchères, la notation et les rapports. Les ID de reporting permettent aux entreprises de technologie publicitaire de recevoir ces ID de compte et d'accord dans les rapports Protected Audience post-enchères afin de conclure des accords et d'organiser la facturation. Nous nous attendons à ce que les acheteurs, les vendeurs, les agences et les annonceurs disposent de stratégies personnalisées pour interpréter et comprendre les ID de deal et de siège qu'ils reçoivent.
Tutoriel
Voici les étapes à suivre pour faciliter les transactions dans une mise aux enchères Protected Audience :
- L'acheteur enregistre les ID d'accord et de siège dans la configuration du groupe d'intérêt avant l'exécution de l'enchère.
- Les ID de sièges et de contrats peuvent être définis dans le champ ID de reporting sélectionnables (
selectableBuyerAndSellerReportingIds). - Si l'ID de compte est le même pour toutes les offres, il peut être défini dans
buyerAndSellerReportingId. Les ID d'offres peuvent être définis dans le champ des ID de rapports sélectionnables (selectableBuyerAndSellerReportingIds).
- Les ID de sièges et de contrats peuvent être définis dans le champ ID de reporting sélectionnables (
- Lors de la génération des enchères, les ID d'accord et de licence deviennent disponibles. L'acheteur sélectionne un ID d'accord dans
selectableBuyerAndSellerReportingIds. L'acheteur génère une enchère qui inclut un ID d'accord associé à cette enchère en renvoyant unselectedBuyerAndSellerReportingId. Une enchère ne peut remporter l'enchère que si l'ID de transaction renvoyé est k-anonyme, ainsi que d'autres ID de reporting et certaines propriétés du groupe d'intérêt. - Lors de l'évaluation des annonces, les ID de siège et d'accord sélectionnés sont mis à la disposition du vendeur.
- Les ID d'accord et de siège deviennent disponibles dans les fonctions de reporting du vendeur.
- Les ID de la transaction et du siège deviennent disponibles dans les fonctions de reporting de l'acheteur.
1. Enregistrement des ID de licence et d'accord
L'acheteur enregistre les ID d'accord et de siège dans la configuration du groupe d'intérêt avant l'exécution de l'enchère. Les ID d'offre et de siège sont définis dans selectableBuyerAndSellerReportingIds sous la forme d'un tableau de chaînes. Si l'ID de siège est le même pour toutes les offres et qu'il n'est pas nécessaire de le répéter, il peut être ajouté dans le champ buyerAndSellerReportingId, qui accepte une chaîne :
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
buyerReportingId: 'brid123'
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
Si l'ID de siège est différent pour les offres, vous pouvez utiliser la configuration suivante :
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 de l'accord et de la licence pour les acheteurs lors de la génération des enchères
Lors de la génération des enchères, l'acheteur décide s'il souhaite enchérir sur un ID d'accord. Dans generateBid(), l'acheteur peut sélectionner un ID d'accord dans selectableBuyerAndSellerReportingIds et renvoyer la valeur sous la forme selectedBuyerAndSellerReportingId. L'enchère est refusée si l'ID d'accord sélectionné ne figure pas dans le tableau selectableBuyerAndSellerReportingIds.
function generateBid(interestGroup, ...) {
const [{
buyerAndSellerReportingId, // 'seat123'
selectableBuyerAndSellerReportingIds // ['deal123', 'deal456', 'deal789']
buyerReportingId // 'brid123' - Not used for deals, but the value is available
}] = interestGroup.ads;
// ...
return {
bid: 1,
render: 'https://buyer.example/ad.html',
selectedBuyerAndSellerReportingId: 'deal456', // Buyer selects a deal ID
};
}
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 (le cas échéant), 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 au moins jusqu'au premier trimestre 2025).
Même si selectablebuyerAndSellerReportingIds est défini dans la configuration du groupe d'intérêt, generateBid() peut toujours renvoyer une enchère qui n'inclut pas de selectedbuyerAndSellerReportingId. Dans ce cas, les ID de rapport fournis aux fonctions de reporting si cette enchère est remportée suivront le comportement des ID de rapport non sélectionnables.
Si generateBid() est réexécuté parce que l'invocation initiale n'a produit aucune enchère avec des annonces ayant réussi les vérifications d'anonymat k, les selectableBuyerAndSellerReportingIds qui ne réussissent pas la vérification d'anonymat k ne seront pas présents dans le groupe d'intérêt lors de la réexécution.
3. ID de l'accord et de la licence pour les vendeurs lors de l'évaluation des annonces
L'ID de l'accord sélectionné, ainsi que l'ID de licence utilisateur, le cas échéant, sont accessibles à scoreAd(). Le vendeur fournit le score de désirabilité de l'enchère gagnante en tenant compte de l'ID de l'accord et des conditions spéciales. Si le vendeur estime que l'ID d'accord choisi par l'acheteur ne s'applique pas, il refuse l'enchère en lui attribuant un score de désirabilité nul ou négatif.
function scoreAd(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds, // 'deal456'
} = browserSignals;
// ...
}
4. ID de l'accord et de la licence pour les rapports des vendeurs
Rappelons qu'une enchère ne peut remporter l'enchère que si selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (le cas échéant) et buyerReportingId (le cas échéant) sont k-anonymes 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 au moins jusqu'au premier trimestre 2025). Par conséquent, les valeurs d'ID de rapport qui incluent un selectedBuyerAndSellerReportingId seront toujours disponibles dans reportResult(). Notez que même si l'anonymat k est vérifié pour buyerReportingId, la valeur n'est disponible que pour la fonction de signalement de l'acheteur, et non pour celle du vendeur ici.
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds // 'deal456'
} = browserSignals;
// ...
}
5. ID de l'accord et de la licence pour les rapports sur les acheteurs
Le même concept que celui des rapports des vendeurs s'applique aux rapports des acheteurs. Rappelons qu'une enchère ne peut remporter l'enchère que si selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (le cas échéant) et buyerReportingId (le cas échéant) sont k-anonymes 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 au moins jusqu'au premier trimestre 2025). Par conséquent, les valeurs d'ID de rapport qui incluent un selectedBuyerAndSellerReportingId seront toujours disponibles dans reportWin().
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingId // 'deal456'
buyerReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
}
Interagir et envoyer des commentaires
- Pour en savoir plus sur les ID de reporting, consultez la section ID de reporting de la présentation de Protected Audience.
- GitHub : posez des questions et suivez les discussions dans les problèmes du dépôt de l'API.
- W3C : discutez des cas d'utilisation dans le secteur lors de l'appel WICG.
- Annonces : rejoignez ou consultez la liste de diffusion.
- Assistance pour les développeurs Privacy Sandbox : posez des questions et participez à des discussions sur le dépôt d'assistance pour les développeurs Privacy Sandbox.
- Chromium : signalez un bug Chromium pour poser des questions sur l'implémentation disponible pour les tests dans Chrome.