Audité $383K de gasto de Meta tROAS país por país. El 7% había estado fallando en la métrica exacta que el algoritmo optimiza y fue difícil detectarlo.
En algún lugar dentro de una campaña que estaba cumpliendo su target de tROAS, un país había estado corriendo a 28% de All ROAS durante tres meses. Así que descubrir que el algoritmo claramente estaba flojeando fue un shock para mí. El target era 70%, ningún dashboard lo señaló, pero lo encontramos porque fuimos a buscarlo.
Esta es la historia de esa auditoría, y el framework de puntuación que salió de ella.
El setup
Una subscription app en Meta. Cinco campañas tROAS divididas por plataforma y tier geográfico. Del 1 de marzo al 29 de mayo. $383K de gasto en más de 200 países con bastantes ad sets.
Un vocabulario rápido para que leamos los mismos números de la misma forma. tROAS significa que Meta puja hacia un target de ROAS total. Ese target es la descripción del trabajo del algoritmo. D0 ROAS es nuestra señal temprana: en esta app, la mayor parte del revenue inicial cae el día de la instalación, así que D0 te dice rápido si una cohorte tiene sentido.
Las campañas se juzgaban de la forma en que se juzga la mayoría de las campañas: blended ROAS contra target. Ese número se veía en línea todo el trimestre.
Un número blended lo esconde todo
Esta es la campaña Tier1 iOS de ese periodo. D0 blended: 26%. Adentro:
| País | D0 ROAS | All ROAS | Qué estaba pasando |
|---|---|---|---|
| Francia | 49% | 66% | Fuerte, y bajando: el All ROAS pasó de 57% a 40% durante el trimestre |
| EE. UU. | 23% | 62% | Por debajo del target, y el que más gasta en la campaña con $49K |
| Alemania | 16% | 31% | Por debajo del target durante tres meses seguidos. Sin avanzar |
El D0 blended dice 26%. Los países adentro dicen otra cosa.
Tres situaciones completamente distintas. Un número blended. Y la parte difícil de aceptar es que el algoritmo no parecía darse cuenta.
Por qué el algoritmo podría no haber arreglado esto
tROAS opera a nivel de campaña. Ve un solo ROAS blended y ajusta los bids en toda la campaña. El ROAS por país queda fuera de su loop de optimización.
Así que un país malo se esconde dentro de una campaña que se ve bien en blended. Ese país corriendo a 28% de All ROAS mientras su campaña marcaba 70% estaba fallando en la métrica exacta que se le pidió al algoritmo optimizar. No un proxy. El target real. El D0 lo señaló temprano, el All ROAS lo confirmó, y el número a nivel de campaña nunca se inmutó.
El mecanismo es simple: los países buenos subsidian a los malos. El blend se mantiene mediocre, y lo mediocre parece negocio como siempre.
Esto no es cuestionar al algoritmo. El algoritmo optimiza lo que puede ver, que es un número a nivel de campaña. El performance por país era un punto ciego por diseño, así que alguien tiene que cubrirlo manualmente. Ese alguien eres tú. Para que quede constancia, otros desgloses posibles como edad o género se veían muy normales y esperados, así que esto nos tomó por sorpresa.
El framework: dos métricas, tres colores, tres grupos
Este es el sistema de puntuación que usamos para separar lo que se mantiene de lo que se corta. Corre sobre un export de breakdown por país y toma cerca de treinta minutos al mes.
Paso 1: puntúa cada métrica de forma independiente
Cada país recibe dos calificaciones, una para D0 ROAS y otra para All ROAS, cada una calificada verde, amarillo, o rojo contra bandas construidas a partir del target de la campaña. Las bandas de esta app venían de su target de tROAS del 70%: el All ROAS verde empieza en el target, y las bandas de D0 vienen de lo que históricamente se corresponde con alcanzarlo. Toma prestada la estructura. Los números los derivas tú mismo, a partir de tu propio target y tu propia curva de D0 a All.
D0 te da la señal inicial que revisamos. All ROAS te da la verdad, que es lo que la campaña está optimizando. Un país en 25% de D0 y 80% de All es un animal distinto a uno en 25% de D0 y 30% de All, y una sola métrica los mezclaría a los dos.
Paso 2: combina en tres grupos
El verde puntúa 2, el amarillo 1, el rojo 0. Suma ambas métricas.
| Suma de ambas puntuaciones | Grupo | Qué hacer |
|---|---|---|
| 3 o 4 | Bien | Mantener, no tocar |
| 2 | Vigilar | Revisar mensualmente |
| 1 o 0 | Excluir | El algoritmo no lo va a arreglar, no sabe que está roto |
Paso 3: añade la dimensión temporal
Los promedios esconden la dirección. Dos países pueden llevar el mismo veredicto trimestral y estar moviéndose en direcciones opuestas.
PH en la campaña worldwide bajó de 33% a 24% a 17% de D0, con All ROAS en 28% en un mes en que la campaña alcanzó 70%. GB cayó a 17% en abril y volvió a 29% en mayo, con el All ROAS rondando cerca del target todo el tiempo. Mismo veredicto agregado. Trayectorias opuestas. La vista mensual te dice cuál merece paciencia.
Paso 4: actúa en consecuencia
Excluye los rojo-rojo que se mantuvieron en rojo durante tres meses con gasto significativo detrás. Fija un piso de gasto antes de juzgar cualquier cosa: un país con $80 detrás tiene un ROAS ruidoso, no un veredicto. Pon a los amarillos en lista de vigilancia y revísalos mensualmente. Deja tranquilos a los Bien.
Lo que salió a la luz
Nada de esto es visible a nivel de campaña.
El 46% del gasto se calificó Bien. El 47% se calificó Vigilar. Y el 7%, o $27,6K en 17 combinaciones de país y campaña, tuvo ambas métricas en rojo durante tres meses seguidos. Los tres más grandes: PH en la campaña worldwide ($7,1K al 21% de D0), MX en Android ($6,2K al 23%), DE en Tier1 ($2,1K al 16%).
Esos $27,6K se quedan estacionados donde están hasta que alguien los revisa manualmente. Ninguna alerta se dispara. Nada se pone en rojo en Ads Manager. La vista de campaña decía que todo estaba bien mientras esto pasaba.
La conclusión
El algoritmo es bueno encontrando compradores. No es bueno abandonando geos que dejaron de convertir.
Todo el sistema cabe en cuatro líneas:
- Dos métricas: D0 para la velocidad, All ROAS para la verdad.
- Tres colores por métrica, puntuados contra tu propio target.
- Tres grupos: mantener, revisar mensualmente, excluir.
- Un recordatorio en el calendario. Mensual.
Si prefieres que un segundo par de ojos corra esta auditoría en tu cuenta, mi bandeja de entrada está abierta.