Reklam alanı satın almak için açık artırmada teklif verme

Bir reklam alıcısı (TTP'ler ve reklamverenler) olarak, bir reklamı reklamverenin sitesinde tanımladığınız ilgi alanı grubuna hedeflemek için yayıncı sitesinde Protected Audience reklam açık artırmasına katılmak isteyebilirsiniz. Protected Audience açık artırmasına katılarak tanımlanmış müşterilerinize diğer sitelerde gizliliği koruyacak şekilde ulaşabilirsiniz.

Protected Audience açık artırmasında, teklifin oluşturulması için gereken mantığı sağlarsınız ve tarayıcı bu mantığı kullanarak teklifi hesaplar. Bu, teklifi mantığı sağlamak yerine doğrudan gönderdiğiniz diğer açık artırma mimarilerinin aksinedir.

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 ilgi alanı grubu için generateBid() işlevinizi, dış bağlamla iletişimi sınırlı olan güvenli 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 aktarır. Bu sinyaller; yayıncının birinci taraf verileri, satıcı verileri ve gerçek zamanlı veriler 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 istenirlik 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

interestGroup

Reklam alıcısı tarafından geçirilen bir nesne. İlgi alanı grubu dailyUpdateUrl ile güncellenebilir.

auctionSignals

Satıcı tarafından navigator.runAdAuction() hizmetine iletilen açık artırma yapılandırması bağımsız değişkeninin ö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.

perBuyerSignals

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ı gerçekleştiren ve yanıtı geri ileten bir SSP ise ya da yayıncı sayfası doğrudan alıcının sunucusuyla iletişim kuruyorsa, bu işlem alıcının sunucusundan sayfayla ilgili içerik sinyalleri sağlayabilir. Bu durumda alıcı, değişikliklere karşı koruma olarak generateBid() içindeki bu sinyallerin kriptografik imzasını kontrol etmek isteyebilir.

trustedBiddingSignals

Anahtarları ilgi alanı grubu için trustedBiddingSignalsKeys olan ve değerleri, trustedBiddingSignals isteğinde döndürülen bir nesne.

browserSignals

Tarayıcı tarafından oluşturulmuş bir nesne. Bu nesne, sayfa bağlamı hakkında bilgiler (satıcının başka bir şekilde taklit edebileceği geçerli sayfanın hostname bölümü gibi) ve ilgi alanı grubunun kendisine ait verileri (ör. cihaz üzerinde sıklık sınırına izin vermek için grubun daha önce açık artırmayı ne zaman kazandığının kaydı) içerebilir.

directFromSellerSignals

runAdAuction kapsamındaki her katılımcıdan gelebilecek auctionSignals ve sellerSignals öğelerinin aksine, belirli bir satıcıdan gelmesi 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

topWindowHostname

runAdAuction() aramasının yapıldığı ana makinenin adı.

seller

Teklifin gönderildiği satıcı. Bir bileşen açık artırmasında bu değer, bileşen satıcısıdır.

topLevelSeller

Bileşen açık artırmasında üst düzey satıcıdır ve yalnızca bileşen açık artırmasında yer alır.

requestedSize

requestedSize özelliği, açık artırma için bir çerçeve boyutu önerir. İstenen boyutu, açık artırma yapılandırmasında satıcı belirler. Bu da değer, generateBid() içindeki teklif verenler tarafından kullanılabilir hale gelir. Açık artırmadaki teklif verenler, reklam için farklı bir içerik boyutu seçebilir. Bu boyut, öğenin kapsayıcı boyutuna sığacak şekilde görsel olarak ölçeklendirilir.

joinCount

joinCount alanı, ilgi alanı grubunun sürekli olarak depolandığı süre zarfında bu cihazın, son 30 gün içinde bu ilgi alanı grubuna katılma sayısıdır (diğer bir deyişle, ayrılması veya üyeliğin sona ermesi nedeniyle cihazdaki ilgi alanı grubunun depolama alanında boşluk olmaması).

recency

recency alanı, bu cihazın bu ilgi alanı grubuna katıldığı andan şimdiye kadar geçen süredir (dakika cinsinden)

bidCount

Bu ilgi alanı grubunun teklif gönderme sayısı.

prevWinsMs

prevWinMs alanında, ilgi alanı grubunun kazanan reklamları ve önceki kazanmalarından bu yana geçen süre (milisaniye cinsinden) yer alır. Buradaki reklam nesnesinin yalnızca renderURL ve meta veri alanlarını içerdiğini unutmayın.

wasmHelper

İlgi alanı grubunun biddingWasmHelperURL öğesine dayalı bir WebAssembly.Module nesnesi.

dataVersion

Alıcının Anahtar/Değer hizmeti yanıtlarındaki Veri Sürümü değeri.

adComponentsLimit

generateBid() ürününün döndürebileceği maksimum reklam bileşeni sayısı

Teklif hesaplama

generateBid() içindeki kod, bir teklif değerini hesaplamak için 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 döndürme

generateBid(), aşağıdaki özelliklere sahip bir nesneyi döndürür:

Özellik 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 Raporlanan reklamveren tıklama veya dönüşüm maliyetini generateBid'dan reportWin'e geçirmek 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 sürek olarak gerçekleştirilir.
adComponents Birden çok parçadan oluşan reklamlar için en fazla 20 bileşen içeren isteğe bağlı bir liste. Bu liste, navigator.joinAdInterestGroup() öğesine iletilen ilgi alanı grubu bağımsız değişkeninin adComponents özelliğinden alınır.
allowComponentAuction Bu teklifin, bileşen açık artırmasında kullanılıp kullanılamayacağını gösteren boole değeridir. Varsayılan olarak "false" (yanlış) değerine ayarlanır belirtilmezse.
bid Açık artırmaya sokacak sayısal bir teklif. Satıcı, farklı alıcıların tekliflerini karşılaştırabilecek bir konumda olmalıdır. 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 negatif ise, 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üntülenip görünmeyeceğini belirleyen reklamveren kurallarını uygulayabilir.
bidCurrency Teklif için currency-checking için kullanılan para birimi.
render Bu teklifin açık artırmayı kazanması durumunda oluşturulması gereken reklam öğesini açıklayan sözlük. Bunlardan bazıları:
  • url: Reklam öğesinin URL'si.
  • width: Reklam öğesinin genişliği. Bu boyut, ilgi alanı grubundaki bildirimle eşleştirilir ve reklam öğesi URL'sinde bulunan reklam boyutu makrolarıyla değiştirilir. Reklam, çitli bir çerçeveye yüklendiğinde, çitli çerçevenin iç çerçevesi (yani reklam öğesinin görebildiği boyut) bu boyutta dondurulur ve yerleştiren tarafından kare boyutunda yapılan değişiklikleri göremez.
  • height: Reklam öğesinin yüksekliği. width adresindeki ayrıntılara bakın.

modelingSignals

Gürültü oluşturma ve paketleme şemasında açıklandığı gibi, gürültüyle birlikte reportWin() hizmetine 0-4095 tam sayı (12 bit) iletilir. Negatif, sonsuz ve NaN değerleri gibi geçersiz değerler yok sayılır ve aktarılmaz. Yalnızca en düşük 12 bit aktarılır.
.
.
Alıcı, makine öğrenimi modeli eğitimini mümkün kılmak için generateBid() işlevinde bulunan sinyalleri (userBiddingSignals tarihinde ilgi alanı grubunun oluşturulma zamanında elde edilen birinci taraf alıcı verileri dahil) kullanarak alıcının kazanma raporu işlevine aktarılan bir değeri elde edebilir.