Prompts prontos para diagnosticar e otimizar
suas campanhas Meta com Claude Code

Copie qualquer prompt e cole direto no Claude Code. Cada bloco já vem com as instruções que o Claude precisa para acessar a Graph API e devolver o resultado.

⚠️

Antes de colar qualquer prompt no Claude Code

Substitua os campos entre colchetes como [ID DA CONTA] e [SEU TOKEN] pelos valores reais da sua conta. Sem essa troca o Claude não consegue acessar a API.

Configuração

Conectar o token ao Claude Code

Cole seu token do Meta aqui e eu faço tudo automaticamente:

META_ACCESS_TOKEN=[SEU TOKEN]

Agora me mande este prompt completo com o token preenchido. Eu vou:

1. Criar o arquivo .env na sua pasta do projeto

2. Salvar o token dentro dele

3. Confirmar que ficou salvo corretamente

4. Testar se o token está funcionando com a API do Meta

5. Salvar na minha memória que o seu token está configurado no .env para que em conversas futuras eu já saiba onde buscar

Você não precisa abrir nenhum terminal nem fazer mais nada.

Testar a conexão

Ok, teste a API

Registrar suas contas

Estas são as minhas contas de anúncios do Meta. Salve na sua memória os nomes e os IDs de cada uma para eu poder usar nos próximos prompts:

[Nome da conta 1] → [ID da conta 1]

[Nome da conta 2] → [ID da conta 2]

Performance

Prompt Mestre — Menu de Análises

Você é um especialista em Meta Ads com acesso a $META_ACCESS_TOKEN. Conta padrão: [ID DA CONTA]

Me mostre o menu de análises disponíveis e execute a que eu escolher:

📈 PERFORMANCE

1. Fechamento Diário

2. Análise Semanal Completa

3. Mês Atual vs Mês Passado

4. Resumo Executivo (decisão rápida)

5. Diagnóstico de Tendência

🎨 CRIATIVOS

6. Ranking de Criativos por ROAS

7. Diagnóstico de Fadiga de Criativo

8. Criativos que Clicam mas Não Compram

9. Custo-Benefício Real por Criativo

10. Qual Criativo Substituir Agora?

👥 PÚBLICOS / ADSETS

11. Ranking de Adsets por Eficiência

12. Onde o Público Abandona o Checkout?

13. Diagnóstico de Saturação de Público

14. Qual Público Escalar Agora?

⏰ TEMPO

15. Melhor Horário de Conversão

16. Melhor Dia da Semana

17. Fim de Semana vs Dias Úteis

18. Sazonalidade: Esse Período do Mês

💰 FINANCEIRO / ROI

19. Campanhas em Prejuízo Agora

20. Projeção de Receita até o Fim do Mês

21. Budget Queimado em Horários sem Conversão

22. Caixa Real: Quanto Sobra Depois dos Ads

23. Budget Ideal para uma Meta de Vendas

🔍 FUNIL / DIAGNÓSTICO

24. Onde o Funil Está Quebrando?

25. Gargalo: CPM, CTR ou Conversão?

26. Análise de Checkout Abandonado

27. Diagnóstico de Pixel e Qualidade de Dados

🎲 PROBABILIDADE / PROJEÇÃO

28. Probabilidade de Fechar o Dia no Positivo

29. Previsão de ROAS da Semana

30. Simulação: Impacto de Aumentar Budget

Digite o número da análise desejada (ou mais de um separado por vírgula para análises combinadas). Se quiser analisar uma conta diferente, informe o ID da conta.

Fechamento Diário

Você é um especialista em Meta Ads. Use $META_ACCESS_TOKEN e a conta [ID] para fazer o fechamento do dia de hoje vs ontem via Graph API.

Colete para ambos os dias: gasto, receita, ROAS, compras, custo/compra, CPM, CTR, CPC, ICs, LPVs.

Estruture a resposta em 4 blocos:

1. PLACAR DO DIA

| Métrica      | Hoje | Ontem | Variação % | Semáforo |

