Volver al Blog

Entendendo os limites da API do Meta Ads (e como superá-los)

Engenharia · · 6 min de leitura
Entendendo os limites da API do Meta Ads (e como superá-los)

É segunda-feira de manhã. Você abre o seu dashboard de relatórios no Google Sheets, clica em atualizar (refresh), vai pegar um café, volta — e dá de cara com um erro de “Query timed out” (Tempo limite da consulta esgotado).

Você não está sozinho. Essa é uma das frustrações mais comuns no marketing de performance, e acontece com agências de todos os tamanhos. Aqui está o motivo de isso continuar acontecendo e o que você pode realmente fazer a respeito.


A resposta curta: sua ferramenta está presa em uma fila

A maioria dos conectores de relatórios — o tipo que fica entre sua conta de Meta Ads e o seu Google Sheets — funciona enviando sua solicitação para um servidor central, que então a coloca em uma fila ao lado de milhares de outros usuários fazendo a mesma coisa, antes de finalmente encaminhá-la para a API do Meta.

Em uma tarde tranquila de quarta-feira, isso funciona muito bem. Na segunda-feira de manhã, quando todas as agências do mundo estão puxando seus relatórios semanais ao mesmo tempo, essa fila engarrafa rápido.

Quando o seu conector finalmente chega na vez de buscar os seus dados, o Google já “matou” o script por demorar demais. Você leva um timeout. Você clica em refresh. A fila fica ainda maior.

Isso é chamado de problema do Vizinho Barulhento (Noisy Neighbour) — o seu relatório falha não por causa de algo que você fez, mas porque a pessoa que compartilha o servidor do seu conector acabou de rodar uma query não otimizada de 12 meses em 200 contas de anúncios diferentes.


O Meta também não facilita

Por trás do problema da fila existe um segundo cenário, menos visível: a API do Meta é genuinamente rigorosa sobre a quantidade de dados que você pode puxar e a rapidez com que pode fazer isso.

O Meta não usa uma regra simples de “X requisições por minuto”. Ele rastreia uma pontuação contínua baseada na quantidade de tempo de CPU, tempo de processamento e memória que cada requisição consome. Uma query solicitando o investimento (spend) quebrado (breakdown) por criativo e por dia, em uma conta grande e com um longo intervalo de datas, não é apenas uma requisição — é uma operação computacionalmente cara que queima a sua cota da API rapidamente.

Atingiu o limite? Você é bloqueado por até uma hora. Sem dados, sem relatório, sem os números da segunda-feira de manhã.


Três coisas que você pode fazer agora mesmo

Você não precisa refazer toda a sua estrutura para obter relatórios mais confiáveis. Estas três mudanças ajudam imediatamente.

1. Pare de puxar dados históricos todos os dias

Se o seu relatório cobre os últimos 90 dias, você está puxando novamente 83 dias de dados que não mudaram. Puxe dados históricos uma vez, mantenha-os estáticos e configure seu refresh automatizado para buscar apenas os últimos 7 dias. Vá apenas adicionando (append) as novas linhas. Só isso já reduz drasticamente a maioria dos problemas de timeout.

2. Separe seus dados de performance dos seus metadados

Campos como Nome do Anúncio, Texto do Criativo (Creative Body) e Objetivo da Campanha não mudam diariamente — mas buscá-los adiciona um tempo de processamento significativo a cada refresh. Rode uma query diária mais leve e enxuta para os seus números (Investimento, Cliques, Conversões) e uma query semanal separada para os nomes e rótulos. Junte-os no Sheets usando um PROCV (ou VLOOKUP) baseado no ID do Anúncio.

3. Intercale as suas atualizações (staggering)

Se você tem 15 queries rodando simultaneamente às 8:00 da manhã, elas estão competindo entre si pelo limite de requisições da API. Intercalá-las, dando um espaçamento de 5 a 10 minutos entre cada uma, divide a carga e reduz drasticamente as falhas.


A solução mais profunda: pule a fila totalmente

As táticas acima ajudam, mas elas estão apenas contornando um problema arquitetônico fundamental. A verdadeira solução é se afastar de ferramentas legadas que dependem de filas congestionadas em servidores compartilhados. É exatamente por isso que a arquitetura da Metric Might é dividida em duas fases modernas:

1. Iteração em tempo real: Quando você está construindo ou editando seus relatórios, a Metric Might roda diretamente do front-end do seu navegador. Não há servidor intermediário. Você obtém feedback imediato, na velocidade da API, enquanto trabalha.

2. Automação isolada: E quanto àqueles refreshes agendados para a segunda-feira de manhã enquanto seu notebook está fechado? Em vez de colocar você em uma fila compartilhada, a Metric Might roda em uma infraestrutura serverless (sem servidor) moderna. Toda vez que seu relatório agendado é acionado, o sistema cria instantaneamente um processo isolado e dedicado apenas para os seus dados.

Sem filas compartilhadas. Sem “Vizinhos Barulhentos”. Sua solicitação recebe tratamento VIP toda santa vez, o que significa que o timeout de segunda-feira de manhã deixa de ser um problema com o qual você precisa se preocupar.


Resumo da ópera

Os timeouts nos relatórios não são aleatórios e não são culpa sua. Eles são o resultado previsível de ferramentas de relatórios construídas para uma era diferente, rodando em uma infraestrutura legada e compartilhada que nunca foi projetada para lidar com a demanda massiva de agências nos horários de pico.

A solução é em parte tática (queries mais inteligentes, refreshes intercalados) e em parte arquitetônica (usando ferramentas serverless modernas). Comece com as táticas esta semana. E quando estiver pronto para parar de apenas contornar o problema e resolvê-lo de vez, vale a pena dar uma olhada na Metric Might.

Deja de esperar a que carguen tus datos.

Metric Might se ejecuta directamente en tu navegador. Sin tiempos de espera en el servidor ni penalizaciones por cuenta. Solo tus datos de marketing en Google Sheets, al instante.