Frequency Capping bei Protected Audience

Mit Frequency Capping wird die Anzahl der Anzeigen aus einer bestimmten Kategorie begrenzt, die einem Nutzer innerhalb eines bestimmten Zeitraums präsentiert werden. Mit Frequency Capping wird die Nutzerfreundlichkeit verbessert, da Anzeigenimpressionen immer frisch und interessant bleiben. Außerdem können Werbetreibende ihre Werbeausgaben besser verwalten.

In diesem Vorschlag wird beschrieben, wie mit Protected Audience auf Android-Geräten die Funktion „Frequency Capping“ auf genaue und datenschutzfreundliche Weise implementiert werden kann.

Bei Protected Audience wird das Frequency Capping durch die Kombination von zwei Funktionen implementiert: dem geräteinternen Speichern von Zählern für anzeigespezifische Ereignisse und der Möglichkeit, Anzeigen gemäß einer vordefinierten Reihe von Filterstrategien zu filtern. Mit Frequency Capping können Werbetreibende einen Zählergrenzwert für die Summe der Histogrammwerte für einen bestimmten Zeitraum angeben.

Zähler sind für jede Kombination aus Geräteprofil, Anzeigentechnologie und Zählerschlüssel eindeutig. Jede Anzeige sollte eine Reihe von Zählerschlüsseln enthalten, die verwendet werden, wenn eine Aufrufung oder Impression für die Anzeige erfasst wird. Für jeden Schlüssel speichert Protected Audience eine Reihe von Zählern. Jeder Zähler zählt alle anzeigespezifischen Ereignisse, die innerhalb eines bestimmten Zeitraums auftreten. On-Device-Zähler werden erhöht, wenn eine Impression oder Wiedergabe erfolgt. Die Zählerdaten werden auf dem Gerät gespeichert. Die genaue Speicherdauer wird später definiert.

Die Logik für die Anzeigenfilterung im Workflow für die Anzeigenauswahl bei geschützten Zielgruppen hat Zugriff auf Zähler, Remarketing-Anzeigen und kontextbezogene Anzeigen. So kann das Frequency Capping für geschützte Zielgruppen mit allen diesen Arten von Anzeigenanfragen verwendet werden.

Hinweis: Die Anzeigenfilterung ist nur in der Privacy Sandbox auf Android-Geräten verfügbar. Die Protected Audience-Implementierung in Chrome enthält keinen Mechanismus zum Filtern von kontextbezogen ausgerichteten Anzeigen, die nicht der Protected Audience-Kategorie zugewiesen sind. Dieser Vorschlag deckt nur den Support für die Käuferseite ab. Bei Bedarf wird die Sell-Side-Unterstützung später hinzugefügt.

Das Frequency Capping für geschützte Zielgruppen unterstützt eine Vielzahl von Anforderungen, darunter:

  • Echtzeitfilterung mit minimaler serverseitiger Verzögerung beim Aktualisieren der On-Device-Zähler.
  • Flexible Hierarchie von Schlüsseln, einschließlich einzelner Anzeigen, Kampagnen oder anderer Gruppierungen.
  • Übereinstimmung mit anderen Methoden zur Auslieferungshäufigkeitsbegrenzung, ohne Abhängigkeit von der Anzeigen-ID.
  • Funktioniert für alle Apps in einem bestimmten Nutzerprofil auf einem Gerät.
  • Genaue und vollständige Zähler.
  • Unterstützung für benutzerdefinierte Definitionen von Anzeigenereignissen wie Aufrufen oder Impressionen
  • Eine Funktion für Remarketing- und kontextbezogene Anzeigen.

So richten Sie ein Anzeigen-Frequenzlimit ein:

Schritt 1: Anzeigen Informationen zur Häufigkeitsbeschränkung hinzufügen

Bei kontextbezogenen und Remarketing-Anzeigen werden relevante Histogrammzähler angegeben, die bei einer Aufruf- oder Impression aktualisiert werden sollen. Dazu wird das Feld ad_counter_keys verwendet, das eine Liste beliebiger Ganzzahlen enthält. Das Feld ist nicht im Feld metadata enthalten, das nicht von Protected Audience geparst wird.

Das folgende Beispiel zeigt das Datenformat für das Feld adsData in AdSelectionConfig. Beim Remarketing entspricht das Format der Anzeigenliste für eine bestimmte benutzerdefinierte Zielgruppe dem Inhalt des Felds ads, wie im folgenden Beispiel dargestellt:

'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]
      }]
  }]
}