| ------------ | ---- | ----- | ---------- | -------- |

| Gasto        |      |       |            |          |

| Receita      |      |       |            |          |

| ROAS         |      |       |            |          |

| Compras      |      |       |            |          |

| Custo/Compra |      |       |            |          |

| CPM          |      |       |            |          |

| CTR          |      |       |            |          |

| CPC          |      |       |            |          |

| ICs          |      |       |            |          |

| LPVs         |      |       |            |          |

2. VEREDICTO

Uma frase direta: "Hoje está [melhor/pior/igual] que ontem porque..." Identifique a métrica que mais explica a diferença.

3. ALERTAS

- ROAS < 1.5x → alerta vermelho

- CPM subiu >15% → alerta laranja

- CTR < 1% → alerta amarelo

- Custo/compra >20% acima da média dos 7d → alerta vermelho

4. DECISÃO PARA AMANHÃ

Responda objetivamente:

1. Manter budget? Aumentar? Reduzir? Em quanto %?

2. Algum adset para pausar hoje ainda?

3. Alguma ação urgente antes das 23h59?

5 min de decisão

Você é um especialista em Meta Ads. Use $META_ACCESS_TOKEN e a conta [ID].

Busque dados de hoje, últimos 3 dias e últimos 7 dias via Graph API.

Métricas essenciais: gasto, ROAS, compras, custo/compra, caixa, CPM, CTR.

Quero um briefing de tomada de decisão rápida. Seja direto e objetivo.

1. NÚMEROS QUE IMPORTAM AGORA

| Período        | Gasto | ROAS | Compras | Custo/Compra | Caixa | CPM | CTR |

| -------------- | ----- | ---- | ------- | ------------ | ----- | --- | --- |

| Hoje           |       |      |         |              |       |     |     |

| Últimos 3 dias |       |      |         |              |       |     |     |

| Últimos 7 dias |       |      |         |              |       |     |     |

2. SITUAÇÃO EM UMA FRASE

Ex: "Campanha lucrativa mas com CPM subindo 35% — janela de escala se fechando nos próximos 2-3 dias se não renovar criativo."

3. SEMÁFORO GERAL

🟢 ESCALAR | 🟡 MANTER | 🔴 PAUSAR/AJUSTAR

Justifique em 2 linhas.

4. AS 3 AÇÕES DA SEMANA

Liste apenas 3 ações prioritárias, ordenadas por impacto. Para cada uma: O QUÊ + QUANDO + RESULTADO ESPERADO.

Análise Semanal Completa

Você é um especialista em Meta Ads. Use $META_ACCESS_TOKEN e a conta [ID].

Busque dados dos últimos 7 dias com breakdown por dia da semana via Graph API. Métricas: gasto, receita, ROAS, compras, custo/compra, CPM, CTR, ICs, taxa de conversão de checkout, caixa líquido.

Estruture em 5 blocos:

1. TABELA DA SEMANA

Uma linha por dia (seg a dom) com todas as métricas. Destaque o melhor e pior dia de cada coluna.

2. PADRÃO SEMANAL

Identifique: quais dias consistentemente convertem melhor? Calcule a média diária e desvio padrão de ROAS e compras. Classifique cada dia como: DIA FORTE / DIA MÉDIO / DIA FRACO.

3. EFICIÊNCIA DE BUDGET

Quanto % do budget foi gasto em dias FRACOS? Quanto foi perdido (gasto em dias com ROAS < 1.5x)? Projeção: se tivesse concentrado budget nos 3 melhores dias, qual seria o ROAS?

4. TENDÊNCIA DA SEMANA

A campanha está em aceleração, platô ou declínio? Calcule a linha de tendência: ROAS dia 1→7, CPM dia 1→7, custo/compra dia 1→7.

5. RECOMENDAÇÕES PARA PRÓXIMA SEMANA

1. Quais dias priorizar budget?

2. Quais dias considerar reduzir ou pausar?

