Raporty o aukcjach w ramach Protected Audience API

Pomiar danych i wyników aukcji interfejsu Protected Audience API

W tym artykule znajdziesz ogólny przegląd różnych dostępnych mechanizmów raportowania danych o aukcjach interfejsu Protected Audience API na swój serwer, a także dostępne obecnie mechanizmy przenoszenia, których możesz używać podczas migracji do momentu przygotowania alternatywnych rozwiązań.

Interfejs Protected Audience API umożliwia raportowanie ważnych danych z aukcji reklam:

  • Agregacja prywatna, która gromadzi sygnały i wyniki aukcji na potrzeby generowania raportów podsumowujących.
  • Ads Reporting API na potrzeby Fenced Frame i iframe, czyli kanał w ramkach do komunikacji z workletami interfejsu Protected Audience API. Interfejs API umożliwia kojarzenie danych na poziomie zdarzenia z sygnałami aukcji. Raportowanie na poziomie zdarzenia w interfejsie Ads Reporting API stanowi mechanizm przejściowy do czasu, gdy opracujemy bardziej prywatny mechanizm.
  • Raportowanie atrybucji, które umożliwia powiązanie danych o konwersjach z sygnałami z aukcji.
  • Pamięć współdzielona, która umożliwia zapisywanie sygnałów aukcji w pamięci z różnych domen, a następnie raportowanie tych danych za pomocą agregacji prywatnej.

Omówienie raportowania w ramach interfejsu Protected Audience API

Ogólny przepływ pracy w ramach Protected Audience API
Ogólny przepływ pracy w usłudze Ochrona odbiorców

Dane z przebiegu aukcji interfejsu Protected Audience API mogą być przesyłane do Twojego serwera w 3 głównych okresach: czas aukcji, gdy aukcja jest przeprowadzana w witrynie wydawcy, czas renderowania reklamy w ramce lub elemencie iframe w witrynie wydawcy i czas konwersji, gdy użytkownik wykona w innej witrynie działanie, które można przypisać do aukcji.

W trakcie aukcji możesz raportować dane z aukcji, korzystając z workletów raportowania. Podczas renderowania możesz raportować dane o zaangażowaniu pochodzące z elementu iframe lub ramki chronionej. W trakcie konwersji możesz raportować dane atrybucji na stronie docelowej za pomocą interfejsu Attribution Reporting API.

Lokalizacje raportowania

W ramach aukcji kupujący mogą raportować sygnały dostępne w workletach generateBid() i reportWin(), a sprzedawcy mogą raportować sygnały dostępne w językach scoreAd() i reportResult(). Poza aukcją kupujący i sprzedawcy mogą raportować dane z ramki, która wyrenderowała reklamę, oraz z witryny, w której wystąpiła konwersja.

Przedział czasu Miejsce docelowe Lokalizacja Dane są dostępne Dostępne interfejsy API do raportowania
Kupione na aukcji Osoba odpowiadająca za zakupy generateBid() Sygnały, wyniki aukcji i skuteczność aukcji Interfejs Private Aggregation API
reportWin() Private Aggregation API
Ads Reporting API
Sprzedawca scoreAd() Interfejs Private Aggregation API
reportResult() Private Aggregation API
Ads Reporting API
Renderowanie Kupujący / sprzedawca Ramka w witrynie wydawcy Dane na poziomie zdarzenia w ramce reklamy Private Aggregation API
Ads Reporting API
Konwersja Kupujący / sprzedawca Witryna konwersji Dane na poziomie konwersji i zdarzenia z witryny konwersji Attribution Reporting API
Private Aggregation API
Ads Reporting API

W każdym podanym okresie kupujący i sprzedawcy będą mieli dostęp do różnych interfejsów API do raportowania umożliwiających raportowanie takich danych jak sygnały aukcji, dane na poziomie zdarzenia czy dane o konwersjach.

Dane dostępne w ramach aukcji Protected Audience API

Poniższe dane są dostępne do raportowania w ramach workletu Protected Audience API podczas aukcji.

Sygnały

Sygnały to dane kontekstowe aukcji, dane użytkownika, dane w czasie rzeczywistym i dane o przeglądarce dostępne dla kupujących i sprzedawców w workucie na potrzeby generowania stawek, oceniania reklam i raportowania wyników aukcji.