Schritt 2: Aufruf oder Impression erfassen

Anbieter von Anzeigentechnologien können die updateAdCounterHistogram-Methode aufrufen, um das Auftreten von Ereignissen zu registrieren, die für das Frequency Capping verwendet werden. Eine Methode kann für dasselbe Ereignis wiederholt aufgerufen werden, wenn die Schlüssel in der eventType der Gewinneranzeige angegeben sind.

void updateAdCounterHistogram(@EventType eventType, long adSelectionId)

Eingaben:

  • eventType:Gibt an, ob ein Ereignis als Aufruf, Impression, Klick oder als Gewinner der Anzeigenauswahl gezählt wird.
  • adSelectionId:ID-Werte im AdSelectionOutcome-Objekt, die von selectAds-Aufrufen zurückgegeben werden.

Der updateAdCounterHistogram-Aufruf aktualisiert das Histogramm für die Schlüssel, die entweder im Rahmen der Remarketing-Anzeigen definiert sind, die über CustomAudience abgerufen werden, oder im Rahmen der kontextbezogenen Anzeigen, die im Parameter AdSelectionConfig für selectAds enthalten sind.

Angenommen, die Anzeige in Schritt 1 ist der Gewinner einer AdSelection mit dem Wert id = 9999. Durch einen Aufruf von updateAdCounterHistogram(FrequencyCapFilters.AD_EVENT_TYPE_VIEW, adSelectionId: 999) werden die Zähler für die folgenden drei primären Schlüssel erhöht:

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

Der Name der Anzeigentechnologie wird aus dem Käuferfeld übernommen, entweder aus kontextbezogenen Anzeigen oder aus benutzerdefinierten Zielgruppen, je nachdem, woher die erfolgreichen Anzeigen stammen.

In Protected Audience für Android werden alle oben für den Ereignistyp FrequencyCapFilters.AD_EVENT_TYPE_WIN genannten Zähler automatisch für Anzeigen erhöht, die über einen selectAds API-Aufruf zurückgegeben werden. Funktional entspricht dies dem Hinzufügen des prev_wins-Arguments zu browser_signals in generateBid in der Protected Audience-Implementierung von Chrome.

Schritt 3: Filter für die Auslieferungshäufigkeit implementieren

Für eine optimale Leistung wird die Funktion zum Filtern der Häufigkeitsobergrenze in AdServices ausgeführt. Protected Audience erkennt anhand des Filters im AdsData-Objekt, ob eine Nachricht gefiltert werden muss. In frequency_cap wird eine Liste der Filter angegeben. Die Werte für „key“, event_type und interval_in_seconds werden verwendet, um ein Histogramm von Ereignissen abzurufen, die für das Filtern und für geschützte Zielgruppen verwendet werden.

Filterinformationen können für Remarketing-Anzeigen, die über eine benutzerdefinierte Zielgruppe bereitgestellt werden, und für kontextbezogene Anzeigen als Teil des AdSelectionConfig-Objekts angegeben werden.

Bei kontextbezogenen Anzeigen mit Filtern für das Frequency Capping werden Anzeigen über das Feld „Anzeigen“ im AdSelectionConfig-Objekt übergeben. Anzeigen werden gefiltert und die Anzeige mit dem höchsten Gebot wird als Ergebnis des selectAds-Aufrufs zurückgegeben.

Bei Remarketing-Anzeigen mit Frequency Capping-Filtern werden Anzeigen herausgefiltert, bevor die vom Käufer bereitgestellte generateBid()-JavaScript-Funktion aufgerufen wird.

Das folgende Beispiel zeigt eine Nachricht mit dem Filter „Höchstwert für die Häufigkeit“:

{
  '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"
}

Schritt 4: Erfolgreiche Anzeigen analysieren

Nach Abschluss der Anzeigenauswahl wird ein AdSelectionOutcome-Objekt mit den Werten renderUri und adSelectionId zurückgegeben, einer numerischen Kennung für den selectAds-Aufruf. Mit dieser ID können Sie die reportImpression API aufrufen, die Berichte auf Ereignisebene unterstützt. In Beta 1 werden mit dieser Methode Berichte zu Remarketing-Anzeigen unterstützt. In einer späteren Version wird die Funktion auf Berichte zu kontextbezogenen Anzeigen ausgeweitet. Bei kontextbezogenen Anzeigen muss der Käufer angeben, wo die reportWin-Funktion bei einem reportImpression-Aufruf abgerufen werden kann. Dazu muss er in der Anzeigenstruktur ein zusätzliches Feld namens reportingJS verwenden, wie im vorherigen Beispiel gezeigt.