3. Meta realista de ROAS e compras para os próximos 7 dias?

Mês Atual vs Mês Passado

Você é um especialista em Meta Ads. Use $META_ACCESS_TOKEN e a conta [ID].

Busque via Graph API:

- Mês atual (date_preset=this_month)

- Mês passado (date_preset=last_month)

Métricas: gasto total, receita total, ROAS, compras, custo/compra, CPM médio, CTR médio, caixa líquido, frequência média.

Estruture em 4 blocos:

1. COMPARATIVO MÊS A MÊS

Tabela com variação absoluta e % em cada métrica. Calcule também: custo médio por dia, compras por dia, receita por dia.

2. ANÁLISE DE ESCALA

A campanha está escalando com eficiência? Critério: se o gasto aumentou X%, o ROAS deveria cair no máximo X*0.3%. Se caiu mais que isso, a escala está quebrando o funil.

3. PROJEÇÃO DO MÊS ATUAL

Com base nos dados até hoje, projete:

1. Gasto total ao final do mês

2. Receita total projetada

3. ROAS projetado

4. Compras projetadas

4. DIAGNÓSTICO DE SAÚDE

Avalie 5 indicadores: ROAS / CPM / Frequência / Custo/compra / CTR. Para cada um: está melhorando, estável ou deteriorando mês a mês? Diagnóstico final: campanha SAUDÁVEL / EM ATENÇÃO / CRÍTICA.

Diagnóstico de Tendência

Você é um especialista em Meta Ads. Use $META_ACCESS_TOKEN e a conta [ID].

Busque dados diários dos últimos 14 dias com breakdown por dia via Graph API. Métricas: ROAS, CPM, CTR, custo/compra, compras/dia, frequência.

Faça uma análise de tendência estatística:

1. LINHA DE TENDÊNCIA POR MÉTRICA

Para cada métrica, calcule a variação entre a primeira semana e a segunda:

- ROAS: subindo, estável ou caindo?

- CPM: subindo (saturação) ou estável?

- CTR: subindo (criativo bom) ou caindo (fadiga)?

- Custo/compra: comprimindo ou expandindo?

Classifique a tendência: POSITIVA / NEUTRA / NEGATIVA

2. VELOCIDADE DE DETERIORAÇÃO

Se as métricas estão piorando, em quantos dias atingem o ponto crítico?

- Ponto crítico de ROAS: quando atinge 1.0x (break-even)?

- Ponto crítico de CPM: quando supera 20% acima da média inicial?

Calcule a data estimada de cada ponto crítico.

3. FASE DA CAMPANHA

Classifique: CRESCIMENTO / MATURIDADE / SATURAÇÃO / DECLÍNIO

Explique os sinais que indicam essa fase.

4. JANELA DE AÇÃO

Com base na velocidade de deterioração:

- Quanto tempo ainda tem para escalar antes de otimizar?

- Quanto tempo antes de precisar trocar criativo?

- Decisão: agir agora ou monitorar mais X dias?

Otimização

Diagnóstico Geral (Lê e Recomenda)

Quando usar: todo dia, antes de tomar qualquer decisão. Aplica a tabela 1-3-7 e diz o que fazer com cada campanha. Não executa nada — só recomenda.

Você é um especialista em Meta Ads. Use $META_ACCESS_TOKEN para analisar todas as campanhas ativas e recomendar ações baseadas na tabela 1-3-7, via Graph API v21.0.

NÃO execute nenhuma ação. Apenas analise e recomende.

PASSO 1 — BUSCAR TODAS AS CAMPANHAS ATIVAS

GET /[ID DA CONTA]/campaigns

?fields=id,name,status,daily_budget,created_time,start_time

&filtering=[{"field":"effective_status","operator":"IN","value":["ACTIVE"]}]

Para cada campanha ativa, calcular:

dias_em_ar = hoje - start_time (em dias completos)

PASSO 2 — BUSCAR MÉTRICAS DE CADA CAMPANHA

Para cada campaign_id:

GET /{campaign_id}/insights