Sygnał Opis Ustaw lokalizację Użytkownicy Dostępność
auctionSignals Dane dostępne w kontekście miejsca przeprowadzenia aukcji. Dane te mogą obejmować m.in. informacje o zawartości strony i dane użytkownika. Ustawiona przez sprzedawcę z witryny wydawcy w konfiguracji aukcji. Kupujący
Sprzedawca
WygenerujWynikStawkaReklama RaportWygrany
directFromSellerSignals Te same dane dla zdarzeń auctionSignals, perBuyerSignals i sellerSignals, ale sygnały na pewno będą pochodzić od określonego sprzedawcy. Ustaw za pomocą nagłówków odpowiedzi HTTP od sprzedawcy Kupujący
Sprzedawca
WygenerujWynikStawkaReklama RaportWygrany
browserSignals Różne dane dostarczane przez przeglądarkę (topWindowHostname, interestGroupOwner, renderUrl, adComponents, biddingDurationMsec, IGJoinCount, IGRecency, modelingSignals). Ustawione przez przeglądarkę. Kupujący
Sprzedawca
WygenerujWynikStawkaReklama RaportWygrany
sellerSignals Sygnały przekazane sprzedawcy na potrzeby oceny reklamy. Ustawiona przez sprzedawcę z witryny wydawcy w konfiguracji aukcji. Sprzedawca wynikReklama
raportWw
wynik
trustedScoringSignals Sygnały w czasie rzeczywistym przekazywane sprzedawcy na potrzeby oceny reklamy. Adres URL jest ustawiany przez sprzedawcę w witrynie wydawcy w konfiguracji aukcji. Sprzedawca Wynik RaportuReklamy
perBuyerSignals Dane kontekstowe aukcji przekazywane konkretnym kupującym. Sprzedawca może pobrać wartości dla kupujących przed rozpoczęciem aukcji. Są to informacje kupującego o możliwościach związanych z reklamą. Ustawiona przez sprzedawcę z witryny wydawcy w konfiguracji aukcji. Osoba odpowiadająca za zakupy WygenerujWynikStawkaReklama RaportWygrany
trustedBiddingSignals Sygnały w czasie rzeczywistym przekazywane kupującym na potrzeby określania stawek za reklamy. Adres URL jest ustawiany przez kupującego w witrynie reklamodawcy po ustawieniu grupy zainteresowań. Osoba odpowiadająca za zakupy generateBid
userBiddingSignals Dane użytkownika dostarczone przez kupującego. Ustawiane przez kupującego w witrynie reklamodawcy, gdy określona jest grupa zainteresowań . Osoba odpowiadająca za zakupy generateBid

Obiekt aukcji config to podstawowe źródło danych, które stają się dostępne jako sygnały w workletach. Wydawca i sprzedawca mogą dostarczać w konfiguracji aukcji dane kontekstowe i dane własne. Sygnały te można wzbogacić danymi o grupach zainteresowań pochodzących od kupującego, danymi na poziomie zdarzenia z ramki renderowania reklam oraz danymi o atrybucji ze strony docelowej. Raportowane dane mogą być wykorzystywane m.in. do tworzenia raportów kupujących i sprzedawców, a także do rozliczeń, ustalania budżetu i trenowania modeli systemów uczących się.

Inne dostępne dane

  • Dane o wynikach związane z danymi o wygranej i przegranej aukcji, np. o wygranej stawce i powodach jej odrzucenia.
  • Dane o skuteczności zawierające informacje o czasie oczekiwania, takie jak czas potrzebny na pobranie i wykonanie workletu ustalania stawek.

Dane dostępne poza aukcją Protected Audience API

Poza aukcją Protected Audience API w raportach dostępne są 2 okresy.

Podczas renderowania, gdy reklama jest renderowana w witrynie wydawcy w czasie renderowania, dane na poziomie zdarzenia pochodzące z elementu iframe lub ramki ogrodzonej mogą zostać powiązane z danymi aukcji interfejsu Protected Audience API i zgłoszone na serwer. Przykładowe dane na poziomie zdarzenia obejmują wyświetlenie reklamy, kliknięcie, najechanie kursorem i wszelkie inne zdarzenia występujące w ramce.

