Esta es una pregunta frecuente de los publishers y la respuesta es: Depende 🤔
Vamos a ver paso a paso como calcularlo y que consideraciones tener en el proceso✔️
Let’s go 👇🧠
Pueden darse dos escenarios, tenemos que implementar el tag o el tag ya está despachando, pero no sabemos si el CPM es óptimo o no.
Antes de avanzar con los dos posibles escenarios, tenemos que clarificar que cualquier tag ejecutando dentro de una línea de Price Priority, tiene dos particularidades:
✔️ Una es que el CPM es fijo y no es dinámico. Esto significa que no importa que CPM genere el tag, GAM va a considerar para la competencia en Dynamic Allocation el CPM de la línea de Price Priority. Con lo cual si el tag tiene un CPM promedio de USD 0.10 y nuestra línea de Price Priority tiene un CPM de USD 0.20, aunque GAM contabilice la impresión como USD 0.20, el CPM “real” es el del tag y eso es lo que cuenta.
✔️ La segunda es que GAM no sabe si el tag va a rellenar o no la impresión, por lo cual sí gana la puja en el Dynamic Allocation dentro del GAM y despacha puede que igualmente se genere un unfilled o blanks.
Aclarado esto vamos con los dos escenarios posibles.
Primer Escenario:
✔️ Simple: hay que configurar el CPM al mínimo posible, correr unos días y analizar el caso según el segundo escenario.
Una salvedad es que el partner garantice un CPM fijo con 100% de fill rate, entonces hay que setear el CPM de acuerdo a eso.
💬 TIP: Sí la línea no despacha ninguna impresión, es probable este siendo bloqueada por una UPR (Unified pricing rules) debido a que el CPM esté por debajo del floor mínimo o que no esté pudiendo despachar por el bajo CPM en sí mismo y nunca gane la puja.
Segundo Escenario:
Para realizar el cálculo vamos a necesitar que el partner nos envíe últimos 7 días con:
✔️ Revenue e Impresiones
En nuestro GAM obtenemos los siguientes datos de la performance de nuestra línea de Price Priority:
✔️ Revenue, Impresiones y CPM
Para obtener estos datos debemos generar un reporte con los siguientes parámetros:
✔️ Data Range >> Last 7 days (o el rango que queramos generar)
✔️ Filters >> Line Item >> Is any of >> Buscar el line item en cuestión
✔️ Dimensions >> Date
✔️ Metrics >> Total impressions
✔️ Metrics >> Total CPM, CPC, CPD, and vCPM revenue
La idea del calculo que vamos a realizar es ver cuán “empatados” están los parámetros de nuestra línea y los del tag.
Para calcular el CPM con los datos del partner vamos a realizar el siguiente calculo:
(Revenue/Impresiones) * 1000
Por ejemplo:
Supongamos el partner nos dice que tuvimos un revenue de USD 27.5 y se compraron 55.000 impresiones. Por lo tanto, aplicando la formula el CPM fue de USD 0.50
Por otro lado, tenemos en nuestro GAM que esa línea genero USD 52 y se vendieron 80.000 impresiones a un CPM de USD 0.65
Esto significa hubo un “desperdicio” de 25 mil impresiones (impresiones Tag – impresiones GAM) y el desfasaje en el CPM es de USD 0.15
Entonces lo primero a realizar es empatar el CPM de nuestra línea con el CPM del tag y analizar cómo evoluciona para volver a evaluar nuevamente de manera diaria, semanal o mensual.
Para facilitar los cálculos comparativos, les dejo el link de una planilla de Google que pueden duplicar en su Drive o descargar para usarla: click aquí.
Este tipo de seteo es tedioso por que conlleva muchas idas y vueltas y requiere un ajuste constante.
Aunque a veces es inevitable, de ser posible, lo mejor es mover este tipo de implementación a una integración de Header Bidding vía un adapter. De esta manera resolviendo el problema de la constante actualización del CPM y evitando los blanks producidos por GAM despachando una impresión que no sabe si va a tener fill o no.
Por otro lado, a veces el “desperdicio” de impresiones es inevitable y no es necesariamente malo, ya que, aunque el tag no lo haya comprado, no quiere decir que otra línea o AdX lo hubiesen comprando.
Por eso, para realizar una evaluación más acertada se debe medir el tag en relación a todo el Ad Stack entero, es decir, analizar al revenue y el CPM de manera integral y en un contexto completo.
Pero para eso hay que esperar para la próxima edición 😅
¡Hasta la próxima! 👋