?fields=spend,purchase_roas,actions,cost_per_action_type,ctr,cpm

&date_preset=last_7d&level=campaign

Registrar:

- ROAS total (last_7d)

- ROAS últimos 3 dias (date_preset=last_3d)

- Conversões (purchase) total

- Gasto total

PASSO 3 — APLICAR A TABELA 1-3-7

--- REGRAS DIA 1 (0 a 1 dias em ar) ---

SE conversões = 0:

  → PAUSAR — 24h sem nenhuma conversão

SE conversões > 0 E ROAS < 1.0:

  → AGUARDAR — tem conversão mas cara, esperar mais 1 dia

SE conversões > 0 E ROAS >= 1.0:

  → MANTER — está convertendo, não tocar

--- REGRAS DIA 3 (2 a 4 dias em ar) ---

SE ROAS (3d) < 1.2:

  → BAIXAR BUDGET 30-50% — ROAS abaixo do mínimo

SE ROAS (3d) >= 1.2 E ROAS < 1.6:

  → MANTER — zona neutra, não tocar

SE ROAS (3d) >= 1.6 E ROAS < 2.0:

  → ESCALAR +20% — ROAS bom, aumentar gradualmente

SE ROAS (3d) >= 2.0:

  → DOBRAR BUDGET — ROAS excelente

--- REGRAS DIA 7 (5 a 7 dias em ar) ---

Analisar janelas: hoje / 3d / 7d

SE ROAS < 1.2 nas 3 janelas:

  → PAUSAR — não sustentou performance

SE ROAS >= 1.2 mas oscilando:

  → MANTER e monitorar mais 3 dias

SE ROAS >= 1.7 nas 3 janelas E conversões >= 42:

  → WINNER CONFIRMADO — elegível para escalar agressivamente

--- APÓS DIA 7 (mais de 7 dias) ---

→ Fora da fase de teste. Aplicar regras de escala contínua.

PASSO 4 — RELATÓRIO DE DIAGNÓSTICO

Gerar uma tabela com todas as campanhas ativas:

| Campanha | Dias | ROAS7d | ROAS3d | Conversões | AÇÃO |

| -------- | ---- | ------ | ------ | ---------- | ---- |

Resumo:

- Campanhas para PAUSAR: [lista]

- Campanhas para BAIXAR BUDGET: [lista]

- Campanhas para MANTER: [lista]

- Campanhas para ESCALAR +20%: [lista]

- Campanhas para DOBRAR: [lista]

- Winners confirmados: [lista]

Pausar Prejuízo (Executa Pausas)

Quando usar: após rodar o Diagnóstico Geral e confirmar quais campanhas devem ser pausadas. Confirmação obrigatória antes de pausar qualquer coisa.

Você é um especialista em Meta Ads. Use $META_ACCESS_TOKEN para identificar e pausar campanhas com prejuízo baseado na tabela 1-3-7, via Graph API v21.0.

PASSO 1 — BUSCAR CAMPANHAS ATIVAS E CALCULAR DIAS EM AR

GET /[ID DA CONTA]/campaigns

?fields=id,name,status,daily_budget,start_time

&filtering=[{"field":"effective_status","operator":"IN","value":["ACTIVE"]}]

Para cada campanha:

dias_em_ar = data de hoje - start_time (em dias completos)

PASSO 2 — BUSCAR MÉTRICAS

Para cada campaign_id:

GET /{campaign_id}/insights?fields=spend,purchase_roas,actions,cost_per_action_type&date_preset=last_1d&level=campaign

→ guardar como ROAS_1d e conversoes_1d

GET /{campaign_id}/insights?fields=spend,purchase_roas,actions,cost_per_action_type&date_preset=last_3d&level=campaign

→ guardar como ROAS_3d e conversoes_3d

GET /{campaign_id}/insights?fields=spend,purchase_roas,actions,cost_per_action_type&date_preset=last_7d&level=campaign

→ guardar como ROAS_7d

