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

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

interestGroup

Reklam alıcısı tarafından iletilen bir nesne. İlgi alanı grubu, dailyUpdateUrl ile güncellenebilir.

auctionSignals

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.

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 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.

trustedBiddingSignals

Anahtarları ilgi alanı grubunun trustedBiddingSignalsKeys olan ve değerleri trustedBiddingSignals isteğinde döndürülen bir nesne.

browserSignals

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.

directFromSellerSignals

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

topWindowHostname

runAdAuction() çağrısının yapıldığı yerin ana makine 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

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

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

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

recency alanı, bu cihazın bu ilgi alanları grubuna katıldığı andan itibaren geçen süreyi (dakika cinsinden) ifade eder.

bidCount

İlgi alanları grubunun teklif gönderme sayısı.

prevWinsMs

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.

wasmHelper

İlgi grubunun biddingWasmHelperURL özelliğine dayalı bir WebAssembly.Module nesnesi.

dataVersion

Alıcının anahtar/değer hizmeti yanıtlarındaki Data-Version değeri.

adComponentsLimit

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:
  • url: Reklam öğesinin URL'si.
  • width: Reklam öğesinin genişliği. Bu boyut, ilgi alanları grubundaki bildirimle eşleştirilir ve reklam öğesi URL'sinde bulunan tüm reklam boyutu makrolarına yerleştirilir. Reklam, sınırlı çerçeveye yüklendiğinde sınırlı çerçevenin iç çerçevesi (yani reklam öğesine görünür olan boyut) bu boyutta dondurulur ve yerleştiren tarafından çerçeve boyutunda yapılan değişiklikleri göremez.
  • height: Reklam öğesinin yüksekliği. Ayrıntılı açıklamayı width bölümünde bulabilirsiniz.

modelingSignals

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.