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

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

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() öğ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.

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

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

directFromSellerSignals

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

topWindowHostname

runAdAuction() çağrısının yapıldığı ana makinenin adı.

seller

Teklifin gönderildiği satıcı. 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ı 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() 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

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

recency alanı, bu cihazın bu ilgi alanı grubuna katılmasından şu ana kadar geçen süredir (dakika cinsinden)

bidCount

Söz konusu ilgi alanı grubunun teklif gönderme sayısı.

prevWinsMs

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.

wasmHelper

İlgi alanı grubunun biddingWasmHelperURL değerine 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() 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ı:
  • 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, çitle çevrili bir çerçevede yüklendiğinde, çitle çevrili çerçevenin iç çerçevesi (ör. reklam öğesi tarafından görülebilen 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. width içindeki ayrıntıları inceleyin.

modelingSignals

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.