Gdy w czasie konwersji użytkownik wykona na stronie docelowej określone działanie, które jest przypisane do aukcji, dane na poziomie zdarzenia pochodzące ze strony konwersji mogą zostać powiązane z danymi aukcji interfejsu Protected Audience API i raportowane na Twoim serwerze.

Raporty na poziomie zdarzenia

Raporty na poziomie zdarzenia zawierają szczegółowe informacje o co najmniej jednym zdarzeniu. Zdarzeniem może być wygrana w aukcji, wyświetlenie reklamy lub konwersja. Do co najmniej 2026 r. raporty o wygranych aukcjach na poziomie zdarzenia pozostaną dostępne, ramki ogrodzone nie będą wymagane do renderowania reklamy w ramach Protected Audience API, a element iframe z nieograniczonym dostępem do sieci będzie służyć do raportowania na poziomie zdarzenia. Dodatkowo interfejs Ads Reporting API jest dostępny w objętych ramkach i elementach iframe, dzięki czemu możesz powiązać dane aukcji i konwersji z danymi na poziomie zdarzenia pochodzącymi z klatki. Ma to na celu ułatwienie migracji ekosystemu, ponieważ przy migracji systemu do Protected Audience API możesz korzystać z dotychczasowej infrastruktury raportowania do co najmniej 2026 roku.

Raporty o wygranych aukcjach na poziomie zdarzenia z sendReportTo()

Mechanizmem raportowania danych na poziomie zdarzenia w ramach aukcji Protected Audience API jest sendReportTo() function dotyczący wygranej aukcji. Funkcja jest dostępna w workletach raportowania kupujących i sprzedawców. Gdy rozpocznie się renderowanie reklamy, przeglądarka wysyła żądanie GET do podanego ciągu URL-a. Każdy sygnał dostępny w pracach możesz zakodować jako parametry zapytania URL.

Na przykład w celach rozliczeniowych kupujący może zgłosić zwycięską stawkę z workletu reportWin():

// Buyer reporting worklet
function reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals, directFromSellerSignals) {
  sendReportTo(`https://buyer-reporting-server.example/reporting?bid=${browserSignals.bid}`);
}

Funkcji sendReportTo() można użyć do wygenerowania raportu wygranych dla sprzedawcy w przypadku wywołania z procedury reportResult() i raportu wygranych dla kupującego, gdy zostanie wywołany ze strony reportWin(). Funkcja sendReportTo() będzie dostępna co najmniej do 2026 roku,

Raport Zaangażowanie

Raport dotyczący zaangażowania zawiera pochodzące z kreacji dane na poziomie zdarzenia (np. dane o wyświetleniach lub kliknięciach), które są powiązane z sygnałami aukcji Protected Audience API, która wyrenderowała reklamę. Reklama jest renderowana po zakończeniu aukcji, dlatego sygnały aukcji nie są dostępne w ramce, która renderuje reklamę. Aby powiązać te dane z różnych okresów, udostępniamy 2 mechanizmy przenoszenia służące do generowania raportów o zaangażowaniu.

Opisana wyżej funkcja sendReportTo() może służyć do powiązania danych aukcji z danymi na poziomie zdarzenia pochodzącymi z elementu iframe, ale nie działa w przypadku ramki ogrodzonej, ponieważ nie można przekazać unikalnego identyfikatora z elementu do umieszczenia, ponieważ komunikacja między elementem umieszczonym na stronie a ramką chronioną jest ograniczona. Do powiązania danych z aukcji z danymi na poziomie zdarzenia pochodzącymi z reklamy w ramce otoczonej ramką można użyć interfejsu Ads Reporting API.

Interfejs Ads Reporting API dla chronionych ramek i elementów iframe

Interfejs Ads Reporting API na potrzeby chronionych ramek i elementów iframe umożliwia powiązanie danych na poziomie zdarzenia użytkownika z ramki reklamy z sygnałami w ramach aukcji Protected Audience API.

W arkuszu raportowania Protected Audience API możesz zarejestrować obraz typu beacon za pomocą funkcji registerAdBeacon() i przekazywać adres URL raportowania z sygnałami dodanymi jako parametry zapytania. Określasz też zdarzenie niestandardowe, które chcesz powiązać z adresem URL raportowania. Później, gdy reklama zostanie wyrenderowana w ramce ogrodzonej, możesz wywołać to zdarzenie niestandardowe, wywołując funkcję window.fence.reportEvent(). Dane dostępne w ramce można dodać jako ładunek.

