Quota limite del segmento di pubblico protetto

La quota limite è una pratica pubblicitaria che limita il numero di annunci di una determinata categoria mostrati a un utente in un determinato periodo di tempo. La quota limite migliora l'esperienza degli utenti finali mantenendo le impressioni degli annunci aggiornate e interessanti e aiuta gli inserzionisti a gestire la spesa pubblicitaria.

Questa proposta illustra come Protected Audience su Android può essere utilizzato per implementare la funzionalità di quota limite in modo accurato e nel rispetto della privacy.

Protected Audience implementa la quota limite combinando due funzionalità: la memorizzazione on-device dei contatori per eventi specifici per gli annunci e la possibilità di filtrare gli annunci in base a un insieme predefinito di strategie di filtro. La quota limite consente agli inserzionisti di indicare una soglia del contatore su una somma di valori dell'istogramma per un determinato periodo di tempo.

I contatori sono univoci per ogni combinazione di profilo del dispositivo, tecnologia pubblicitaria e chiave del contatore. Ogni annuncio deve contenere un insieme di chiavi contatore da utilizzare nel caso in cui venga registrata una visualizzazione o un'impressione per l'annuncio. Per ogni chiave, Protected Audience memorizza un insieme di contatori e ogni contatore conteggia tutti gli eventi specifici per gli annunci che si verificano in un intervallo di tempo specifico. I contatori sul dispositivo vengono incrementati quando si verifica un'impressione o una visualizzazione e i dati dei contatori vengono mantenuti sul dispositivo. La data e l'ora di persistenza esatta verranno definite in un secondo momento.

La logica di filtro degli annunci nel flusso di lavoro di selezione degli annunci di Protected Audience ha accesso a contatori, annunci di remarketing e annunci contestuali, il che consente alla quota limite di frequenza di Protected Audience di funzionare con tutti questi tipi di richieste di annunci.

Nota: il filtro degli annunci è disponibile solo in Privacy Sandbox su Android. L'implementazione di Protected Audience in Chrome non prevede un meccanismo per filtrare gli annunci non Protected Audience con targeting per contesto. Questa proposta riguarda solo l'assistenza per il lato acquirente. Se la richiesta sarà sufficientemente elevata, aggiungeremo il supporto per il lato vendita in un secondo momento.

La quota limite dei segmenti di pubblico protetti supporta una vasta gamma di requisiti, tra cui:

  • Filtri in tempo reale, con un ritardo lato server minimo quando vengono aggiornati i contatori sul dispositivo.
  • Gerarchia flessibile delle chiavi, inclusi singoli annunci, campagne o qualsiasi altro raggruppamento.
  • Congruenza con altri metodi di quota limite, senza dipendenza dall'AdID.
  • Funziona su più app in un determinato profilo utente del dispositivo.
  • Contatori accurati e completi.
  • Supporto per le definizioni personalizzate degli eventi correlati agli annunci, ad esempio visualizzazioni o impressioni.
  • Una funzione sia per gli annunci di remarketing sia per quelli contestuali.

Per impostare la quota limite:

Passaggio 1: aggiungi le informazioni sul limite di frequenza agli annunci

Gli annunci di remarketing e contestuali indicano i contatori dell'istogramma pertinenti da aggiornare in caso di visualizzazione o impressione utilizzando il campo ad_counter_keys che contiene un elenco di numeri interi arbitrari. Il campo non è incluso nel metadata campo non analizzato da Protected Audience.

L'esempio seguente mostra il formato dei dati per il campo adsData in AdSelectionConfig. Per il remarketing, il formato dell'elenco di annunci per un determinato segmento di pubblico personalizzato è coerente con i contenuti del campo ads mostrato nell'esempio seguente:

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

Passaggio 2: registra una visualizzazione o un'impressione

I professionisti della tecnologia pubblicitaria possono invocare il metodo updateAdCounterHistogram per registrare le occorrenze degli eventi utilizzati per la quota limite. Un metodo può essere invocato ripetutamente nello stesso evento per le chiavi specificate in eventType dell'annuncio vincente.

void updateAdCounterHistogram(@EventType eventType, long adSelectionId)

Input:

  • eventType: identifica se un evento viene conteggiato come visualizzazione, impressione, clic o vittoria della procedura di selezione degli annunci.
  • adSelectionId: valori ID nell'oggetto AdSelectionOutcome che vengono restituito dalle chiamate selectAds.

La chiamata updateAdCounterHistogram aggiorna l'istogramma per l'insieme di chiavi definito nell'ambito degli annunci di remarketing recuperati da un CustomAudience o gli annunci contestuali inclusi nel parametro AdSelectionConfig per selectAds.

Se si assume che l'annuncio nel passaggio 1 sia il vincitore di un AdSelection con un valore id di 9999, una chiamata a updateAdCounterHistogram(FrequencyCapFilters.AD_EVENT_TYPE_VIEW, adSelectionId: 999) incrementa i contatori per le seguenti tre chiavi principali:

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

Il nome della tecnologia pubblicitaria viene preso dal campo dell'acquirente, dagli annunci contestuali o dai segmenti di pubblico personalizzati, a seconda da dove provengono gli annunci vincenti.

Protected Audience per Android incrementa automaticamente tutti i contatori menzionati in precedenza per il tipo di evento FrequencyCapFilters.AD_EVENT_TYPE_WIN per gli annunci restituiti da una chiamata all'API selectAds. È funzionalmente equivalente all'aggiunzione dell'argomento prev_wins a browser_signals in generateBid nell'implementazione di Protected Audience di Chrome.

