Prowadzenie aukcji w przeglądarce z jednym sprzedawcą

W tym dokumencie znajdziesz ogólny opis przeprowadzania aukcji z danymi Protected Audience w przypadku pojedynczego sprzedawcy, które są używane w bieżącej wersji interfejsu Protected Audience API. Aukcja z jednym sprzedawcą może być prowadzona w ramach bardziej złożonej aukcji z udziałem wielu sprzedawców. W tym przypadku aukcja pojedynczego sprzedawcy jest nazywana „aukcją komponentu”, która może dostarczać kandydatów na reklamy do „aukcji najwyższego poziomu”, w której bierze udział wielu sprzedawców.

Aby poznać cały cykl życia interfejsu Protected Audience API, przeczytaj przewodnik dla deweloperów. W przewodniku Protected Audience API znajdziesz szczegółowe informacje o tym, jak sprzedawcy prowadzą aukcje na urządzeniu.

6 etapów aukcji reklamy w Protected Audience API

6 etapów aukcji reklamy w Protected Audience API
Ten diagram przedstawia poszczególne etapy aukcji reklam w interfejsie Protected Audience API.
  1. Użytkownik odwiedza witrynę, która wyświetla reklamy.
  2. Kod sprzedawcy jest wykonywany (navigator.runAdAuction()). Określa, która przestrzeń reklamowa jest na sprzedaż i kto może licytować. Sprzedawcy muszą też dołączyć skrypt, który ocenia każdą stawkę (scoreAd()).
  3. Kod zaproszonego kupującego jest wykonywany w celu wygenerowania stawki, adresu URL odpowiedniej kreacji reklamy i innych danych. Skrypt ustalania stawek może wysyłać zapytania o dane w czasie rzeczywistym, np. o pozostały budżet kampanii reklamowej, do usługi par klucz-wartość kupującego.
  4. Kod sprzedawcy ocenia każdą stawkę i wybiera zwycięzcę. Ta logika wykorzystuje wartość stawki i inne dane, aby określić atrakcyjność stawki. Reklamy, które nie mogą pokonać zwycięzcy kontekstowego, są odrzucane. Sprzedawca może używać własnej usługi klucz-wartość do danych w czasie rzeczywistym.
  5. Zwycięska reklama jest zwracana jako nieprzezroczysta wartość, która wyświetla się w ramce ograniczonej. Zarówno sprzedawca, jak i wydawca nie będą mogli wyświetlić tej wartości.
  6. Aukcja jest raportowana sprzedawcy i kupującym, którzy wygrali aukcję.

Aukcja może się odbyć, gdy użytkownik przejdzie na stronę, na której wyświetla się reklama. Aukcje mogą być przeprowadzane z wyprzedzeniem, aby kreacja reklamy była gotowa, gdy slot reklamowy znajdzie się w polu widzenia.

Sprzedawcy inicjują aukcję reklam, oceniają reklamy kandydujące za pomocą logiki niestandardowej podanej jako funkcja scoreAd(), a także odpowiadają za raportowanie wyników aukcji zarówno sobie, jak i zwycięzcy. Sprzedawcy mogą też egzekwować reguły wydawcy i filtrować reklamy pod kątem jakości za pomocą funkcji scoreAd().

Sprzedawca może się odwoływać do:

  • wydawcy treści, którzy sami hostują treści reklamowe w swojej witrynie;
  • platformy dostawców reklam (SSP), które współpracują z wydawcą reklam i świadczyją inne usługi;
  • Skrypty firm zewnętrznych, które działają w imieniu wydawców, umożliwiając im udział w aukcjach reklam.

Wymagania wstępne do przeprowadzania aukcji

Aby przeprowadzać aukcje, sprzedawca musi zdefiniować 2 funkcje JavaScriptu:

  • scoreAd(), który ocenia kandydata na reklamę
  • reportResult(), który odpowiada za raportowanie wyników aukcji sprzedawcy

Skrypty muszą być dostarczane z jednego punktu końcowego należącego do sprzedawcy.

scoreAd()

Sprzedawca musi zdefiniować funkcję scoreAd(), która jest obsługiwana z urządzenia końcowego należącego do sprzedawcy. Punkt końcowy jest określony w konfiguracji aukcji jako decisionLogicUrl. Funkcja scoreAd() ma ten podpis:

scoreAd(
  adMetadata,
  bid,
  auctionConfig,
  trustedScoringSignals,
  browserSignals,
  directFromSellerSignals)