Funkcja registerAdBeacon() jest dostępna tylko w funkcjach raportowania i nie jest dostępna w mechanizmie ustalania stawek kupującego ani w systemie punktacji sprzedawcy.

W poniższym przykładzie identyfikator kampanii jest powiązany z ładunkiem na poziomie zdarzenia ze współrzędnymi kliknięcia:

// Protected Audience API buyer win reporting worklet
function reportWin(auctionSignals) {
  const { campaignId } = auctionSignals

  registerAdBeacon({
    click: `https://buyer-server.example/report/click?campaignId=${campaignId}`
  })
}
// Protected Audience API seller reporting worklet
function reportResult(auctionConfig) {
  const { campaignId } = auctionConfig.auctionSignals;

  registerAdBeacon({
    click: `https://seller-server.example/report/click?campaignId=${campaignId}`
  })
}
// Ad frame
window.fence.reportEvent({
  eventType: 'click',
  eventData: JSON.stringify({'clickX': '123', 'clickY': '456'}),
  destination:['buyer', 'seller']
});

Interfejs API do raportowania reklam w ramach Fenced Frames będzie też dostępny co najmniej do 2026 r. z tych samych powodów co w przypadku raportów o wygranych.

Aby dowiedzieć się więcej, skorzystaj z wyjaśnienia.

Nieograniczony dostęp do sieci

Chronione ramki pozwolą wczytywać zasoby sieciowe w taki sam sposób jak elementy iframe, a dane na poziomie zdarzenia możesz wysyłać na swój serwer w ramach blokowanych ramek. Raporty na poziomie zdarzenia możesz generować później po stronie serwera. Wystarczy, że powiążesz dane na poziomie zdarzenia z objętej ramką z danymi aukcji wysyłanymi do usługi sendReportTo(), które zostały omówione w sekcji dotyczącej mechanizmu raportowania na poziomie zdarzenia aukcji powyżej.

Po wycofaniu plików cookie innych firm dostęp do sieci zostanie ograniczony.

Mechanizmy raportowania na poziomie zdarzenia, które występują obecnie w interfejsie Protected Audience API, stanowią mechanizmy przejściowe, a alternatywne rozwiązanie zostanie opracowane tak, aby lepiej obsługiwało istniejące przypadki użycia.

Raport atrybucji

Raport atrybucji umożliwia powiązanie konwersji w witrynie z reklamą wybraną z aukcji Protected Audience API. Na przykład użytkownik może kliknąć wyświetlaną przez Ciebie reklamę produktu, zostać przekierowany do witryny reklamodawcy, tam dokonać zakupu – wtedy Ty chcesz przypisać zakup do wyświetlonej reklamy. Interfejs Attribution Reporting API zostanie zintegrowany z Protected Audience API. Dzięki temu będziemy mogli połączyć dane aukcji z witryny wydawcy z danymi o konwersjach z witryny reklamodawcy.

Chociaż opracowujemy bardziej trwałe rozwiązanie, możesz też użyć interfejsu Ads Reporting API dla chronionych ramek, jako tymczasowego mechanizmu generowania raportów gromadzonych na poziomie zdarzenia i zbiorczych w ramach raportów atrybucji. Pamiętaj, że te raporty służą do pomiaru konwersji oraz są niezależne od raportów o zaangażowaniu na poziomie zdarzenia i zbiorczych raportów o zaangażowaniu wygenerowanych na podstawie aukcji i ramki reklamy. Gdy będzie gotowe, opublikujemy wyjaśnienie, aby znaleźć bardziej trwałe rozwiązanie.

Mechanizm przejściowy

Podczas rejestrowania obrazu typu beacon możesz użyć słowa kluczowego reserved.top_navigation. Spowoduje to automatyczne dodanie nagłówka Attribution-Reporting-Eligible do beaconu, aby kwalifikować się do rejestracji jako źródła atrybucji.

registerAdBeacon({
 'reserved.top_navigation': 'https://adtech.example/click?buyer_event_id=123',
});