Best Practices für die Auswahl von Anzeigenkandidaten

Bei Protected Audience wird die Durchsetzung des Frequency Cappings vom Server auf das Gerät verschoben. Obwohl mit der Privacy Sandbox erfolgreiche Gebote erfasst werden, wissen Entwickler nicht, warum eine Anzeige nicht ausgeliefert wird. Anzeigen werden möglicherweise aufgrund eines verlorenen Gebots oder eines Frequency Cappings nicht ausgeliefert. Da nicht vollständig nachvollziehbar ist, warum bestimmte Anzeigen nicht ausgewählt werden, sind für Bidding-Systeme zusätzliche Maßnahmen erforderlich, um sicherzustellen, dass die optimalen Anzeigen ausgeliefert werden. Mit diesen Best Practices können Sie die Anzeigenbereitstellung mit Protected Audience optimieren.

Senden Sie genügend Remarketing-Anzeigen.

Remarketing-Anzeigen können nicht pro Nutzer optimiert werden. Wenn ein Nutzer eine große Anzahl von Anzeigen aus einer benutzerdefinierten Zielgruppe sieht und die Anzeigenlimits niedrig sind, werden möglicherweise alle Anzeigen herausgefiltert. Remarketing-Anzeigen werden regelmäßig aktualisiert. Daher sollte genügend Anzeigeninventar das Frequency Capping passieren, damit Remarketing-Anzeigen weiterhin ausgeliefert werden. Dies muss mit Einschränkungen der Anzeigengröße in Einklang gebracht werden, die beim joinCustomAudience-Aufruf und bei der täglichen Aktualisierung der benutzerdefinierten Zielgruppe angegeben werden können. Käufer müssen berücksichtigen, dass es während der Gebotsphase zu einer Erhöhung der Latenz kommen kann. Um die Auswirkungen dieser Probleme zu minimieren, wird die Filterung nach der Häufigkeitsobergrenze vor dem Aufruf von generateBid durchgeführt.

Kontextbezogene Zähler auf dem Server speichern

Mit der serverseitigen Schätzung können Entwickler grobe Schätzungen dazu erhalten, wann das Frequency Capping möglicherweise aktiv ist. Diese Schätzungen können darauf hinweisen, dass eine Anzeige wahrscheinlich den Grenzwert für das Frequency Capping erreicht hat. Sie sollte daher mit mehr Anzeigenkandidaten gesendet oder vollständig entfernt werden.

Mehrere Anzeigenkandidaten für die kontextbezogene Antwort senden

Sie sollten vor einer Auktion mit geschützten Zielgruppen mehrere Anzeigenkandidaten mit einer kontextbezogenen Antwort senden. So wird sichergestellt, dass auch dann, wenn mehrere Anzeigen herausgefiltert werden, andere Anzeigen ausgeliefert werden. Anzeigenkandidaten können priorisiert werden, sodass einige Anzeigen als Ersatz bereitgestellt werden.

Da die Ausführung zeitlich begrenzt ist, sollten Anzeigenkandidaten anhand der Wahrscheinlichkeit ausgewählt werden, dass sie eine Auktion gewinnen und nicht herausgefiltert werden.

Beschränkungen

Folgende Einschränkungen sind für das Frequency Capping für geschützte Zielgruppen bekannt:

  1. Das Frequency Capping für geschützte Zielgruppen wird auf Gerätenutzerprofilebene angewendet. Es gibt keine gemeinsamen Zähler für andere Geräte und Profile. Anzeigen, die auf anderen Geräten ausgeliefert wurden, müssen gegebenenfalls manuell berücksichtigt werden.
  2. Gerätezähler werden auf dem Gerät gespeichert und darauf zugegriffen. Serverseitige Zähler müssen separat verwaltet werden.
  3. Da Frequency Capping und die zugehörige Anzeigenfilterung auf einem Gerät verarbeitet werden, haben Plattformen für Anzeigentechnologien keine direkte Kontrolle über diese Vorgänge. Um den Grenzwert für die Häufigkeitsbeschränkung des Geräts zu umgehen, können Anzeigentechnologie-Plattformen mehrere Anzeigenvorschläge mit unterschiedlichen Filtern senden.
  4. Gebotsanpassungen auf Grundlage der erfassten Häufigkeit werden nicht unterstützt. Mit den generateBid-Funktionen können keine Zähler für die Häufigkeit aufgerufen werden.