Limitación de frecuencia del público protegido

La limitación de frecuencia es una práctica publicitaria que limita la cantidad de anuncios de una categoría determinada que se muestran a un usuario en un período específico. La limitación de frecuencia mejora la experiencia del usuario, ya que mantiene las impresiones de anuncios actualizadas e interesantes, y ayuda a los anunciantes a administrar la inversión publicitaria.

En esta propuesta, se presenta cómo se puede usar Protected Audience en Android para implementar la funcionalidad de limitación de frecuencia de una forma precisa que preserve la privacidad.

Protected Audience implementa la limitación de frecuencia con la combinación de dos características: el almacenamiento en el dispositivo de contadores para eventos específicos de anuncios y la capacidad de filtrar anuncios según un conjunto predefinido de estrategias de filtro. La limitación de frecuencia permite a los anunciantes indicar un umbral de contador en una suma de valores de histogramas para un período determinado.

Los contadores son únicos para cada combinación de perfil de dispositivo, tecnología publicitaria y clave de contador. Cada anuncio debe contener un conjunto de claves de contador para usar en caso de que se registre una vista o impresión. Para cada clave, Protected Audience almacena un conjunto de contadores, y cada uno de ellos tiene todos los eventos específicos del anuncio que ocurren dentro de un intervalo de tiempo específico. Los contadores en el dispositivo aumentan cuando se produce una impresión o una vista, y los datos de los contadores se conservarán en el dispositivo. El tiempo de persistencia exacto se definirá más adelante.

La lógica de filtrado de anuncios en el flujo de trabajo de selección de anuncios de Protected Audience tiene acceso a contadores, anuncios de remarketing y anuncios contextuales, lo que le permite a la limitación de frecuencia de Protected Audience trabajar con todos estos tipos de solicitudes de anuncios.

Nota: El filtrado de anuncios solo está disponible en Privacy Sandbox en Android. Actualmente, la implementación de Protected Audience de Chrome no implementa un mecanismo para filtrar anuncios de segmentación contextual que no sean de Protected Audience. Esta propuesta solo abarca la compra. Si hay demanda, agregaremos asistencia para vendedores más adelante.

La limitación de frecuencia de Protected Audience admite una amplia gama de requisitos, incluidos los siguientes:

  • Filtrado en tiempo real, con un retraso mínimo del servidor cuando se actualizan los contadores en el dispositivo
  • Jerarquía de claves flexible (incluidos los anuncios individuales, las campañas o cualquier otro grupo)
  • Congruencia con otros métodos de limitación de frecuencia, sin depender del ID del anuncio
  • Compatibilidad con diferentes apps en un perfil de usuario determinado del dispositivo
  • Contadores precisos y completos
  • Compatibilidad con definiciones personalizadas de eventos de anuncios, como vistas o impresiones
  • Una función para el remarketing y los anuncios contextuales

Para configurar la limitación de frecuencia, sigue estos pasos:

Paso 1: Agrega información sobre la limitación de frecuencia a los anuncios

Los anuncios contextuales y de remarketing indican cuáles son los contadores de histogramas relevantes que deben actualizarse en caso de una vista o impresión con el campo ad_counter_keys, que contiene una lista de números enteros arbitrarios. El campo no está incluido en el campo metadata que Protected Audience no analiza.

En el siguiente ejemplo, se muestra el formato de datos para el campo adsData en AdSelectionConfig. Para el remarketing, el formato de la lista de anuncios para un público personalizado determinado es coherente con el contenido del campo ads que se muestra en el siguiente ejemplo:

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

Paso 2: Registra una vista o impresión

Las tecnologías publicitarias pueden invocar el método updateAdCounterHistogram para registrar casos de eventos que se usan para la limitación de frecuencia. Se puede invocar un método de manera repetida en el mismo evento para las claves especificadas en el eventType del anuncio ganador.

void updateAdCounterHistogram(@EventType eventType, long adSelectionId)

Entradas:

  • eventType: Identifica si un evento se cuenta como una vista, una impresión, un clic o la victoria del proceso de selección de anuncios.
  • adSelectionId: Son los valores de ID en el objeto AdSelectionOutcome que muestran las llamadas a selectAds.

La llamada a updateAdCounterHistogram actualiza el histograma del conjunto de claves definidas como parte de los anuncios de remarketing recuperados por un CustomAudience o los anuncios contextuales incluidos en el parámetro AdSelectionConfig para selectAds.

Si suponemos que el anuncio del paso 1 es el ganador de una AdSelection con un valor de id de 9999, una llamada a updateAdCounterHistogram(FrequencyCapFilters.AD_EVENT_TYPE_VIEW, adSelectionId: 999) aumenta los contadores de las siguientes tres claves primarias:

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

El nombre de la tecnología publicitaria se toma del campo del comprador, ya sea de los anuncios contextuales o de los públicos personalizados, según el origen de los anuncios ganadores.

Protected Audience para Android aumenta automáticamente todos los contadores mencionados antes para el tipo de evento FrequencyCapFilters.AD_EVENT_TYPE_WIN para los anuncios que muestra una llamada a la API de selectAds. Esto es funcionalmente equivalente a agregar el argumento prev_wins a browser_signals en generateBid en la implementación de Protected Audience de Chrome.

Paso 3: Implementa filtros de limitación de frecuencia

Para obtener un rendimiento óptimo, la función de filtrado de limitación de frecuencia se ejecuta en AdServices. Protected Audience entiende si un mensaje debe filtrarse con la lectura del campo de filtros en el objeto AdsData. En frequency_cap, se especifica una lista de filtros. Los valores de clave, event_type y interval_in_seconds se usan para recuperar un histograma de eventos que se usan para el filtrado y Protected Audience.

Se puede especificar información de filtros para los anuncios de remarketing proporcionados por un público personalizado y para los anuncios contextuales como parte del objeto AdSelectionConfig.

Para los anuncios contextuales con filtros de limitación de frecuencia, los anuncios se pasan con el campo de anuncios en el objeto AdSelectionConfig. Los anuncios se filtran y el que tenga la oferta más alta se muestra como resultado de la llamada selectAds.

En el caso de los anuncios de remarketing con filtros de limitación de frecuencia, los anuncios se filtran antes de que se invoque la función de JavaScript generateBid() proporcionada por el comprador.

En el siguiente ejemplo, se muestra un mensaje con filtro de limitación de frecuencia:

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

Paso 4: Genera informes sobre los anuncios ganadores

Una vez que se completa el proceso de selección de anuncios, se muestra un objeto AdSelectionOutcome que contiene renderUri y adSelectionId, un identificador numérico para la llamada selectAds. Este ID se puede usar para invocar la API de reportImpression, que actualmente admite informes a nivel de evento. En la versión beta 1, este método admite la generación de informes de anuncios de remarketing y se extenderá para admitir informes de anuncios contextuales en una versión posterior. En el caso de los anuncios contextuales, el comprador debe indicar dónde se puede recuperar la función reportWin durante una llamada a reportImpression con un campo adicional llamado reportingJS en la estructura del anuncio, como se muestra en el ejemplo anterior.

Prácticas recomendadas para seleccionar candidatos de anuncios

Protected Audience traslada la aplicación forzosa de la limitación de frecuencia del servidor al dispositivo. Aunque las ofertas ganadoras se informan con Privacy Sandbox, los desarrolladores no sabrán los motivos por los que no se muestra un anuncio. Es posible que los anuncios no se muestren debido a una oferta perdida o a la limitación de frecuencia. Sin una visibilidad completa de los motivos por los que ciertos anuncios no ganan, los sistemas de ofertas requieren trabajo adicional para garantizar que se publiquen los anuncios óptimos. Estas prácticas recomendadas ayudarán a garantizar una publicación de anuncios óptima con Protected Audience.

Envía suficientes anuncios de remarketing

Los anuncios de remarketing no se pueden optimizar por usuario. Si un usuario ve una cantidad significativa de anuncios de un público personalizado y los límites son bajos, es posible que se filtren todos los anuncios. Los anuncios de remarketing se actualizan periódicamente, por lo que se debe pasar suficiente inventario de anuncios a través de la limitación de frecuencia para garantizar que los anuncios de remarketing sigan publicándose. Esto debe equilibrarse con limitaciones en el tamaño de los anuncios que se pueden especificar durante la llamada a joinCustomAudience y durante la actualización diaria del público personalizado. Los compradores deben considerar que puede haber un aumento en la latencia durante la fase de oferta. Para minimizar el impacto de estos problemas, se filtra la limitación de frecuencia antes de la llamada a generateBid.

Usa contadores contextuales en el servidor

Con la estimación del servidor, un desarrollador puede tener estimaciones aproximadas de cuándo la limitación de frecuencia puede estar activa. Estas estimaciones pueden indicar que es probable que un anuncio haya alcanzado el límite de frecuencia y, por lo tanto, deben enviarse con más candidatos de anuncios o eliminarse por completo.

Envía varios candidatos de anuncios en la respuesta contextual

Debes enviar varios candidatos de anuncios con una respuesta contextual antes de una subasta de Protected Audience. Esto garantiza que, si se filtran varios anuncios, se siguen mostrando otros. Se puede priorizar a los candidatos de anuncios para que algunos anuncios se proporcionen como copia de seguridad.

Dado que la ejecución está limitada por el tiempo, los candidatos de anuncios deben elegirse según su probabilidad de ganar una subasta y de no quedar filtrados.

Limitaciones

Las siguientes son limitaciones de frecuencia conocidas de Protected Audience:

  1. La limitación de frecuencia de Protected Audience funciona a nivel del perfil del usuario del dispositivo y no tiene contadores compartidos en otros dispositivos y perfiles. Si es necesario, cualquier incremento de anuncios que se muestren desde otros dispositivos deberá incorporarse de forma manual.
  2. Los contadores del dispositivo se almacenan y se accede a ellos en el dispositivo. Los contadores del servidor deben administrarse por separado.
  3. Como la limitación de frecuencia y el filtrado de anuncios relacionado se procesan en un dispositivo, las plataformas de tecnología publicitaria no tienen control directo sobre estas operaciones. Para omitir el umbral de limitación de frecuencia del dispositivo, las plataformas de tecnología publicitaria pueden enviar varios anuncios candidatos con diferentes filtros.
  4. No se admiten los ajustes de la oferta en función de la frecuencia registrada. Las funciones generateBid no pueden ver los contadores de frecuencia.