Protected Audience açık artırmasında Özel Piyasa (PMP) olarak da bilinen anlaşmaları uygulama
Genel Bakış
Özel Piyasa (PMP) olarak da adlandırılan anlaşmalar, alıcılara envanterin bir alt kümesi için seçilmiş erişim veya tercih edilen fiyatlandırma sunar. Programatik anlaşmaları kolaylaştırmak için lisans kimlikleri ve anlaşma kimlikleri kullanılır:
- Yer kimliği, alıcıdan gelir ve alıcının müşterisini temsil eden bir tanımlayıcıdır. Bir lisans kimliği, faturalandırma açısından etkiler doğurabilir. Örneğin, bir lisansın belirli bir satıcıdan indirimli olarak alınması bu duruma örnek verilebilir.
- Anlaşma kimliği, alıcı veya satıcı tarafından oluşturulur ve alıcı ile satıcı arasındaki bir anlaşmayı temsil eden tanımlayıcıdır. Bir fırsat kimliği; maliyet/fiyat, hacim taahhüdü, kitle bilgileri, münhasırlık gibi özelliklere sahip olabilir.
Protected Audience, hesap ve anlaşma kimliklerinin açık artırma teklifi verme, puanlama ve raporlama için kullanılabilir olmasını sağlayan raporlama kimliklerini kullanarak anlaşmaları kolaylaştırır. Raporlama kimlikleri, reklam teknolojisi şirketlerinin anlaşma yapmak ve faturalandırma çalışmalarını düzenlemek için açık artırma sonrası Protected Audience raporlarında bu anlaşma ve hesap kimliklerini almasını sağlayan bir mekanizma sunar. Alıcıların, satıcıların, ajansların ve reklamverenlerin, aldıkları anlaşma ve koltuk kimliklerini yorumlamak ve anlamak için özel stratejileri olabileceğini düşünüyoruz.
Adım adım açıklamalı kılavuz
Protected Audience açık artırmasında anlaşmaları kolaylaştırmak için aşağıdaki adımları uygulayın:
- Alıcı, açık artırma başlamadan önce anlaşma ve koltuk kimliklerini ilgi alanı grubu yapılandırmasına kaydeder.
- Anlaşma ve koltuk kimlikleri, seçilebilir raporlama kimlikleri alanında (
selectableBuyerAndSellerReportingIds) ayarlanabilir. - Tüm anlaşmalar için koltuk kimliği aynıysa bu koltuk kimliği
buyerAndSellerReportingIdiçinde ayarlanabilir ve anlaşma kimlikleri, seçilebilir raporlama kimlikleri alanında (selectableBuyerAndSellerReportingIds) ayarlanabilir.
- Anlaşma ve koltuk kimlikleri, seçilebilir raporlama kimlikleri alanında (
- Teklif oluşturma sırasında anlaşma ve lisans kimlikleri kullanılabilir hale gelir. Alıcı,
selectableBuyerAndSellerReportingIdsbölümünden bir anlaşma kimliği seçer. Alıcı,selectedBuyerAndSellerReportingIddöndürerek bu teklifle ilişkili bir anlaşma kimliği içeren bir teklif oluşturur. Bir teklif, yalnızca döndürülen fırsat kimliği diğer raporlama kimlikleri ve ilgi alanları grubunun belirli özellikleri ile birlikte k-anonim ise açık artırmayı kazanabilir. - Reklam puanlaması sırasında, seçilen anlaşma ve koltuk kimlikleri satıcı tarafından kullanılabilir.
- Anlaşma ve koltuk kimlikleri, satıcının raporlama işlevlerinde kullanılabilir hale gelir.
- Anlaşma ve koltuk kimlikleri, alıcının raporlama işlevlerinde kullanılabilir hale gelir.
1. Fırsat ve lisans kimliklerinin kaydı
Alıcı, açık artırma başlamadan önce anlaşma ve koltuk kimliklerini ilgi alanı grubu yapılandırmasına kaydeder. Anlaşma ve koltuk kimlikleri, selectableBuyerAndSellerReportingIds içinde dize dizisi olarak ayarlanır. Koltuk kimliği tüm fırsatlar için aynıysa ve tekrarlanması gerekmiyorsa koltuk kimliği, dize kabul eden buyerAndSellerReportingId alanına eklenebilir:
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);
Anlaşmalar için koltuk kimliği farklıysa aşağıdaki kurulum kullanılabilir:
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. Teklif oluşturma sırasında alıcılar için anlaşma ve lisans kimlikleri
Teklif oluşturma sırasında alıcı, bir anlaşma kimliğine teklif vermek isteyip istemediğine karar verir. generateBid() içinde alıcı, selectableBuyerAndSellerReportingIds öğesinden bir anlaşma kimliği seçebilir ve değeri selectedBuyerAndSellerReportingId olarak döndürebilir. Seçilen anlaşma kimliği selectableBuyerAndSellerReportingIds dizisinde değilse teklif reddedilir.
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
};
}
selectedbuyerAndSellerReportingId için döndürülen bir değere sahip teklif, yalnızca selectedbuyerAndSellerReportingId değeri buyerAndSellerReportingId (varsa), buyerReportingId (varsa) ilgi alanı grubu sahibi, teklif verme komut dosyası URL'si, oluşturma URL'si ve reklam boyutuyla birlikte k-anonim ise açık artırmayı kazanabilir (reklam boyutu, en az 2025'in 1. çeyreğine kadar bu kontrole dahil edilmez).
İlgi alanı grubu yapılandırmasında selectablebuyerAndSellerReportingIds tanımlanmış olsa bile generateBid(), selectedbuyerAndSellerReportingId içermeyen bir teklif döndürebilir. Bu durumda, bu teklif kazanırsa raporlama işlevlerine sağlanan raporlama kimlikleri seçilemeyen raporlama kimliği davranışını izler.
İlk çağırma işlemi, k-anonimlik kontrollerini geçen reklamlarla teklif oluşturmadığı için generateBid() yeniden çalıştırıldığında, k-anonimlik kontrolünü geçemeyen selectableBuyerAndSellerReportingIds yeniden çalıştırmada ilgi alanları grubunda yer almaz.
3. Reklam puanı verme sırasında satıcılar için anlaşma ve lisans kimlikleri
Seçilen anlaşma kimliği ve varsa lisans kimliği scoreAd() tarafından erişilebilir hale getirilir. Satıcı, anlaşma kimliğini ve özel koşulları dikkate alarak kazanan teklifin uygunluk puanını sağlar. Satıcı, alıcının seçtiği anlaşma kimliğinin geçerli olmadığını düşünüyorsa teklife sıfır veya negatif bir uygunluk puanı vererek teklifi reddeder.
function scoreAd(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds, // 'deal456'
} = browserSignals;
// ...
}
4. Raporlama yapan satıcılar için anlaşma ve lisans kimlikleri
Bir teklifin yalnızca selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (varsa) ve buyerReportingId (varsa) ilgi alanı grubu sahibi, teklif verme komut dosyası URL'si, oluşturma URL'si ve reklam boyutuyla (reklam boyutu en az 2025'in 1. çeyreğine kadar bu kontrolün dışında tutulur) k-anonim olması durumunda açık artırmayı kazanabileceğini hatırlatırız. Bu nedenle, selectedBuyerAndSellerReportingId içeren raporlama kimliği değerleri her zaman reportResult() içinde kullanılabilir. buyerReportingId, k-anonimlik için işaretlenmiş olsa da değerin yalnızca alıcı raporlama işlevinde kullanılabildiğini ve satıcı raporlama işlevinde kullanılamadığını unutmayın.
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds // 'deal456'
} = browserSignals;
// ...
}
5. Alıcı raporlaması için anlaşma ve lisans kimlikleri
Satıcı raporlarındaki aynı kavram, alıcı raporları için de geçerlidir. Bir teklifin yalnızca selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (varsa) ve buyerReportingId (varsa) ilgi alanı grubu sahibi, teklif verme komut dosyası URL'si, oluşturma URL'si ve reklam boyutuyla (reklam boyutu en az 2025'in 1. çeyreğine kadar bu kontrolün dışında tutulur) k-anonim olması durumunda açık artırmayı kazanabileceğini hatırlatırız. Bu nedenle, selectedBuyerAndSellerReportingId içeren raporlama kimliği değerleri her zaman reportWin() içinde kullanılabilir.
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingId // 'deal456'
buyerReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
}
Etkileşim kurma ve geri bildirim paylaşma
- Raporlama kimlikleri hakkında daha fazla bilgi edinmek için Protected Audience açıklayıcısının Raporlama kimliği bölümüne bakın.
- GitHub: API deposundaki sorunlarla ilgili sorularınızı sorun ve tartışmaları takip edin.
- W3C: WICG görüşmesinde sektördeki kullanım alanlarını tartışın.
- Duyurular: Posta listesine katılın veya listeyi görüntüleyin.
- Özel Korumalı Alan geliştirici desteği: Özel Korumalı Alan Geliştirici Destek deposunda soru sorun ve tartışmalara katılın.
- Chromium: Chrome'da test edilebilen uygulama hakkında soru sormak için Chromium hatası bildirin.