Aby dołączyć dane na poziomie zdarzenia do zarejestrowanego sygnału typu beacon, możesz wywołać setReportEventDataForAutomaticBeacons() z otoczonej ramki z ładunkiem zdarzenia.

window.fence.setReportEventDataForAutomaticBeacons({
  eventType: 'reserved.top_navigation',
  eventData: 'data from the frame',
  destination:['seller', 'buyer']
})

Więcej informacji znajdziesz w sekcji z informacjami o raportowaniu atrybucji w objaśnieniu interfejsu Ads Reporting API.

Przykład raportowania zaangażowania i konwersji

W tym przykładzie przyjrzymy się temu z perspektywy kupującego, który jest zainteresowany powiązaniem danych z aukcji, ramki reklamy i witryny konwersji.

W ramach tego procesu kupujący współpracuje ze sprzedawcą, by przesłać do aukcji unikalny identyfikator. Podczas aukcji kupujący wysyła ten unikalny identyfikator razem z danymi z tej aukcji. Podczas renderowania i konwersji dane z objętej ramki lub elementu iframe są też wysyłane z tym samym unikalnym identyfikatorem. Później możesz użyć unikalnego identyfikatora, by powiązać te raporty ze sobą.

Przepływ pracy:

  1. Przed rozpoczęciem aukcji kupujący wysyła do sprzedawcy unikalny identyfikator w ramach odpowiedzi na pytanie o stawkę w ramach automatycznego określania stawek w czasie rzeczywistym („RTB”). Identyfikator można ustawić jako zmienną, np. auctionId. Identyfikator jest przekazywany jako perBuyerSignals w auctionConfig i staje się dostępny w workletach kupującego.
  2. W czasie aukcji kupujący może zarejestrować obraz typu beacon, który będzie uruchamiany w czasie renderowania reklamy i czasu konwersji (registerAdBeacon()).
    1. Aby powiązać sygnały z aukcji ze zdarzeniem ramki reklamy, ustaw auctionId jako parametr zapytania w adresie URL obrazu typu beacon.
    2. Aby powiązać sygnały z aukcji ze zdarzeniem konwersji, ustaw parametr auctionId w adresie URL obrazu typu beacon.
  3. Podczas renderowania reklamy beacony zarejestrowane w czasie aukcji mogą być uruchamiane lub ulepszone za pomocą danych na poziomie zdarzenia.
    1. Wywołuj zdarzenie ramki za pomocą funkcji reportEvent() i przekazuj dane na poziomie zdarzenia.
    2. Dodaj ładunek na poziomie zdarzenia do obrazu typu beacon atrybucji za pomocą setReportEventDataForAutomaticBeacons()
    3. Zarejestruj reklamę w interfejsie Attribution Reporting API, odpowiadając na żądania beaconu za pomocą nagłówka Attribution-Reporting-Register-Source.
  4. W czasie konwersji możesz aktywować źródło zarejestrowane w czasie aukcji.

Po zakończeniu tego procesu kupujący otrzyma raport z aukcji, raport zaangażowania i raport konwersji, powiązane ze sobą za pomocą jednego unikalnego klucza, którego można używać do łączenia.

Podobny przepływ pracy ma zastosowanie do sprzedawcy, jeśli potrzebuje on dostępu do danych atrybucji. Może on też wysyłać za pomocą funkcji registerAdBeacon() unikalny identyfikator, używając do tego unikalnego identyfikatora. Wywołanie reportEvent() zawarte w ramce zawiera właściwość docelową, która może służyć do wysyłania raportu zarówno do kupującego, jak i do sprzedawcy. Pamiętaj, że platforma SSP musi znajdować się również na stronie docelowej, aby reguła została przypisana do źródła.

Agregowanie danych w ramach Protected Audience API

Interfejs Private Aggregation API to mechanizm służący do raportowania danych w ramach Protected Audience API w celu wygenerowania raportu podsumowania, czyli zaszumionego, zbiorczego raportu danych zebranych w zasobnikach. Zasobnik jest reprezentowany przez klucz agregacji, a niektóre informacje można zakodować w kluczu.

