Ustal stawkę w aukcji, aby kupić boks reklamowy

Jako kupujący reklamy (platformy DSP i reklamodawcy) możesz być zainteresowany udziałem w aukcji reklam z interfejsem Protected Audience API na stronie wydawcy, aby kierować reklamy na grupę zainteresowań zdefiniowaną na stronie reklamodawcy. Uczestnicząc w aukcji Protected Audience, możesz docierać do zidentyfikowanych klientów w innych witrynach w sposób zapewniający ochronę prywatności.

W aukcji Protected Audience podajesz logikę generowania stawki, a przeglądarka oblicza stawkę na podstawie tej logiki. W przeciwieństwie do innych architektur aukcji, w których przesyłasz stawkę bezpośrednio, a nie logikę.

Logikę generowania stawek podajesz w funkcji JavaScript generateBid(), a plik jest hostowany na Twoim serwerze. Gdy dodasz użytkownika do grupy zainteresowań, lokalizacja tego pliku zostanie przekazana do konfiguracji grupy zainteresowań jako biddingLogicUrl.

Podczas aukcji przeglądarka pobiera logikę określania stawek podaną w polu biddingLogicUrl i wykonuje funkcję generateBid() dla każdej grupy zainteresowań w bezpiecznym, odizolowanym środowisku, które ma ograniczoną komunikację z kontekstem zewnętrznym. Gdy funkcja generateBid() jest wykonywana, przeglądarka przekazuje do niej sygnały jako argumenty. Sygnały te zawierają różne informacje z różnych źródeł, np. dane własne wydawcy, dane sprzedawcy, dane w czasie rzeczywistym i inne. Możesz używać tych sygnałów do obliczania stawki, a wartość jest zwracana przez wywołanie generateBid(). Po przesłaniu stawek przeglądarka wykona logikę oceny sprzedawcy dla każdej stawki, aby obliczyć wynik atrakcyjności sprzedawcy.

.

generateBid()

Poniżej znajdziesz opis argumentów funkcji generateBid() i struktury stawki zwracanej przez tę funkcję:


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)
  };
}

Argumenty

generateBid() przyjmuje te argumenty:

Argument Rola

interestGroup

Obiekt przekazywany przez kupującego reklamę. Grupę zainteresowań można zaktualizować za pomocą dailyUpdateUrl.

auctionSignals

Właściwość argumentu auction config przekazywanego do funkcji navigator.runAdAuction() przez sprzedawcę. Zawiera on informacje o kontekście strony (np. rozmiar reklamy i identyfikator wydawcy), typie aukcji (pierwszej lub drugiej ceny) i inne metadane.

perBuyerSignals

Właściwość argumentu auction config przekazywanego przez sprzedawcę. Może to dostarczać sygnały kontekstowe z serwera kupującego dotyczące strony, jeśli sprzedawca jest platformą SSP, która wykonuje wywołanie określania stawek w czasie rzeczywistym do serwerów kupującego i przekazuje odpowiedź z powrotem, lub jeśli strona wydawcy kontaktuje się bezpośrednio z serwerem kupującego. W takim przypadku kupujący może chcieć sprawdzić w generateBid() podpis kryptograficzny tych sygnałów, aby chronić się przed manipulacją.

trustedBiddingSignals

Obiekt, którego klucze to trustedBiddingSignalsKeys dla grupy zainteresowań, a wartości są zwracane w żądaniu trustedBiddingSignals.

browserSignals

Obiekt utworzony przez przeglądarkę, który może zawierać informacje o kontekście strony (np. hostname bieżącej strony, które sprzedawca mógłby sfałszować) i dane dotyczące samej grupy zainteresowań (np. zapis informacji o tym, kiedy grupa wygrała wcześniej aukcję, aby umożliwić ograniczenie częstotliwości na urządzeniu).

directFromSellerSignals

Sygnały pochodzące od konkretnego sprzedawcy, w przeciwieństwie do sygnałów auctionSignalssellerSignals, które mogą pochodzić od dowolnego uczestnika obecnego w kontekście, w którym wykonywana jest funkcja runAdAuction.

Sygnały przeglądarki

Obiekt browserSignals ma te właściwości:

{
  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
}
Właściwość Opis

topWindowHostname

Nazwa hosta, z którego wykonano połączenie runAdAuction().

seller

Sprzedawca, do którego przesłano stawkę. W przypadku aukcji komponentów ta wartość to sprzedawca komponentów.

topLevelSeller

Sprzedawca najwyższego poziomu na aukcji komponentów. Występuje tylko na aukcji komponentów.

requestedSize

Właściwość requestedSize zaleca rozmiar ramki na potrzeby aukcji. Sprzedawca ustawia żądany rozmiar w konfiguracji aukcji, a wartość staje się dostępna dla oferentów w parametrze generateBid(). Biorący udział w aukcji reklamodawcy mogą wybrać inny rozmiar treści reklamy, a wynikowy rozmiar zostanie wizualnie przeskalowany, aby zmieścić się w kontenerze elementu.