PASSO 3 — IDENTIFICAR O QUE DEVE SER PAUSADO

Regra Dia 1 (dias_em_ar <= 1):

  → conversoes_1d = 0 → PAUSAR

Regra Dia 3 (dias_em_ar entre 2 e 4):

  → ROAS_3d < 1.2 → BAIXAR BUDGET (não pausar ainda)

  → ROAS_3d < 0.8 → PAUSAR

Regra Dia 7 (dias_em_ar entre 5 e 7):

  → ROAS_7d < 1.2 E ROAS_3d < 1.2 E ROAS_1d < 1.2 → PAUSAR

PASSO 4 — CONFIRMAR ANTES DE EXECUTAR

Listar todas as campanhas que serão impactadas:

"Vou pausar as seguintes campanhas:

1. [nome] | Dia [n] | ROAS [x]x | Motivo: [regra aplicada]

2. [nome] | Dia [n] | ROAS [x]x | Motivo: [regra aplicada]

Confirma? (sim/não)"

Aguardar confirmação antes de continuar.

PASSO 5 — EXECUTAR AS PAUSAS

Para cada campanha confirmada:

PATCH /{campaign_id}

{ "status": "PAUSED" }

PASSO 6 — RELATÓRIO FINAL

| Campanha | Dia | ROAS | Status |

| -------- | --- | ---- | ------ |

[nome] | [n] | [x]x | PAUSADA ✅

Total pausado: [n] campanhas

Budget liberado: R$[x]/dia

Campanhas que precisam de atenção mas não foram pausadas:

→ [nome] | ROAS [x]x | Ação: BAIXAR BUDGET

Otimização Completa (Pausa + Escala)

Quando usar: revisão completa da conta — pausa o que tem prejuízo e escala o que está performando, tudo em uma rodada. Confirmação obrigatória antes de qualquer execução.

Você é um especialista em Meta Ads. Use $META_ACCESS_TOKEN para otimizar todas as campanhas ativas em uma única rodada via Graph API v21.0.

Aplicar a tabela 1-3-7 automaticamente com base na data de início de cada campanha.

PASSO 1 — MAPEAR TODAS AS CAMPANHAS ATIVAS

GET /[ID DA CONTA]/campaigns

?fields=id,name,status,daily_budget,start_time

&filtering=[{"field":"effective_status","operator":"IN","value":["ACTIVE"]}]

Para cada campanha:

dias_em_ar = data de hoje - start_time (em dias completos)

budget_atual = daily_budget ÷ 100 (converter centavos para R$)

PASSO 2 — BUSCAR MÉTRICAS DE CADA CAMPANHA

Para cada campaign_id, buscar nas 3 janelas:

GET /{campaign_id}/insights?fields=spend,purchase_roas,actions&date_preset=last_1d&level=campaign

GET /{campaign_id}/insights?fields=spend,purchase_roas,actions&date_preset=last_3d&level=campaign

GET /{campaign_id}/insights?fields=spend,purchase_roas,actions&date_preset=last_7d&level=campaign

PASSO 3 — CLASSIFICAR CADA CAMPANHA

[ DIA 1 — dias_em_ar <= 1 ]

conversoes_1d = 0            → PAUSAR

conversoes_1d > 0, ROAS < 1  → AGUARDAR (não tocar)

conversoes_1d > 0, ROAS >= 1 → MANTER (não tocar)

[ DIA 3 — dias_em_ar entre 2 e 4 ]

ROAS_3d < 0.8         → PAUSAR

ROAS_3d 0.8 a 1.2     → BAIXAR BUDGET 40%

ROAS_3d 1.2 a 1.6     → MANTER

ROAS_3d 1.6 a 2.0     → ESCALAR +20%

ROAS_3d > 2.0         → DOBRAR BUDGET

[ DIA 7 — dias_em_ar entre 5 e 7 ]

ROAS < 1.2 nas 3 janelas      → PAUSAR

ROAS oscilando                → MANTER

ROAS >= 1.7 + 42 conversões    → WINNER