Na przykład zdarzenie wyświetlenia reklamy można zliczać w różnych grupach, z których każdy reprezentuje inną kampanię reklamową. Raport podsumowujący różni się od raportu na poziomie zdarzenia tym, że nie zawiera informacji o poszczególnych zdarzeniach. Dzięki raportowi na poziomie zdarzenia możesz ustalić, czy użytkownicy A, B i C widzieli kampanię 123. Dzięki raportom podsumowującym możesz mierzyć liczbę użytkowników, którzy widzieli kampanię 123 i dodany został szum, aby chronić prywatność użytkowników.

Więcej informacji o interfejsie API znajdziesz w artykule Agregacja prywatna.

Agregowanie sygnałów z aukcji

Sygnały dostępne w workletach możesz agregować na swoim serwerze za pomocą agregacji prywatnej. Do agregacji sygnałów możesz używać metody privateAggregation.contributeToHistogram() dostępnej w workletach z określaniem stawek przez kupujących, Workletem oceny sprzedawców i workletami raportowania dla kupujących i sprzedawców.

W tym przykładzie zwycięska stawka jest agregowana w grupie właścicieli grup zainteresowań:

function convertBuyerToBucket(igOwner) {}
function convertWinningBidToValue(winningBid) {}

function reportResult(auctionConfig, browserSignals) {
  privateAggregation.contributeToHistogram({
    bucket: convertBuyerToBucket(browserSignals.interestGroupOwner),
    value: convertWinningBidToValue(browserSignals.bid)
  });
} 

Jest to ogólny mechanizm, którego należy używać, gdy sygnały, które chcesz agregować, nie są powiązane z danymi na poziomie zdarzenia ani nie są wywoływane przez zdarzenie spoza aukcji. Więcej informacji o raportowaniu sygnałów aukcji znajdziesz tutaj.

Agregowanie sygnałów z aukcji z danymi zdarzeń

Możesz agregować sygnały aukcji z ograniczonymi informacjami o zdarzeniu, które zachodzi w ramce reklamy. Możesz np. zagregować liczbę kliknięć uzyskanych przez reklamę z danej kampanii, tworząc grupę reprezentującą tę kampanię i zdarzenie kliknięcia. Pamiętaj, że z poziomu ramki reklamy możesz określić, jakie zdarzenie wystąpiło, ale nie możesz dołączyć ładunku na poziomie zdarzenia.

Aby agregować sygnały z aukcji według zdarzeń, możesz użyć funkcji privateAggregation.contributeToHistogramOnEvent(eventType, contribution), która pobiera ciąg znaków określający typ zdarzenia i udział w raportach po jego wywołaniu. Możesz wywołać tę metodę ze zdarzeniem niestandardowym, a następnie wywołaj window.fence.reportEvent(eventType) w ramce reklamy, aby przesłać raport.

Załóżmy, że chcesz zmierzyć, ile kliknięć uzyskała reklama w danej kampanii.

// Protected Audience API worklet
function getClickReportBucketForCampaign(campaignId) {
  // return a bucket for the campaign ID and the click event
}

function generateBid(interestGroup) {
  privateAggregation.contributeToHistogramOnEvent('click', {
    bucket: getClickReportBucketForCampaign(interestGroup.ads.metadata.campaignId), 
    value: 1
  });
}

W funkcji generowania stawek możesz zdefiniować grupę jako kombinację identyfikatora kampanii i zdarzenia kliknięcia, a następnie zwiększać wartość tego segmentu o 1 przy każdym wywołaniu zdarzenia.

// Ad frame
window.fence.reportEvent('click');

Później z poziomu ramki reklamy możesz uruchomić przesyłanie raportu, wywołując metodę reportEvent(eventType):

Więcej informacji o wyzwalaniu treści przesyłanych przez agregację prywatną z poziomu klatki znajdziesz w objaśnieniu.

Raportowanie wyników aukcji i skuteczności

Za pomocą parametru contributeToHistogramOnEvent(eventType, contribution) możesz też agregować wyniki aukcji wywoływane przez zdarzenie wygranej lub przegranej aukcji, gdy przekażesz słowa kluczowe powiązane z zarezerwowanym typem zdarzenia (reserved.win, reserved.loss i reserved.always).

Agregacja prywatna zapewnia listę wartości podstawowych, z których można obliczać zbiór i wartość publikowanych treści. Wartości podstawowe dostępne w wynikach aukcji to wartość stawki zwycięskiej reklamy, wartość stawki, która zajęła drugie miejsce w rankingu, oraz powód odrzucenia stawki z aukcji.

