Ograniczenie liczby wyświetleń w ramach Protected Audience API

Ograniczenie liczby wyświetleń to praktyka reklamowa, która ogranicza liczbę reklam z danej kategorii wyświetlanych użytkownikowi w określonym przedziale czasu. Ograniczenie liczby wyświetleń poprawia komfort użytkowników, ponieważ wyświetlane reklamy są zawsze aktualne i interesujące, a reklamodawcom pomaga zarządzać wydatkami na reklamę.

W tej propozycji opisujemy, jak można używać interfejsu Protected Audience API na Androidzie do dokładnego i zapewniającego ochronę prywatności wdrażania funkcji ograniczania liczby wyświetleń.

Protected Audience wdraża ograniczenie liczby wyświetleń, łącząc 2 funkcje: na urządzeniu przechowywane są liczniki zdarzeń związanych z reklamami, a reklamy można filtrować zgodnie z wstępnie zdefiniowanym zestawem strategii filtrowania. Ograniczenie liczby wyświetleń umożliwia reklamodawcom wskazanie progu licznika na podstawie sumy wartości histogramu w danym okresie.

Liczniki są unikalne dla każdej kombinacji profilu urządzenia, technologii reklamowej i klucza licznika. Każda reklama powinna zawierać zestaw kluczy licznika, które będą używane w przypadku zarejestrowania wyświetlenia lub wyświetlenia reklamy. W przypadku każdego klucza Protected Audience API przechowuje zestaw liczników, a każdy z nich zlicza wszystkie zdarzenia związane z reklamą, które wystąpiły w określonym przedziale czasu. Liczniki na urządzeniu są zwiększane, gdy nastąpi wyświetlenie lub obejrzenie, a dane licznika są przechowywane na urządzeniu. Dokładny czas przechowywania zostanie określony później.

Logika filtrowania reklam w procesie wyboru reklam w Protected Audience ma dostęp do liczników, reklam remarketingowych i reklam kontekstowych, dzięki czemu limit wyświetleń na użytkownika w Protected Audience może działać w przypadku wszystkich typów żądań reklam.

Uwaga: filtrowanie reklam jest dostępne tylko w Piaskownicy prywatności na Androidzie. Implementacja interfejsu Protected Audience API w Chrome nie zawiera mechanizmu filtrowania reklam kierowanych kontekstowo, które nie korzystają z tego interfejsu. Ta propozycja obejmuje tylko wsparcie po stronie kupującego. Jeśli będzie taka potrzeba, w późniejszym czasie dodamy obsługę platformy sprzedażowej.

Limit wyświetleń na użytkownika w przypadku Protected Audience obsługuje szeroki zakres wymagań, w tym:

  • Filtrowanie w czasie rzeczywistym z minimalnym opóźnieniem po stronie serwera podczas aktualizacji liczników na urządzeniu.
  • Elastyczna hierarchia kluczy, w tym poszczególne reklamy, kampanie lub inne grupy.
  • Zgodność z innymi metodami ograniczenia liczby wyświetleń na użytkownika bez zależności od identyfikatora AdID.
  • Działa we wszystkich aplikacjach w profilu użytkownika na danym urządzeniu.
  • Dokładne i kompletne liczniki.
  • Obsługa definicji niestandardowych zdarzeń związanych z reklamami, takich jak wyświetlenia.
  • Jedna funkcja zarówno w przypadku remarketingu, jak i reklam kontekstowych.

Aby skonfigurować ograniczenie liczby wyświetleń, wykonaj te czynności:

Krok 1. Dodaj do reklam informacje o ograniczeniu liczby wyświetleń

Reklamy kontekstowe i remarketingowe wskazują odpowiednie liczniki histogramu, które należy zaktualizować w przypadku wyświetlenia lub wyświetlenia reklamy za pomocą pola ad_counter_keys zawierającego listę dowolnych liczb całkowitych. Pole nie jest uwzględnione w polu metadata, które nie jest analizowane przez Protected Audience.

Ten przykład pokazuje format danych w polu adsData w AdSelectionConfig. W przypadku remarketingu format listy reklam dla danej grupy odbiorców niestandardowych jest zgodny z zawartością pola ads w przykładzie poniżej:

'adsData': [
  {
    "buyer": "ads.example.com",
    "ads": [
      {
        'render_url': 'exampleUrl',
        'metadata': {...},   /* metadata are opaque to Protected Audience are
                                required to be in valid JSON format */
        'ad_counter_keys': [1234, 5678]
      }]
  }]
}

Krok 2. Zarejestruj wyświetlenie lub wrażenie

