Reklam alıcısı (TTP'ler ve reklamverenler) olarak bir reklamı, reklamveren sitesinde tanımladığınız ilgi alanı grubuna hedeflemek için yayıncı sitesinde bir Protected Audience reklam açık artırmasına katılmak isteyebilirsiniz. Korunan Kitle açık artırmasına katılarak, diğer sitelerde tanımlanmış müşterilerinize gizliliği korumaya yönelik bir şekilde ulaşabilirsiniz.
Korunan Kitle açık artırmasında, siz teklifi oluşturma mantığını sağlarsınız ve tarayıcı da teklifi bu mantığı kullanarak hesaplar. Bu, mantık sağlamak yerine teklifi doğrudan gönderdiğiniz 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 ilgi alanı grubuna kullanıcı eklediğinizde bu dosyanın konumu, ilgi alanı 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 her bir ilgi alanı grubu için generateBid()
işlevinizi, dış bağlamla olan iletişimi sınırlı olan güvenli ve izole bir ortamda yürütür. generateBid()
yürütüldüğünde tarayıcı, sinyalleri bağımsız değişken olarak işleve iletir. Bu sinyaller yayıncının birinci taraf verileri, satıcının verileri, gerçek zamanlı verileri gibi farklı kaynaklardan gelen çeşitli bilgileri 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 istenenlik 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()
şu bağımsız değişkenleri alır:
Argüman | Rol |
---|---|
|
Reklam alıcısı tarafından geçirilen bir nesne. İlgi alanı grubu dailyUpdateUrl ile güncellenebilir. |
|
Satıcı tarafından navigator.runAdAuction() öğesine geçirilen açık artırma yapılandırması bağımsız değişkeninin bir özelliği. Bu, sayfa bağlamı (reklam boyutu ve yayıncı kimliği gibi), 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 çağrısı yapan ve yanıtı geri gönderen bir STP ise veya yayıncı sayfası doğrudan alıcının sunucusuyla iletişim kuruyorsa bu ayar, alıcının sunucusundan sayfayla ilgili bağlamsal sinyaller sağlayabilir. Böyle bir durumda, alıcı, izinsiz değişikliklere karşı koruma sağlamak için generateBid() içindeki bu sinyallerin kriptografik imzalarını kontrol etmek isteyebilir. |
|
Anahtarları ilgi alanı grubu için 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ıyla (örneğin, satıcı tarafından sahte olabilecek geçerli sayfanın hostname bilgisi) ve ilgi alanı grubunun kendisine ait veriler (örneğin, cihaz üzerinde sıklık sınırına olanak sağlamak için grubun daha önce bir açık artırmayı ne zaman kazandığının kaydı) içerebilir. |
|
runAdAuction öğesinin yürütüldüğü yerlerde bulunan herhangi bir katılımcıdan gelebilecek auctionSignals ve sellerSignals 'ın aksine, belirli bir satıcıdan geleceği garanti edilen sinyaller. |
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
}
Özellik | Açıklama |
---|---|
|
runAdAuction() çağrısının yapıldığı ana makinenin adı. |
|
Teklifin gönderildiği satıcı. Bileşen açık artırmasında bu değer, bileşen satıcısıdır. |
|
Bileşen açık artırmasında üst düzey satıcı 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() bölgesindeki teklif verenlerin kullanımına sunulur. Açık artırmadaki teklif verenler reklam için farklı bir içerik boyutu seçebilir ve sonuçta elde edilen boyut, öğenin kapsayıcı boyutuna sığacak şekilde görsel olarak ölçeklendirilir. |
|
joinCount alanı, ilgi alanı grubu sürekli olarak depolanmışken (yani, ilgi alanı grubunun cihazdaki depolama alanında boşluk olmaması veya üyelik süresinin dolması nedeniyle) bu cihazın, son 30 gün içinde bu ilgi alanı grubuna katılma sayısıdır. |
|
recency alanı, bu cihazın bu ilgi alanı grubuna katılmasından şu ana kadar geçen süredir (dakika cinsinden) |
|
Söz konusu ilgi alanı grubunun teklif gönderme sayısı. |
|
prevWinMs alanı, ilgi alanı grubunun kazanan reklamlarını ve bu grubun önceki kazanmaları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 alanı grubunun biddingWasmHelperURL değerine dayalı bir WebAssembly.Module nesnesi. |
|
Alıcının Anahtar/Değer hizmeti yanıtlarındaki Veri Sürümü değeri. |
|
generateBid() tarafından döndürülebilecek maksimum reklam bileşeni sayısı |
Teklif hesaplama
Teklif değeri hesaplamak için generateBid()
kodu, işlev 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 verme
generateBid()
, aşağıdaki özelliklere sahip bir nesne döndürür:
Özellik | Rol |
---|---|
ad |
Satıcının bu teklif veya reklam öğesi hakkında öğrenmeyi beklediği bilgiler gibi reklamla ilgili rastgele meta veriler. Satıcı bu bilgileri açık artırma ve karar mantığında kullanır. |
adCost |
Raporlama reklamveren tıklamasını veya dönüşüm maliyetini generateBid'den reportWin'e geçirmek için kullanılan sayısal bir değerdir. Bu sayının kesinliği 8 bitlik bir mantis ve 8 bitlik bir üs ile sınırlıdır, herhangi bir yuvarlama stokatik olarak yapılır. |
adComponents |
Birden çok parçadan oluşan reklamlar için navigator.joinAdInterestGroup() öğesine iletilen ilgi alanı grubu bağımsız değişkeninin adComponents özelliğinden alınan 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ı gösteren boole değeridir. Belirtilmezse varsayılan olarak "false" olur. |
bid |
Açık artırmaya girecek sayısal bir tekliftir. Satıcı, farklı alıcıların tekliflerini karşılaştırabilecek konumda olmalıdır. Bu nedenle, teklifler satıcı tarafından seçilen bir birimde olmalıdır (ör. "Bin için ABD doları"). Teklif sıfır veya negatifse bu ilgi alanı grubu, satıcının açık artırmasına hiç katılmaz. Bu mekanizma ile alıcı, reklamlarının nerede görünebileceği veya gösterilmeyeceğiyle ilgili herhangi bir reklamveren kurallarını uygulayabilir. |
bidCurrency |
Teklif için para birimi kontrol etme amacıyla kullanılan para birimi. |
render |
Bu teklifin açık artırmayı kazanması halinde oluşturulması gereken reklam öğesini açıklayan bir sözlük. Bunlardan bazıları:
|
|
Gürültü ve paketleme şemasında açıklandığı gibi reportWin() ürününe gürültü içeren 0-4095 tam sayı (12 bit) iletilir. Negatif, sonsuz ve NaN değerleri gibi geçersiz değerler yok sayılır ve iletilmez. Yalnızca en düşük 12 bit geçirilir. Alıcı, makine öğrenimi modeli eğitimini etkinleştirmek amacıyla alıcının kazanç raporlama işlevine iletilen bir değeri türetmek için generateBid() işlevindeki sinyalleri (userBiddingSignals için ilgi alanı grubu oluşturma zamanında toplanan birinci taraf alıcı verilerinden alınan veriler dahil) kullanabilir. |