Po podaniu wartości podstawowej, np. kwoty zwycięskiej stawki, możesz określić, o ile chcesz dodać lub odjąć od tej wartości, a potem zgłosić ostateczną wartość. Jeśli na przykład jako wartość podstawową jest zwycięska stawka wynosząca 5 zł, możesz odjąć stawkę w wysokości 2 zł, aby obliczyć rzeczywistą wartość 3 zł przegranej aukcji.

Raportowanie wyników aukcji

Przeanalizujmy przykład, w którym przegrałeś aukcję – chcesz się dowiedzieć, jak daleko Twoja stawka odbiegła od ceny rozliczenia aukcji.

Aby dowiedzieć się, o ile przegrasz w aukcji, możesz odjąć swoją stawkę od zwycięskiej stawki:

function generateBid() {
  const bid = calculateBidAmount();

  privateAggregation.contributeToHistogramOnEvent('reserved.loss', {
    bucket: getBucketForCampaign(interestGroup.ads.metadata.campaignId),
    value: {
      baseValue: 'winning-bid',
      scale: 1 // Scale the value to minimize noise-to-signal ratio 
      offset: -bid, // Numbers added to browser value after scaling 
    }
  });
}

Po przesłaniu raportu rzeczywista raportowana wartość będzie skalowaną wartością baseValue przesuniętą o wartość offset. Więcej informacji znajdziesz tutaj.

Raportowanie skuteczności

Kupujący i sprzedawcy mogą raportować czas wykonania skryptu i czas potrzebny na pobranie zaufanych sygnałów. Za ich zgodą sprzedawcy mogą zbierać dane o czasie generowania stawek i sygnałach dotyczących zaufanego określania stawek każdego kupującego.

Aby dowiedzieć się więcej, przeczytaj wyjaśnienie.

Przechowywanie sygnałów aukcji w pamięci współdzielonej

Pamięć współdzielona to pamięć masowa, bez partycjonowania i w innych domenach, w której można swobodnie zapisywać dane, ale podczas odczytywania i przetwarzania zapisanych wartości jest ona chroniona za pomocą bramek. Jedną z dostępnych bram dla interfejsu Shared Storage API jest agregacja prywatna. Wartości z pamięci współdzielonej możesz odczytywać tylko z poziomu workletu, a także możesz je raportować za pomocą agregacji prywatnej z workletu.

W pamięci współdzielonej możesz też zapisywać dane z workletów do określania stawek, punktacji i raportowania interfejsu Protected Audience API. Później możesz uwzględnić te wartości w pamięci współdzielonej na swoim serwerze za pomocą agregacji prywatnej . Zapisane wartości możesz też wykorzystać w operacji Wybór adresu URL.

Korzystając z workletu Protected Audience API, możesz zapisać dowolne klucze i wartości w pamięci współdzielonej:

// Protected Audience API worklet
function generateBid() {
  sharedStorage.set('test-bucket', 123);
}

Później możesz wczytać worklet pamięci współdzielonej, aby odczytać i wysłać tę wartość za pomocą agregacji prywatnej:

// Shared Storage worklet
class SendReachReport{
  async run() {
    const testBucket = await this.sharedStorage.get('test-bucket');

    privateAggregation.contributeToHistogram({
      bucket: testBucket,
      value: 1
    });
  }
}

register('send-report', SendReachReport);

Aby dowiedzieć się więcej o pamięci współdzielonej, zapoznaj się z sekcją dotyczącą pamięci współdzielonej w przewodniku dla programistów dotyczącym raportowania Protected Audience API, objaśnieniem, prezentacją na żywo i kodem demonstracyjnym dostępnym na GitHubie.

Co dalej?

Chcemy wspólnie z Tobą rozmawiać, aby mieć pewność, że stworzyliśmy interfejs API dla wszystkich użytkowników.

Omów interfejs API

Podobnie jak inne interfejsy API Piaskownicy prywatności, ten interfejs API jest udokumentowany i omawiany publicznie.

Eksperymentuj z interfejsem API

Możesz eksperymentować i uczestniczyć w rozmowach na temat interfejsu Protected Audience API.