Bir reklam alıcı (DSP'ler ve reklamverenler) olarak, reklamveren sitesinde tanımladığınız ilgi alanı grubunu hedeflemek için yayıncı sitesinde bir Protected Audience reklam açık artırmasına katılmak isteyebilirsiniz. Protected Audience açık artırmasına katılarak, tanımladığınız müşterilerinize gizliliği korumaya yönelik bir şekilde diğer sitelerde ulaşabilirsiniz.
Protected Audience açık artırmasında teklifi oluşturmak için mantığı siz sağlarsınız ve tarayıcı bu mantığı kullanarak teklifi hesaplar. Bu, teklifi doğrudan gönderdiğiniz ve mantığı sağlamadığınız diğer açık artırma mimarilerinden farklıdır.
Teklif oluşturma mantığınızı generateBid()
JavaScript işlevinde sağlarsınız ve dosya sunucunuzda barındırılır. Bir kullanıcıyı ilgi grubuna eklediğinizde bu dosyanın konumu, ilgi grubu yapılandırmasına biddingLogicUrl
olarak aktarılır.
Açık artırma sırasında tarayıcı, biddingLogicUrl
alanında belirtilen teklif verme mantığınızı getirir ve generateBid()
işlevinizi, dış bağlamla iletişimi sınırlı olan güvenli ve yalıtılmış bir ortamda her ilgi alanı grubu için yürütür. generateBid()
yürütüldüğünde tarayıcı, işlevdeki sinyalleri bağımsız değişken olarak iletir. Bu sinyaller, yayıncının birinci taraf verileri, satıcının verileri ve gerçek zamanlı veriler gibi farklı kaynaklardan çeşitli bilgiler içerir. Teklifi hesaplamak için bu sinyalleri kullanabilirsiniz. Değer, generateBid()
çağrısından döndürülür. Teklifler gönderildikten sonra tarayıcı, satıcının tercih edilebilirlik puanını hesaplamak için her teklifte satıcının puanlama mantığını yürütür.
generateBid()
Aşağıda generateBid()
işlevinin bağımsız değişkenleri ve işlevden döndürülen teklifin yapısı açıklanmaktadır:
generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals, directFromSellerSignals) {
return {
ad: adObject,
adCost: optionalAdCost,
bid: bidValue,
bidCurrency: 'USD',
render: {
url: renderURL,
width: renderWidth,
height: renderHeight
},
adComponents: [
{url: adComponent1, width: componentWidth1, height: componentHeight1},
{url: adComponent2, width: componentWidth2, height: componentHeight2},
// ...
],
allowComponentAuction: false,
modelingSignals: 123 // 0-4095 integer (12-bits)
};
}
Bağımsız değişkenler
generateBid()
aşağıdaki bağımsız değişkenleri alır:
Bağımsız Değişken | Rol |
---|---|
|
Reklam alıcısı tarafından iletilen bir nesne. İlgi alanı grubu, dailyUpdateUrl ile güncellenebilir. |
|
Satıcı tarafından navigator.runAdAuction() işlevine iletilen auction config bağımsız değişkeninin bir özelliği. Bu, sayfa bağlamı (ör. reklam boyutu ve yayıncı kimliği), açık artırma türü (ilk fiyat veya ikinci fiyat) ve diğer meta veriler hakkında bilgi sağlar. |
|
Satıcı tarafından iletilen açık artırma yapılandırması bağımsız değişkeninin bir özelliği. Satıcı, alıcı sunucularına gerçek zamanlı teklif verme çağrısı yapan ve yanıtı geri aktaran bir SSP ise veya yayıncı sayfası doğrudan alıcının sunucusuyla iletişime geçiyorsa bu, alıcının sunucusundan sayfa hakkında bağlamsal sinyaller sağlayabilir. Bu durumda, alıcı, kurcalamaya karşı koruma sağlamak için generateBid() içindeki bu sinyallerin kriptografik imzasını kontrol etmek isteyebilir. |
|
Anahtarları ilgi alanı grubunun trustedBiddingSignalsKeys olan ve değerleri trustedBiddingSignals isteğinde döndürülen bir nesne. |
|
Tarayıcı tarafından oluşturulan bir nesne. Bu nesne, sayfa bağlamı (ör. satıcının başka şekilde sahtesini yapabileceği mevcut sayfanın hostname ) ve ilgi alanı grubuyla ilgili veriler (ör. cihaz üzerinde sıklık sınırlamasına izin vermek için grubun daha önce bir açık artırmayı ne zaman kazandığına dair kayıt) hakkında bilgiler içerebilir. |
|
auctionSignals ve sellerSignals 'nin aksine, belirli bir satıcıdan gelen sinyaller. auctionSignals ve sellerSignals , runAdAuction 'nin yürütüldüğü bağlamda bulunan herhangi bir katılımcıdan gelebilir. |
Tarayıcı sinyalleri
browserSignals
nesnesi aşağıdaki özelliklere sahiptir:
{
topWindowHostname: 'publisher.example',
seller: 'https://ssp.example',
topLevelSeller: 'https://www.top-level-ssp.com',
requestedSize: {width: 100, height: 200}, /* if specified in auction config */
joinCount: 3,
recency: 3600000,
bidCount: 17,
prevWinsMs: [[timeDeltaMs1,ad1],[timeDeltaMs2,ad2],...],
wasmHelper: ...
dataVersion: 1,
adComponentsLimit: 40
}
Mülk | Açıklama |
---|---|
|
runAdAuction() çağrısının yapıldığı yerin ana makine adı. |
|
Teklifin gönderildiği satıcı. Bir bileşen açık artırmasında bu değer, bileşen satıcısıdır. |
|
Bir bileşen açık artırmasındaki en üst düzey satıcıdır ve yalnızca bileşen açık artırmasında bulunur. |
|
requestedSize özelliği, açık artırma için bir çerçeve boyutu önerir. Satıcı, açık artırma yapılandırmasında istenen boyutu ayarlar ve değer, generateBid() içinde teklif verenlerin kullanımına sunulur. Açık artırmadaki teklif verenler, reklam için farklı bir içerik boyutu seçebilir ve sonuçtaki boyut, öğenin kapsayıcı boyutuna sığacak şekilde görsel olarak ölçeklendirilir. |
|
joinCount alanı, bu cihazın son 30 gün içinde bu ilgi alanları grubuna katıldığı süre boyunca ilgi alanları grubunun sürekli olarak depolandığı (yani, ayrılma veya üyelik süresinin dolması nedeniyle cihazda ilgi alanları grubunun depolanmasında boşluk olmadığı) sayı. |
|
recency alanı, bu cihazın bu ilgi alanları grubuna katıldığı andan itibaren geçen süreyi (dakika cinsinden) ifade eder. |
|
İlgi alanları grubunun teklif gönderme sayısı. |
|
prevWinMs alanı, ilgi alanına dayalı grubun kazanan reklamlarını ve önceki kazanımlarından bu yana geçen süreyi milisaniye cinsinden içerir. Buradaki reklam nesnesinin yalnızca renderURL ve meta veri alanlarını içerdiğini unutmayın. |
|
İlgi grubunun biddingWasmHelperURL özelliğine dayalı bir WebAssembly.Module nesnesi. |
|
Alıcının anahtar/değer hizmeti yanıtlarındaki Data-Version değeri. |
|
Maksimum generateBid() reklam bileşeni döndürülebilir. |
Teklif hesaplama
Bir teklif değerini hesaplamak için generateBid()
içindeki kod, işlevin parametrelerinin özelliklerini kullanabilir.
Örneğin:
function generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals) {
return {
// ...
bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
// ...
}
}
Teklif döndürme
generateBid()
, aşağıdaki özelliklere sahip bir nesne döndürür:
Mülk | Rol |
---|---|
ad |
Reklamla ilgili rastgele meta veriler (ör. satıcının bu teklif veya reklam öğesi hakkında öğrenmeyi beklediği bilgiler). Satıcı, bu bilgileri açık artırma ve karar mantığında kullanır. |
adCost |
generateBid işlevinden reportWin işlevine raporlama reklamvereni tıklama veya dönüşüm maliyetini aktarmak için kullanılan sayısal değer. Bu sayının hassasiyeti, 8 bitlik mantis ve 8 bitlik üs ile sınırlıdır. Yuvarlama işlemi stokastik olarak yapılır. |
adComponents |
navigator.joinAdInterestGroup() işlevine iletilen ilgi alanı grubu bağımsız değişkeninin adComponents özelliğinden alınan, birden fazla parçadan oluşan reklamlar için en fazla 20 bileşenden oluşan isteğe bağlı bir liste. |
allowComponentAuction |
Bu teklifin bir bileşen açık artırmasında kullanılıp kullanılamayacağını belirten bir Boole değeri. Belirtilmezse varsayılan olarak "false" olur. |
bid |
Açık artırmaya girecek sayısal teklif. Satıcı, farklı alıcılardan gelen teklifleri karşılaştırabilmelidir. Bu nedenle teklifler, satıcı tarafından seçilen bir birimde (ör. "bin başına ABD doları") olmalıdır. Teklif sıfır veya negatifse bu ilgi alanı grubu satıcının açık artırmasına hiç katılmaz. Bu mekanizma sayesinde alıcı, reklamlarının görünüp görünmeyeceği yerlerle ilgili tüm reklamveren kurallarını uygulayabilir. |
bidCurrency |
Teklifin para birimi, para birimi kontrolü için kullanılır. |
render |
Bu teklif açık artırmayı kazanırsa oluşturulması gereken reklam öğesini açıklayan bir sözlük. Bu kapsamda:
|
|
Gürültü ekleme ve gruplandırma şemasında açıklandığı gibi, reportWin() 'ya gürültü eklenerek iletilen 0-4095 tamsayısı (12 bit). Negatif, sonsuz ve NaN değerleri gibi geçersiz değerler yoksayılır ve iletilmez. Yalnızca en düşük 12 bit iletilir. Alıcı, generateBid() işlevinde bulunan sinyalleri (userBiddingSignals içinde ilgi alanı grubu oluşturma sırasında yakalanan birinci taraf alıcı verilerinden elde edilen veriler dahil) kullanarak makine öğrenimi modeli eğitimini etkinleştirmek için alıcının kazanma raporlama işlevine aktarılan bir değer elde edebilir. |