Dostawcy technologii reklamowych mogą wywoływać metodę updateAdCounterHistogram, aby rejestrować wystąpienia zdarzeń używanych do ograniczania liczby wyświetleń. Metodę można wywoływać wielokrotnie w przypadku tego samego zdarzenia dla kluczy określonych w eventType zwycięskiej reklamy.

void updateAdCounterHistogram(@EventType eventType, long adSelectionId)

Dane wejściowe:

  • eventType: określa, czy zdarzenie jest liczone jako wyświetlenie, kliknięcie czy wygrana w procesie wyboru reklamy.
  • adSelectionId: wartości identyfikatorów w obiekcie AdSelectionOutcome, które są zwracane przez wywołania selectAds.

Wywołanie updateAdCounterHistogram aktualizuje histogram dla zestawu kluczy zdefiniowanych w ramach reklam remarketingowych pobranych przez CustomAudience lub reklam kontekstowych uwzględnionych w parametrze AdSelectionConfig dla selectAds.

Załóżmy, że reklama z kroku 1 wygrała aukcję z wartością AdSelectionid9999. Wywołanie funkcji updateAdCounterHistogram(FrequencyCapFilters.AD_EVENT_TYPE_VIEW, adSelectionId: 999) zwiększa liczniki tych 3 głównych kluczy:

  • {'ads.example.com', 1234, VIEW}
  • {'ads.example.com', 5678, VIEW}

Nazwa technologii reklamowej jest pobierana z pola kupującego, z reklam kontekstowych lub z odbiorców niestandardowych, w zależności od tego, skąd pochodzą wygrywające reklamy.

Protected Audience na Androida automatycznie zwiększa wszystkie liczniki wymienione wcześniej w przypadku typu zdarzenia FrequencyCapFilters.AD_EVENT_TYPE_WIN dla reklam zwróconych przez wywołanie interfejsu selectAds. Jest to funkcjonalnie równoważne dodaniu argumentu prev_wins do funkcji browser_signalsgenerateBid w implementacji Protected Audience API w Chrome.

Krok 3. Wdróż filtrowanie limitów wyświetleń na użytkownika za pomocą filtrów

Aby zapewnić optymalną skuteczność, funkcja filtrowania limitu wyświetleń jest wykonywana w ramach AdServices. Protected Audience sprawdza, czy wiadomość musi być filtrowana, odczytując pole filtrów w obiekcie AdsData. Lista filtrów jest określona w frequency_cap. Wartości klucza event_typeinterval_in_seconds są używane do pobierania histogramu zdarzeń, które są wykorzystywane do filtrowania i w Protected Audience.

Informacje o filtrowaniu można określić w przypadku reklam remarketingowych dostarczanych przez niestandardową listę odbiorców oraz reklam kontekstowych w ramach obiektu AdSelectionConfig.

W przypadku reklam kontekstowych z filtrami limitu wyświetleń na użytkownika reklamy są przekazywane za pomocą pola ads w obiekcie AdSelectionConfig. Reklamy są filtrowane, a reklama z najwyższą stawką jest zwracana w wyniku wywołania funkcji selectAds.

W przypadku reklam remarketingowych z filtrami limitu wyświetleń na użytkownika reklamy są filtrowane przed wywołaniem funkcji JavaScript generateBid() dostarczonej przez kupującego.

Przykład poniżej pokazuje wiadomość z filtrowaniem według limitu wyświetleń:

{
  'render_url': 'url',
  'metadata': {...},   /* metadata are opaque to Protected Audience and assumed
                        to be in valid JSON format */

  'ad_counter_keys': [1234, 5678],

  "filters": {
    "frequency_cap": {
      "view": [
        {
          "ad_counter_key": 1234
          "max_count": 10,
          "interval_in_seconds": 86400
        },
        {
          "ad_counter_key": 5678
          "max_count": 10,
          "interval_in_seconds": 86400
        },
      ],
      "win": [
        {
          "ad_counter_key": 1234
          "max_count": 5,
          "interval_in_seconds": 604800
        },
        {
          "ad_counter_key": 5678
          "max_count": 5,
          "interval_in_seconds": 345600
        },
      ]
    },

  // This field is only required in contextual ads and is used in
  // reportImpression calls to fetch the reportWin function.
  'reportingJS': "https://ads.example.com?reportWin.js"
}

Krok 4. Tworzenie raportów o wygrywających reklamach

Po zakończeniu procesu wyboru reklamy zwraca on AdSelectionOutcomeobiekt zawierający renderUriadSelectionId, czyli identyfikator numeryczny wywołania selectAds. Ten identyfikator może służyć do wywoływania interfejsu reportImpression API, który obsługuje raportowanie na poziomie zdarzenia. W wersji beta 1 ta metoda obsługuje raportowanie reklam remarketingowych, a w późniejszej wersji zostanie rozszerzona o raportowanie reklam kontekstowych. W przypadku reklam kontekstowych kupujący musi wskazać, gdzie można pobrać funkcję reportWin podczas wywołania reportImpression, używając dodatkowego pola o nazwie reportingJS w strukturze reklamy, jak pokazano w poprzednim przykładzie.

Sprawdzone metody wybierania kandydatów do wyświetlania reklam

Protected Audience przenosi egzekwowanie ograniczenia liczby wyświetleń z serwera na urządzenie. Chociaż wygrywające stawki są zgłaszane w Piaskownicy prywatności, deweloperzy nie będą wiedzieć, dlaczego reklama się nie wyświetla. Reklamy mogą się nie wyświetlać z powodu utraconej stawki lub limitu wyświetleń na użytkownika. Bez pełnej widoczności przyczyn, dla których niektóre reklamy nie wygrywają aukcji, systemy określania stawek wymagają dodatkowej pracy, aby sprawdzić, czy wyświetlają się optymalne reklamy. Te sprawdzone metody pomogą Ci zweryfikować optymalne wyświetlanie reklam za pomocą Protected Audience API.

Wysyłaj wystarczającą liczbę reklam remarketingowych

Reklam remarketingowych nie można optymalizować pod kątem poszczególnych użytkowników. Jeśli użytkownik zobaczy znaczną liczbę reklam z odbiorców niestandardowych, a limity reklam będą niskie, wszystkie reklamy mogą zostać odfiltrowane. Reklamy remarketingowe są okresowo odświeżane, więc przez limit wyświetleń na użytkownika powinna przechodzić wystarczająca liczba zasobów reklamowych, aby można było sprawdzić, czy reklamy remarketingowe nadal się wyświetlają. Należy to zrównoważyć z ograniczeniami rozmiaru reklam, które można określić podczas wywołania joinCustomAudience i podczas codziennej aktualizacji niestandardowej listy odbiorców. Kupujący muszą pamiętać, że w fazie licytowania może wystąpić zwiększenie opóźnienia. Aby zminimalizować wpływ tych problemów, filtrowanie limitu wyświetleń na użytkownika jest przeprowadzane przed wywołaniem funkcji generateBid.

Przechowywanie liczników kontekstowych na serwerze

Dzięki szacowaniu po stronie serwera deweloper może uzyskać przybliżone szacunki dotyczące tego, kiedy może być aktywny limit wyświetleń. Te szacunki mogą wskazywać, że reklama prawdopodobnie osiągnęła próg limitu wyświetleń na użytkownika, dlatego należy wysłać ją z większą liczbą kandydatów na reklamy lub całkowicie ją wyeliminować.

Wysyłanie wielu kandydatów na reklamy w odpowiedzi kontekstowej

Przed aukcją Protected Audience należy wysłać kilka kandydatów na reklamy z odpowiedzią kontekstową. Dzięki temu sprawdzisz, czy w przypadku odfiltrowania kilku reklam nadal wyświetlają się inne reklamy. Kandydaci do wyświetlenia reklamy mogą mieć przypisane priorytety, dzięki czemu niektóre reklamy będą wyświetlane jako rezerwowe.

Ponieważ realizacja jest ograniczona czasowo, kandydatów do wyświetlenia reklamy należy wybierać na podstawie prawdopodobieństwa wygrania aukcji i niewykluczenia z niej.

Ograniczenia

Oto znane ograniczenia ograniczenia liczby wyświetleń w interfejsie Protected Audience API:

  1. Ograniczenie liczby wyświetleń w Protected Audience działa na poziomie profilu użytkownika urządzenia i nie ma wspólnych liczników na innych urządzeniach ani w innych profilach. Wszelkie przyrosty wyświetleń reklam z innych urządzeń należy w razie potrzeby uwzględnić ręcznie.
  2. Liczniki urządzeń są przechowywane na urządzeniu i dostępne na nim. Licznikami po stronie serwera trzeba zarządzać oddzielnie.
  3. Ograniczanie liczby wyświetleń i powiązane z nim filtrowanie reklam odbywa się na urządzeniu, więc platformy technologii reklamowych nie mają bezpośredniej kontroli nad tymi operacjami. Aby ominąć próg ograniczenia częstotliwości wyświetlania na urządzeniu, platformy technologii reklamowych mogą wysyłać wiele reklam kandydujących z różnymi filtrami.
  4. Dostosowania stawek na podstawie zarejestrowanej częstotliwości są nieobsługiwane. Funkcje generateBid nie mogą wyświetlać liczników częstotliwości.