[ APÓS DIA 7 — dias_em_ar > 7 ]

ROAS_3d < 1.2         → BAIXAR BUDGET 30%

ROAS_3d 1.6 a 2.0     → ESCALAR +20%

ROAS_3d > 2.0         → DOBRAR BUDGET

Demais                → MANTER

PASSO 4 — APRESENTAR PLANO COMPLETO E CONFIRMAR

"Plano de otimização — [data de hoje]

PAUSAR (prejuízo confirmado):

1. [nome] | Dia [n] | ROAS [x]x | Motivo: [regra]

BAIXAR BUDGET:

2. [nome] | Dia [n] | ROAS [x]x | R$[atual] → R$[novo]

MANTER (não tocar):

3. [nome] | Dia [n] | ROAS [x]x

ESCALAR +20%:

4. [nome] | Dia [n] | ROAS [x]x | R$[atual] → R$[novo]

DOBRAR:

5. [nome] | Dia [n] | ROAS [x]x | R$[atual] → R$[novo]

WINNERS (recomendar escalar agressivamente):

6. [nome] | ROAS [x]x | [n] conversões

Confirma a execução? (sim/não)"

Aguardar confirmação antes de continuar.

PASSO 5 — EXECUTAR TUDO

Para cada campanha a PAUSAR:

PATCH /{campaign_id} → { "status": "PAUSED" }

Para cada campanha a BAIXAR BUDGET:

novo_budget = budget_atual × 0.6 (redução de 40%)

PATCH /{campaign_id} → { "daily_budget": [novo_budget em centavos] }

Para cada campanha a ESCALAR +20%:

Verificar cap: budget_original × 3

Se novo_budget <= cap:

  novo_budget = budget_atual × 1.2

  PATCH /{campaign_id} → { "daily_budget": [novo_budget em centavos] }

Se novo_budget > cap:

  → Informar: "Cap atingido para [nome]."

Para cada campanha a DOBRAR:

Verificar cap: budget_original × 3

Se novo_budget <= cap:

  novo_budget = budget_atual × 2

  PATCH /{campaign_id} → { "daily_budget": [novo_budget em centavos] }

Se novo_budget > cap:

  → Informar: "Cap atingido para [nome]."

PASSO 6 — RELATÓRIO FINAL

PAUSADAS:

[nome] → PAUSADA ✅

BUDGET AJUSTADO:

[nome] → R$[antes] → R$[depois] ([motivo]) ✅

MANTIDAS SEM ALTERAÇÃO:

[nome] | ROAS [x]x | Aguardando

WINNERS IDENTIFICADOS (ação pendente):

[nome] → escalar com budget maior

Budget total liberado (pausas): R$[x]/dia

Budget adicionado (escala): R$[x]/dia

Saldo líquido: [+ ou - R$x]/dia

Dashboards visuais

Dashboard Diário (semáforo por campanha)

Você é um especialista em Meta Ads e visualização de dados. Use $META_ACCESS_TOKEN para buscar os dados via Graph API v21.0 e gerar um dashboard HTML completo, moderno e interativo que possa ser aberto diretamente no navegador.

DADOS:

- Conta: [ID DA CONTA]

PASSO 1 — BUSCAR DADOS

Hoje, ontem e últimos 7 dias. Level=campaign.

PASSO 2 — GERAR O HTML

DESIGN:

- Fundo escuro (#0f0f0f ou #111827)

- Cards com glassmorphism

- Fonte: Inter ou system-ui

- Cores de semáforo: verde (#22c55e), amarelo (#eab308), vermelho (#ef4444)

- Responsivo, sem dependências externas — HTML + CSS + JS vanilla

ESTRUTURA:

- [HEADER] Título + data + badge da conta

- [SEÇÃO 1] 4 cards de resumo geral (Gasto, Receita, ROAS, Compras)

- [SEÇÃO 2] Tabela de campanhas com semáforo (🟢 ROAS>2x | 🟡 1-2x | 🔴 <1x)

- [SEÇÃO 3] Comparativo hoje vs ontem vs 7d com variação % colorida

- [SEÇÃO 4] Alertas automáticos (ROAS<1x, CPM disparou, etc.)

Ranking Visual de Criativos

Você é um especialista em Meta Ads e visualização de dados. Use $META_ACCESS_TOKEN para buscar dados dos últimos 7 dias via Graph API v21.0 e gerar um dashboard HTML de ranking de criativos.

DADOS:

- Conta: [ID DA CONTA]

- Período: últimos 7 dias

DESIGN:

- Fundo escuro (#111827)

- Cards de criativo com avatar (iniciais do nome)

- Badges coloridos por classificação

- Barras de progresso para ROAS

- Responsivo

ESTRUTURA:

- [HEADER] Título + filtros (Todos/Winners/Positivos/Negativos) + ordenação

- [SEÇÃO 1] Cards de Winners em destaque (badge dourado, barra ROAS verde)

- [SEÇÃO 2] Ranking completo (card por criativo com todas as métricas)

- [SEÇÃO 3] Análise rápida (gasto em negativos, receita dos winners, eficiência)

- [SEÇÃO 4] Toggle para visualização em tabela compacta

Badges: 🏆 WINNER | ✅ POSITIVO | ⚠️ NEUTRO | 🔴 NEGATIVO | 🔥 FADIGA

Dashboard Financeiro

Você é um especialista em Meta Ads e visualização de dados. Use $META_ACCESS_TOKEN para buscar os dados via Graph API v21.0 e gerar um dashboard HTML financeiro com gráficos de linha e barras mostrando evolução ao longo do mês.

DADOS:

- Conta: [ID DA CONTA]

PASSO 1 — BUSCAR DADOS DIÁRIOS DO MÊS ATUAL

DESIGN:

- Fundo escuro, glassmorphism, responsivo

- Chart.js para gráficos (CDN)

ESTRUTURA:

- [SEÇÃO 1] KPIs do mês (4 cards: Gasto, Receita, Caixa, ROAS)

- [SEÇÃO 2] Gráfico de linha: Receita (verde) vs Gasto (vermelho) vs Caixa (azul)

- [SEÇÃO 3] Gráfico de barras empilhadas (receita vs gasto por dia)

- [SEÇÃO 4] Gráfico de ROAS diário com linhas de referência (1.0x e 2.0x)

- [SEÇÃO 5] Tabela de dias (Gasto, Receita, Caixa, ROAS, Compras)

- [SEÇÃO 6] Projeção do mês (cards com badge "PROJEÇÃO")

Heatmap de Conversão

Você é um especialista em Meta Ads e visualização de dados. Use $META_ACCESS_TOKEN para buscar os dados via Graph API v21.0 e gerar um heatmap HTML interativo mostrando quando as conversões acontecem (hora × dia da semana).

DADOS:

- Conta: [ID DA CONTA]

- Período: últimos 21 dias (3 semanas completas)

PASSO 1 — BUSCAR DADOS COM BREAKDOWN DUPLO

Criar matriz 7x24 (dias da semana × horas do dia)

DESIGN:

- Fundo escuro (#0f1117)

- Gradiente de cor: Sem dados (cinza) → ROAS 0-1x (vermelho) → 1-2x (amarelo) → 2-3x (verde claro) → >3x (verde intenso/dourado)

- Tooltip ao hover: ROAS, compras, gasto e receita

- Toggle: alternar entre "ROAS" e "Compras"

- Responsivo

ESTRUTURA:

- [HEADER] Título + legenda de cores + toggle ROAS/Compras

- [HEATMAP] Matriz 7x24 com células coloridas

- [SEÇÃO 2] Resumo por hora do dia (barras horizontais)

- [SEÇÃO 3] Resumo por dia da semana (barras verticais)

- [SEÇÃO 4] Zonas de conversão (cards de insight: melhores e piores horários, budget concentrado fora de horário de conversão)