Passaggio 3: implementa il filtro dei limiti di frequenza con i filtri

Per un rendimento ottimale, la funzione di filtro della quota limite viene eseguita all'interno di AdServices. Protected Audience comprende se un messaggio deve essere filtrato leggendo il campo dei filtri nell'oggetto AdsData. In frequency_cap è specificato un elenco di filtri. I valori per key, event_type e interval_in_seconds vengono utilizzati per recuperare un'istogramma degli eventi utilizzati per i filtri e Protected Audience.

Le informazioni sui filtri possono essere specificate per gli annunci di remarketing forniti da un segmento di pubblico personalizzato e per gli annunci contestuali nell'ambito dell'oggetto AdSelectionConfig.

Per gli annunci contestuali con filtri di quota limite, gli annunci vengono trasmessi utilizzando il campo annunci nell'oggetto AdSelectionConfig. Gli annunci vengono filtrati e l'annuncio con l'offerta più alta viene restituito come risultato della chiamata selectAds.

Per gli annunci di remarketing con filtri per le quote limite, gli annunci vengono filtrati prima dell'invocazione della funzione JavaScript generateBid() fornita dall'acquirente.

L'esempio seguente mostra un messaggio con filtro della quota limite:

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

Passaggio 4: genera un report sugli annunci migliori

Al termine della procedura di selezione degli annunci, viene restituito un oggetto AdSelectionOutcome contenente renderUri e adSelectionId, un identificatore numerico per la chiamata selectAds. Questo ID può essere utilizzato per richiamare l'reportImpression API che supporta i report a livello di evento. Nella versione beta 1, questo metodo supporta i report per gli annunci di remarketing e verrà esteso per supportare i report per gli annunci contestuali in una versione successiva. Per gli annunci contestuali, l'acquirente deve indicare dove può essere recuperata la funzione reportWin durante una chiamata reportImpression utilizzando un campo aggiuntivo denominato reportingJS nella struttura dell'annuncio, come mostrato nell'esempio precedente.

Best practice per la selezione di annunci candidati

Protected Audience sposta l'applicazione della quota limite dal server al dispositivo. Sebbene le offerte vincenti vengano registrate con Privacy Sandbox, gli sviluppatori non sapranno perché un annuncio non viene mostrato. Gli annunci potrebbero non essere pubblicati a causa di un'offerta persa o a causa della quota limite. Poiché non è possibile conoscere appieno i motivi per cui determinati annunci non vengono scelti, i sistemi di asta richiedono un lavoro aggiuntivo per garantire la pubblicazione di annunci ottimali. Queste best practice ti aiuteranno a garantire una pubblicazione ottimale degli annunci con Protected Audience.

Inviare un numero sufficiente di annunci di remarketing

Gli annunci di remarketing non possono essere ottimizzati per utente. Se un utente visualizza un numero significativo di annunci di un segmento di pubblico personalizzato e i limiti di annunci sono ridotti, tutti gli annunci potrebbero essere filtrati. Gli annunci di remarketing vengono aggiornati periodicamente, pertanto è necessario che l'inventario pubblicitario sia sufficiente per garantire la pubblicazione degli annunci di remarketing. Questo deve essere bilanciato con le limitazioni relative alle dimensioni degli annunci che possono essere specificate durante la chiamata joinCustomAudience e durante l'aggiornamento giornaliero del segmento di pubblico personalizzato. Gli acquirenti devono tenere presente che potrebbe verificarsi un aumento della latenza durante la fase di offerta. Per ridurre al minimo l'impatto di questi problemi, il filtro della quota limite viene eseguito prima della chiamata a generateBid.

Mantieni i contatori contestuali sul server

Con la stima lato server, uno sviluppatore può avere stime approssimative del momento in cui la quota limite potrebbe essere attiva. Queste stime possono indicare che un annuncio ha probabilmente raggiunto la soglia della quota limite e, di conseguenza, deve essere inviato con più annunci candidati o eliminato del tutto.

Invia più annunci candidati per la risposta contestuale

Prima di un'asta Protected Audience, devi inviare più annunci candidati con una risposta contestuale. In questo modo, se vengono filtrati diversi annunci, gli altri annunci vengono comunque visualizzati. È possibile dare la priorità ai candidati per gli annunci in modo che alcuni annunci vengano forniti come backup.

Poiché l'esecuzione è vincolata nel tempo, gli annunci candidati devono essere scelti in base alla probabilità di vincere un'asta e di non essere filtrati.

Limitazioni

Di seguito sono riportate le limitazioni note della quota limite del pubblico di Protected Audience:

  1. La quota limite per il pubblico protetto viene applicata a livello di profilo utente del dispositivo, senza contatori condivisi su altri dispositivi e altri profili. Eventuali incrementi degli annunci mostrati da altri dispositivi devono essere incorporati manualmente, se necessario.
  2. I contatori del dispositivo vengono memorizzati e sono accessibili sul dispositivo. I contatori lato server devono essere gestiti separatamente.
  3. Poiché la quota limite e il filtraggio degli annunci correlati vengono elaborati su un dispositivo, le piattaforme di tecnologia pubblicitaria non hanno il controllo diretto su queste operazioni. Per aggirare la soglia di limite di frequenza del dispositivo, le piattaforme di tecnologia pubblicitaria possono inviare più annunci candidati con filtri diversi.
  4. Gli aggiustamenti delle offerte in base alla frequenza registrata non sono supportati. Le funzioni generateBid non possono visualizzare i contatori di frequenza.