Parametry scoreAd() to:

  • adMetaData, czyli dowolne metadane dotyczące kreacji reklamy podane przez kupującego. Jest to obiekt JSON, który można serializować. Sprzedawcy i kupujący muszą zdefiniować jego strukturę i uzgodnić ją.
  • bid, która jest wartością liczbową reprezentującą stawkę.
  • auctionConfig, czyli konfiguracja aukcji używana do wykonania aukcji.
  • trustedScoringSignals, które są sygnałami odczytywanymi w czasie aukcji ze serwera klucz-wartość sprzedawcy. Platforma użyje renderUrl reklamy docelowej jako klucza do tego wyszukiwania.
  • browserSignals, który jest obiektem utworzonym przez przeglądarkę, zawierającym informacje, które są jej znane i które skrypt aukcji sprzedawcy może chcieć zweryfikować.
  • directFromSellerSignals to obiekt, który może zawierać te pola: ** sellerSignals: podobny do auctionConfig.sellerSignals, ale przekazywany za pomocą mechanizmu directFromSellerSignals. ** auctionSignals: podobnie jak auctionConfig.auctionSignals, ale przekazywany za pomocą mechanizmu directFromSellerSignals.

Poniżej znajdziesz przykład browserSignals. Pamiętaj, że renderUrl reklamy kandydującej jest dostępne na podstawie tych sygnałów:

{ 'topWindowHostname': 'www.example-publisher.com',
  'interestGroupOwner': 'https://www.example-buyer.com',
  'renderURL': 'https://cdn.com/render_url_of_bid',
  'renderSize': {width: 100, height: 200}, /* if specified in the bid */
  'adComponents': ['https://cdn.com/ad_component_of_bid',
                   'https://cdn.com/next_ad_component_of_bid',
                   ...],
  'biddingDurationMsec': 12,
  'bidCurrency': 'USD', /* bidCurrency returned by generateBid, or '???' if none */
  'dataVersion': 1, /* Data-Version value from the trusted scoring signals server's response */
}

reportResult()

Sprzedawca musi zdefiniować funkcję reportResult(), która jest obsługiwana przez należący do niego punkt końcowy. Punkt końcowy jest określony w konfiguracji aukcji jako decisionLogicUrl. Funkcja reportResult() ma następujący podpis:

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

Parametry reportResult() to:

  • auctionConfig, czyli konfiguracja aukcji używana do wykonania aukcji.
  • browserSignals, który jest obiektem utworzonym przez przeglądarkę, zawierającym informacje, które są jej znane i które skrypt aukcji sprzedawcy może chcieć zweryfikować. Jest to ten sam obiekt, który został przekazany funkcji scoreAds().

reportResult() zwraca signalsForWinner, który jest dowolnym obiektem JSON przekazywanym do funkcji raportowania zwycięskiego kupującego. Powinny one zawierać wszystkie istotne informacje, które sprzedawca może podać na temat aukcji, których kupujący potrzebuje do raportowania.

Prowadzenie aukcji Protected Audience API

Sprzedawca musi wykonać 4 główne kroki, aby przeprowadzić aukcję. Pamiętaj, że te czynności zakładają, że sprzedawca ma skonfigurowany punkt końcowy, który zwraca wymagany kod JavaScriptu wspomniany wcześniej w tym przewodniku.

  1. Skonfiguruj aukcję. Ten krok obejmuje utworzenie obiektu auctionConfig. Dzięki temu sprzedawca może określić, którzy kupujący powinni uczestniczyć w aukcji, a także podać sygnały, które mogą być istotne podczas generowania stawek lub oceniania reklam.
  2. Wykonaj aukcję, wywołując funkcję navigator.runAdAuction(), przekazując konfigurację utworzoną w poprzednim kroku. W ten sposób inicjuje się łańcuch kupujących, którzy generują stawki, a następnie punktację. Wynikiem tego etapu jest kandydat na reklamę, który może zostać wyrenderowany, aby wyświetlić reklamę.
  3. Wyświetl reklamę, która wygrała, w ramce lub iframe.
  4. Zgłoś wynik aukcji. Funkcja navigator.sendReportTo() inicjuje raportowanie. Sprzedawca zawsze otrzyma raport z wynikami aukcji. Tylko kupujący, który wygrał aukcję, otrzyma raport. Do raportowania na serwer sprzedawcy używa się reportResult(), o którym mowa wcześniej w tym przewodniku.