Skip to content

fix(growth): filtro de plataforma agora afeta investimento em Orçado x Realizado#112

Open
Viniciusichino wants to merge 1 commit intomainfrom
fix/orcado-realizado-filtro-plataforma
Open

fix(growth): filtro de plataforma agora afeta investimento em Orçado x Realizado#112
Viniciusichino wants to merge 1 commit intomainfrom
fix/orcado-realizado-filtro-plataforma

Conversation

@Viniciusichino
Copy link
Copy Markdown
Collaborator

Problema

Na aba Growth → Orçado x Realizado, os filtros de plataforma (Meta Ads, Google Ads, ...) eram enviados pelo frontend mas o backend só os aplicava ao filtro de leads/MQLs do Bitrix. As queries de gasto Meta Ads e Google Ads ignoravam o filtro completamente, então:

  • Selecionar "Meta Ads" → card de Investimento continuava somando o gasto Google Ads.
  • Selecionar "Google Ads" → idem com gasto Meta.
  • Os endpoints "aprofundados" /meta-ads e /google-ads também não recebiam o filtro.

Mudança

Backend — server/routes/growth.ts

  • /api/growth/orcado-realizado/ads: parseia utmSource no topo do handler em utmValues, e usa duas flags includeMeta / includeGoogle para gating. A query Meta só roda quando includeMeta=true; idem Google. Reusa utmValues no filtro de leads do Bitrix (DRY — removeu re-parse duplicado).
  • /api/growth/orcado-realizado/meta-ads: retorna response zerada quando utmSource exclui plataformas compatíveis com Meta (facebook, meta, instagram, ig, fb).
  • /api/growth/orcado-realizado/google-ads: retorna response zerada quando utmSource exclui Google ou quando há funilNgc (espelha a lógica de skip já existente em /ads — Google Ads não tem mapping campanha→funil).

Frontend — client/src/pages/GrowthOrcadoRealizado.tsx

  • metaAdsDetailData: adiciona selectedPlataformas ao queryKey e concatena ${utmSourceParam} à URL.
  • googleAdsDetailData: adiciona selectedProdutos + selectedPlataformas ao queryKey e concatena ${funilParam}${utmSourceParam} à URL.

Test plan

  • Selecionar plataforma "Meta Ads" → card Investimento mostra apenas gasto Meta (não soma Google)
  • Selecionar plataforma "Google Ads" → card Investimento mostra apenas gasto Google
  • Selecionar Meta + Google → soma de ambas (equivalente a "todos")
  • Funil "Leads" + plataforma "Meta Ads" → gasto Meta filtrado por campanhas com [Leads]
  • Funil "Leads" + plataforma "Google Ads" → gasto Google = 0 (limitação conhecida — Google sem mapping de funil)
  • Aba Aprofundado: cards Meta Ads / Google Ads detalhados respeitam o filtro de plataforma

Fora de escopo

  • O sync do Google Ads está quebrado ([google-ads-sync] Fatal error: Google Ads credentials not fully configured) — último dia com dados é 16/nov/2025. Será tratado em branch separada.
  • Mapping campanha→funil para Google Ads (requer convenção de naming ou nova tabela).

🤖 Generated with Claude Code

… Realizado

O filtro de plataforma na aba Orçado x Realizado era enviado pelo frontend
mas o backend só o aplicava ao filtro de leads/MQLs do Bitrix, ignorando-o
nas queries de gasto Meta Ads e Google Ads. O resultado é que selecionar
"Meta Ads" ou "Google Ads" no filtro alterava só leads, mas o card de
Investimento continuava somando ambas as plataformas.

- /api/growth/orcado-realizado/ads: parsea utmSource no topo do handler e
  pula a query Meta quando includeMeta=false; idem para Google. O filtro
  de utmSource para leads passa a reusar o mesmo utmValues parseado.
- /api/growth/orcado-realizado/meta-ads: retorna zeros quando utmSource
  não inclui plataformas compatíveis com Meta.
- /api/growth/orcado-realizado/google-ads: retorna zeros quando utmSource
  exclui Google ou quando há filtro de funil (Google não tem mapping
  campanha→funil; espelha o comportamento existente em /ads).
- GrowthOrcadoRealizado.tsx: passa utmSourceParam (e funilParam para
  google-ads) e adiciona selectedPlataformas aos queryKeys das queries
  detalhadas por plataforma.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant