Los informes publicitarios y los logs del bidder no cuadran por uno de dos motivos: los eventos se pierden por el camino hacia los informes, o las dos partes los cuentan con reglas distintas. Un solo recuento por IDs de subasta dice cuál de los dos es. La respuesta decide si hay que arreglar el pipeline, pasar a un servicio gestionado o reconstruirlo.
Cuando los informes publicitarios nunca cuadran con los logs del bidder, detrás de la misma diferencia puede haber dos problemas. O bien los registros de impresiones y clics, llamados eventos, se pierden por el camino hacia los informes, a menudo en el pico de tráfico, o bien cada parte los cuenta con sus propias reglas. Un recuento por IDs de subasta, los códigos que un exchange asigna a cada subasta, distingue los dos casos. Hazlo antes de contratar a nadie, porque un pipeline nuevo por sí solo arregla únicamente el primer problema.
La respuesta corta: empareja las subastas que ganó tu bidder con las impresiones de tus informes por ID de subasta y compara los recuentos hora por hora. Vuelve a contar un día después. Si la proporción de subastas ganadas que siguen faltando sube en las horas de más carga, el pipeline está perdiendo eventos, y eso requiere trabajo de ingeniería. Si los eventos están pero caen en otra hora, aparecen dos veces o quedan filtrados, las dos partes cuentan de forma distinta. Entonces el arreglo es un único conjunto de reglas de recuento por escrito para las dos partes.
Seguir leyendo
Los logs de tu bidder registran cada subasta en la que participó tu bidder, cada puja que hizo y cada subasta que ganó. Tus informes se construyen a partir de eventos que llegan después, como las impresiones y los clics de navegadores y apps. La diferencia entre ambos tiene una de dos causas, o las dos:
En cualquier caso, la diferencia cuesta dinero. Si facturas a los anunciantes a partir de tus informes, cobras de menos por las impresiones perdidas y de más por las duplicadas, mientras que cada exchange normalmente te factura según su propio recuento. Además, un bidder que aprende de estos eventos fija sus pujas sobre cifras equivocadas.
Empareja las dos partes evento por evento. OpenRTB, el protocolo de IAB Tech Lab para real-time bidding, da a cada subasta un ID de solicitud de puja, asignado por el exchange, y a cada impresión de la solicitud un ID propio. Tu bidder puede pedir al exchange que escriba estos IDs en la notificación que envía cuando ganas y en el propio anuncio. Así, cada evento de impresión lleva los mismos IDs que los logs de tu bidder.
Ninguno de los dos IDs basta por sí solo. Según OpenRTB 2.6, cada exchange fija sus propios IDs de solicitud, así que nada impide que dos exchanges usen el mismo. Un ID de impresión solo es único dentro de su solicitud y suele empezar en 1. Por eso hay que emparejar por tres valores a la vez: el exchange, el ID de solicitud y el ID de impresión.
Después haz el recuento:
Si tus eventos no llevan IDs de subasta, añadirlos es el primer arreglo, porque sin ellos el recuento solo puede comparar totales. El artículo técnico sobre medición publicitaria, enlazado arriba, trata a fondo las marcas de tiempo y los eventos tardíos.
Toma un pipeline construido sobre Kafka y ClickHouse. Un colector recibe cada evento desde el navegador o la app y lo escribe en Kafka, una cola de mensajes. Un cargador lee de Kafka y escribe los eventos por lotes en ClickHouse, la base de datos analítica que hay detrás de tus informes. En un pico, los eventos pueden desaparecer en cada paso:
Pide a tus ingenieros estos registros de la hora de más carga de un mal día:
El último registro es el que más ayuda. Si el recuento de un paso cae en el pico mientras el del paso anterior se mantiene, los eventos se perdieron entre esos dos pasos.
Arreglar el pipeline actual:
Pasar a un servicio gestionado, como Amazon MSK para Kafka o ClickHouse Cloud para ClickHouse, en el que el proveedor opera los servidores:
Reconstruir el pipeline:
Este trabajo lo hacen dos tipos de empresas, y este artículo no hace un ranking de ninguno de los dos. Las empresas de ingeniería de ad tech construyen bidders, exchanges y ad servers, así que saben de dónde salen los IDs de subasta, pero pregúntales si han operado un pipeline de eventos con tu volumen. Las empresas de ingeniería de datos construyen pipelines de eventos para muchos sectores, aunque no siempre para ad tech. Pregúntales si han trabajado con OpenRTB y si han cuadrado recuentos con un exchange.
Haz las mismas cinco preguntas a cada empresa de tu lista.
¿Cómo eliminan los duplicados? Presta atención a si mencionan un ID que cada evento recibe al crearse, antes de cualquier reintento, formado por los IDs de subasta y el tipo de evento. El pipeline elimina los duplicados dos veces: una al guardar los eventos y otra cuando los informes los leen. La segunda pasada importa porque ClickHouse elimina los duplicados en segundo plano, en momentos que no puedes planificar. Su documentación dice que esto «no garantiza la ausencia de duplicados».
¿Cómo tratan los eventos que llegan tarde? Presta atención a si mencionan un periodo fijo para cada tipo de evento durante el cual las cifras aún pueden cambiar, y un punto a partir del cual son definitivas. Un evento que llega más tarde debe contarse igualmente y marcarse como tardío, no descartarse.
¿Cómo cotejan sus cifras con los logs de nuestro bidder y con los informes de nuestros socios? Busca un recuento diario por IDs de subasta y un motivo por escrito para cada diferencia. Acuerda a partir de qué tamaño de diferencia alguien plantea el problema al exchange.
¿Cómo lo probarán por encima de nuestro pico? Pídeles que reproduzcan un día de mucha carga grabado a un ritmo mayor que el de tu hora de más carga. Durante la reproducción, apagan un colector y un servidor de base de datos. Después, cada evento debe estar o bien guardado o bien contado como descartado.
¿De quién será el código? De tu empresa, por escrito, con el código en tus repositorios desde el primer día. Todo lo que la empresa contratada se quede debe figurar en una lista nombre por nombre, con una licencia para usarlo y modificarlo cuando termine el trabajo.
En AdTech, amBrain trabaja en desarrollo de DSP, plataformas de real-time bidding e ingeniería de ad exchange. Ese trabajo incluye RTBBidder, una demand-side platform que amBrain construyó para un cliente.
amBrain diagnostica sistemas lentos en trading y ad tech: la plataforma en funcionamiento se mide de extremo a extremo y el informe indica a dónde se va el tiempo.
amBrain desarrolla software desde 2019. Trabaja en tres formatos: entrega completa, un equipo dedicado o ingenieros integrados en tu equipo. El cliente conserva la propiedad completa del producto y del código, salvo los componentes reutilizables de amBrain.
Este artículo no es un caso de estudio. No describe el pipeline de eventos de ningún cliente, y RTBBidder se menciona solo como una DSP que construyó amBrain. Kafka y ClickHouse sirven aquí como stack de ejemplo, no como descripción de los proyectos de amBrain ni de las herramientas que usa. El artículo no da precios ni plazos.
Si tus informes y los logs de tu bidder no cuadran, haz primero el recuento. Después lleva sus resultados y las mismas cinco preguntas a cada empresa de tu lista, amBrain incluida.
Traiga su arquitectura actual y el modo de fallo que le preocupa, y lo repasaremos juntos en media hora.