joinCount

Pole joinCount to liczba przypadków, w których to urządzenie dołączyło do tej grupy zainteresowań w ciągu ostatnich 30 dni, gdy grupa zainteresowań była przechowywana w sposób ciągły (tzn. nie było przerw w przechowywaniu grupy zainteresowań na urządzeniu z powodu opuszczenia jej lub wygaśnięcia członkostwa).

recency

Pole recency to czas (w minutach) od momentu dołączenia tego urządzenia do tej grupy zainteresowań do chwili obecnej.

bidCount

Liczba stawek przesłanych przez grupę zainteresowań.

prevWinsMs

Pole prevWinMs zawiera zwycięskie reklamy grupy zainteresowań i czas od poprzednich zwycięstw w milisekundach. Pamiętaj, że obiekt reklamy zawiera tylko pola renderURL i metadane.

wasmHelper

obiekt WebAssembly.Module na podstawie biddingWasmHelperURL grupy zainteresowań.

dataVersion

Wartość Data-Version z odpowiedzi usługi klucz/wartość kupującego.

adComponentsLimit

Maksymalna liczba komponentów reklamy, które mogą zostać zwrócone: generateBid()

Obliczanie stawki

Aby obliczyć wartość stawki, kod w generateBid() może używać właściwości parametrów funkcji.

Na przykład:

function generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals) {
  return {
   //  ...
    bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
    // ...
  }
}

Zwracanie stawki

generateBid() zwraca obiekt z tymi właściwościami:

Właściwość Rola
ad Dowolne metadane dotyczące reklamy, np. informacje, które sprzedawca chce uzyskać na temat tej stawki lub kreacji. Sprzedawca wykorzystuje te informacje w swojej logice aukcji i podejmowania decyzji.
adCost Wartość liczbowa używana do przekazywania kosztu kliknięcia lub konwersji reklamodawcy raportującego z funkcji generateBid do funkcji reportWin. Precyzja tej liczby jest ograniczona do 8-bitowej mantysy i 8-bitowego wykładnika, a zaokrąglanie odbywa się stochastycznie.
adComponents Opcjonalna lista maksymalnie 20 komponentów reklam składających się z wielu elementów, pobranych z właściwości adComponents argumentu interestGroup przekazanego do funkcji navigator.joinAdInterestGroup().
allowComponentAuction Wartość logiczna wskazująca, czy tej stawki można używać w aukcji komponentów. Jeśli nie zostanie podana, domyślnie przyjmuje się wartość „false”.
bid Stawka w postaci liczby, która weźmie udział w aukcji. Sprzedawca musi mieć możliwość porównania stawek różnych kupujących, dlatego stawki muszą być podane w wybranej przez niego jednostce (np. „USD za tysiąc”). Jeśli stawka wynosi zero lub jest ujemna, ta grupa zainteresowań w ogóle nie weźmie udziału w aukcji sprzedawcy. Dzięki temu mechanizmowi kupujący może wdrożyć dowolne reguły reklamodawcy dotyczące miejsc, w których mogą lub nie mogą się wyświetlać jego reklamy.
bidCurrency Waluta stawki używana do sprawdzania waluty.
render Słownik opisujący kreację, która powinna być wyświetlana, jeśli ta stawka wygra aukcję. Obejmuje to:
  • url: Adres URL kreacji.
  • width: szerokość kreacji. Ten rozmiar będzie porównywany z deklaracją w grupie zainteresowań i zastępowany w makrach rozmiaru reklamy znajdujących się w adresie URL kreacji reklamy. Gdy reklama jest wczytywana w ramce ograniczonej, jej wewnętrzna ramka (czyli rozmiar widoczny dla kreacji reklamy) jest zamrażana w tym rozmiarze i nie może zobaczyć zmian rozmiaru ramki wprowadzonych przez osadzającego.
  • height: wysokość kreacji. Więcej informacji znajdziesz w width.

modelingSignals

Liczba całkowita z zakresu 0–4095 (12 bitów) przekazywana do funkcji reportWin() z dodaniem szumu zgodnie z opisem w schemacie dodawania szumu i grupowania. Nieprawidłowe wartości, takie jak wartości ujemne, nieskończone i NaN, będą ignorowane i nie będą przekazywane. Przekazywanych będzie tylko 12 najmniej znaczących bitów.


Kupujący może używać sygnałów dostępnych w funkcji generateBid(), w tym danych własnych kupującego zebranych w momencie tworzenia grupy zainteresowań w userBiddingSignals, aby uzyskać pewną wartość, która jest przekazywana do funkcji raportowania wygranych kupującego w celu umożliwienia trenowania modelu ML.