Ho fatto un audit di 383K $ di spesa tROAS Meta paese per paese. Il 7% stava fallendo esattamente sulla metrica che l’algoritmo ottimizza ed era difficile intercettarlo.
Da qualche parte dentro una campagna che stava centrando il suo target tROAS, un paese girava al 28% di All ROAS da tre mesi. Scoprire che l’algoritmo stava chiaramente battendo la fiacca è stato uno shock per me. Il target era 70%, nessuna dashboard lo segnalava, ma l’abbiamo trovato perché siamo andati a cercarlo.
Questa è la storia di quell’audit, e del framework di scoring che ne è uscito.
Il setup
Una subscription app su Meta. Cinque campagne tROAS divise per piattaforma e tier geografico. 1 marzo - 29 maggio. 383K $ di spesa su oltre 200 paesi con parecchi ad set.
Un rapido vocabolario così leggiamo gli stessi numeri allo stesso modo. tROAS significa che Meta fa bid verso un target di ROAS totale. Quel target è la descrizione del lavoro dell’algoritmo. Il ROAS D0 è il nostro segnale precoce: in questa app, la maggior parte della revenue iniziale atterra il giorno dell’install, quindi il D0 ti dice in fretta se una coorte ha senso.
Le campagne venivano giudicate come vengono giudicate la maggior parte delle campagne: ROAS blended contro target. Quel numero sembrava a posto per tutto il trimestre.
Un numero blended nasconde tutto
Ecco la campagna Tier1 iOS di quel periodo. D0 blended: 26%. Al suo interno:
| Paese | ROAS D0 | All ROAS | Cosa stava succedendo |
|---|---|---|---|
| Francia | 49% | 66% | Forte, e in calo: All ROAS è passato dal 57% al 40% nel trimestre |
| US | 23% | 62% | Sotto target, e il maggior spender della campagna con 49K $ |
| Germania | 16% | 31% | Sotto target per tre mesi di fila. Ferma al palo |
Il D0 blended dice 26%. I paesi al suo interno dicono altro.
Tre situazioni completamente diverse. Un numero blended. E la parte difficile da accettare è che l’algoritmo non sembrava preoccuparsene.
Perché l’algoritmo potrebbe non aver sistemato questo
Il tROAS opera a livello di campagna. Vede un ROAS blended e aggiusta i bid su tutta la campagna. Il ROAS per paese sta fuori dal suo loop di ottimizzazione.
Quindi un paese cattivo si nasconde dentro una campagna che sembra a posto se blended. Quel paese che girava al 28% di All ROAS mentre la sua campagna stampava il 70% stava fallendo esattamente sulla metrica che all’algoritmo era stato chiesto di ottimizzare. Non un proxy. Il vero target. Il D0 lo ha segnalato presto, l’All ROAS lo ha confermato, e il numero a livello di campagna non ha mai battuto ciglio.
Il meccanismo è semplice: i paesi buoni sovvenzionano quelli cattivi. Il blend resta mediocre, e il mediocre sembra business as usual.
Questo non riguarda il mettere in discussione l’algoritmo. L’algoritmo ottimizza ciò che può vedere, che è un numero a livello di campagna. La performance per paese era un punto cieco per design, quindi qualcuno deve coprirlo manualmente. Quel qualcuno sei tu. Per la cronaca, altre possibili suddivisioni come età o genere sembravano molto normali e attese, quindi questo ci ha colto di sorpresa.
Il framework: due metriche, tre colori, tre gruppi
Ecco il sistema di scoring che abbiamo usato per separare cosa tenere da cosa tagliare. Gira su un export del breakdown per paese e circa trenta minuti al mese.
Passo 1: valuta ogni metrica indipendentemente
Ogni paese riceve due voti, uno per il ROAS D0 e uno per l’All ROAS, ciascuno valutato verde, giallo o rosso rispetto a fasce costruite sul target della campagna. Le fasce di questa app venivano dal suo target tROAS del 70%: l’All ROAS verde parte dal target, e le fasce D0 vengono da ciò che storicamente corrisponde al raggiungerlo. Prendi in prestito la struttura. I numeri li derivi tu, dal tuo target e dalla tua curva D0-verso-All.
Il D0 ti dà il segnale iniziale che guardiamo. L’All ROAS ti dà la verità, che è ciò per cui la campagna sta ottimizzando. Un paese al 25% D0 e 80% All è un animale diverso da uno al 25% D0 e 30% All, e una singola metrica li confonderebbe insieme.
Passo 2: combina in tre gruppi
Il verde vale 2, il giallo 1, il rosso 0. Somma entrambe le metriche.
| Somma dei due punteggi | Gruppo | Cosa fare |
|---|---|---|
| 3 o 4 | Good | Tieni, non toccare |
| 2 | Watch | Controlla mensilmente |
| 1 o 0 | Exclude | L’algoritmo non lo sistemerà, non sa di essere rotto |
Passo 3: aggiungi la dimensione temporale
Le medie nascondono la direzione. Due paesi possono portare lo stesso verdetto trimestrale e muoversi in direzioni opposte.
PH nella campagna worldwide è sceso dal 33% al 24% al 17% D0, con All ROAS al 28% in un mese in cui la campagna ha toccato il 70%. GB è sceso al 17% ad aprile ed è tornato al 29% a maggio, con All ROAS vicino al target per tutto il tempo. Stesso verdetto aggregato. Traiettorie opposte. La vista mensile ti dice quale dei due merita pazienza.
Passo 4: agisci di conseguenza
Escludi i rosso-rosso rimasti rossi per tre mesi con spesa significativa dietro. Fissa una soglia minima di spesa prima di giudicare qualsiasi cosa: un paese con 80 $ dietro ha un ROAS rumoroso, non un verdetto. Metti in watch-list i gialli e ricontrolla mensilmente. Lascia stare i Good.
Cosa è emerso
Niente di tutto questo è visibile a livello di campagna.
Il 46% della spesa ha ottenuto Good. Il 47% ha ottenuto Watch. E il 7%, ovvero 27,6K $ su 17 combinazioni paese-campagna, aveva entrambe le metriche rosse per tre mesi di fila. Le tre maggiori: PH nella campagna worldwide (7,1K $ al 21% D0), MX su Android (6,2K $ al 23%), DE in Tier1 (2,1K $ al 16%).
Quei 27,6K $ restano parcheggiati lì finché qualcuno non guarda manualmente. Nessun alert scatta. Niente diventa rosso in Ads Manager. La vista di campagna diceva che andava tutto bene mentre succedeva.
Il messaggio da portare a casa
L’algoritmo è bravo a trovare buyer. Non è bravo ad abbandonare geo che hanno smesso di convertire.
L’intero sistema sta in quattro righe:
- Due metriche: D0 per la velocità, All ROAS per la verità.
- Tre colori per metrica, valutati contro il tuo target.
- Tre gruppi: tieni, controlla mensilmente, escludi.
- Un promemoria in calendario. Mensile.
Se preferisci avere un secondo paio di occhi che fa questo audit sul tuo account, la mia inbox è aperta.