Todo trimestre, ouvimos a mesma pergunta dos publishers que começam a trabalhar conosco: qual rede de anúncios devemos adicionar agora? Parece a escolha óbvia — mais demanda, mais concorrência, preços mais altos. Na prática, as equipes que dobraram o ROAS em 2026 quase nunca conseguiram isso adicionando redes. Elas chegaram lá ao avaliar com honestidade três coisas que já haviam colocado em produção.
Este é o roteiro que agora seguimos com cada nova conta nos primeiros trinta dias de uso do Apps Kit SDK. Organizamos tudo semana a semana para você incorporar diretamente ao planejamento de uma sprint.
1. Preços mínimos que acompanham o usuário, não o posicionamento
Preços mínimos fixos são a causa mais comum de uma waterfall com desempenho abaixo do esperado. Um piso de US$ 4 de eCPM pode ser perfeito para um usuário de iOS nos EUA, conectado ao Wi-Fi e assistindo a um vídeo recompensado às 20h — e desastroso para o mesmo posicionamento em um dispositivo Android Tier 3 às 3h da manhã.
Substituímos o preço mínimo único por unidade de anúncio por uma pequena matriz: categoria do país × formato × faixa horária. São seis valores por unidade de anúncio, recalculados semanalmente com base nos dados de lances dos quatorze dias anteriores. A lógica da waterfall continua igual; só o preço mínimo usado como entrada muda. A mediana do aumento nas primeiras duas semanas foi de 38% em anúncios recompensados e 22% em intersticiais.
2. Corte a cauda longa da waterfall
A maioria das contas que auditamos tem entre 18 e 40 itens de linha por posicionamento. Depois que os preços mínimos são aplicados, quase nenhum lance abaixo dos seis primeiros vence — eles só aumentam a latência e o risco de timeout. Fazemos um corte rigoroso: os seis principais participantes do leilão e duas redes de preenchimento de reserva, sem exceções.
A latência da solicitação de anúncio cai dos habituais 1,4 s para menos de 800 ms. Esse tempo recuperado se transforma diretamente em impressões, porque o usuário ainda está na sessão quando o anúncio é exibido.
3. Trate as impressões por DAU como o principal KPI
O ROAS é uma métrica de resultado: ele reflete as mudanças com atraso. O indicador antecedente — aquele que muda primeiro quando algo está errado — é o número de impressões por usuário ativo diário. Se o IPM cai 10%, o ROAS cai de 8% a 12% na semana seguinte, todas as vezes.
Implementamos a medição por coorte, formato e versão do app. O painel destaca as variações assim que elas ultrapassam o limite de 5%. Quando o financeiro percebe a queda no ROAS, nossa equipe já publicou uma alteração de configuração remota.
O cronograma semanal que seguimos na prática
Isoladamente, essas três mudanças são simples. A ordem importa mais do que parece — a instrumentação precisa vir antes de qualquer alteração nos preços mínimos, ou você não conseguirá saber se a mudança funcionou.
- Semana 1: colocar em produção painéis de impressões por DAU, por coorte e formato, com alerta de variação de 5%
- Semana 2: limitar a waterfall aos seis principais participantes do leilão e duas redes de preenchimento de reserva, mantendo os preços mínimos
- Semana 3: aplicar a matriz de preços mínimos por país × formato × faixa horária a um posicionamento de anúncio recompensado
- Semana 4: expandir a matriz para intersticiais, eliminar os últimos preços mínimos fixos e realizar a análise retrospectiva descrita abaixo
O que medimos e como
Três números mostravam se cada mudança havia funcionado. As impressões por DAU, segmentadas por versão do app e país, eram o indicador antecedente — mudavam em até 24 horas após qualquer alteração nos preços mínimos. O ARPDAU por coorte, segmentado pela semana de instalação, mostrava se o aumento era real ou apenas uma oscilação de um dia. O ARPDAU dos usuários retidos no dia 7, uma métrica composta pouco atraente, revelava se estávamos antecipando a receita da semana seguinte.
Cada mudança precisava ser validada contra uma coorte de controle, com 10% das novas instalações, por pelo menos sete dias. O grupo de controle é inegociável. Sem ele, não dá para separar o efeito da alteração nos preços mínimos de um efeito sazonal ou de uma campanha da Meta que, por acaso, começou na mesma terça-feira.
A retrospectiva: um ajuste que saiu pela culatra
Também testamos um quarto ajuste na segunda semana: timeouts agressivos para os participantes do leilão, reduzidos de 900 ms para 600 ms. A teoria fazia sentido — leilões mais rápidos, mais impressões por sessão. Na prática, definimos um limite abaixo do p95 de tempo de resposta de dois participantes que pagavam bem e perdemos 11% do eCPM de anúncios recompensados em três dias.
A solução foi usar timeouts por participante em vez de um limite global — mantivemos o teto de 600 ms para os mais rápidos e aumentamos para 1.100 ms nos dois mais lentos, mas valiosos. O ARPDAU se recuperou em 48 horas. A lição: um único ajuste aplicado globalmente quase sempre prejudica alguma coisa. Versões do mesmo ajuste por segmento quase sempre funcionam.
O que não fez diferença
- Adicionar uma sétima rede de anúncios — os retornos decrescentes apareceram rapidamente
- Usar header bidding em unidades de anúncios nativos — o custo adicional do leilão anulou o ganho
- Aplicar limites agressivos de frequência abaixo de 3 anúncios por sessão — o efeito sobre a recuperação da retenção no dia 2 foi negativo
- Trocar de SDK de mediação — seis semanas de trabalho para uma variação de 2%, o que não compensa para a maioria das equipes
As equipes que dobraram o ROAS não eram as que tinham mais redes de anúncios. Eram as que sabiam, hora a hora, quanto seus usuários valiam.
O que fazer agora
Se você só puder fazer uma coisa neste trimestre, implemente a medição de impressões por DAU no nível de coorte e conecte essa métrica a uma matriz de preços mínimos controlada por configuração remota. O terceiro ajuste — limitar a waterfall — leva duas horas de trabalho e se paga só com a redução da latência. O quarto — timeouts por participante do leilão — é a diferença entre um aumento de 40% e um de 100%, e agora o implementamos por padrão em toda nova conta do Apps Kit SDK.


