Dados distribuídos em plataformas diferentes
Investimento, leads, clientes e acessos ficam espalhados em sistemas com granularidades e chaves distintas. Sem documentação, cada análise vira esforço manual.
Case técnico · Marketing Analytics · SQL · BI
Um case de dados simulando o desafio de consolidar investimentos de mídia, leads, clientes e acessos de páginas em uma camada analítica capaz de apoiar decisões diárias de aquisição.
Empresas com Google Ads, Meta Ads, TikTok Ads, CRM, landing pages e clientes convertidos precisam de uma visão consolidada para decidir onde investir, onde cortar orçamento e como interpretar gargalos de conversão.
CONTEXT · 01Investimento, leads, clientes e acessos ficam espalhados em sistemas com granularidades e chaves distintas. Sem documentação, cada análise vira esforço manual.
Consolidar uma leitura por data, campanha e plataforma, calculando leads, clientes, CPL, CAC e taxa de conversão para apoiar decisões de Growth.
O case evolui da documentação do Data Mart para queries SQL e, por fim, para uma visualização consumível pela operação de mídia.
Antes de criar o dashboard, a estrutura precisa estar clara. O levantamento das tabelas, colunas, origens e relacionamentos reduz ambiguidade e melhora a manutenção das análises.
MODEL · 02As consultas demonstram como responder solicitações pontuais e construir uma base agregada para acompanhamento de campanhas. O foco está na clareza da regra e na capacidade de transformar tabelas dispersas em leitura operacional.
QUERY · 03SELECT
c.nome_completo AS "Nome Completo",
c.email AS "E-mail"
FROM clientes c
LEFT JOIN leads_salesforce l
ON c.id_lead_conversao = l.id
WHERE
l.data_conversao = '2025-03-14'
AND l.origem = 'Campanha Google'
ORDER BY l.data_conversao;
SELECT
l.data_criacao AS "Data de criação do Lead",
l.url_landing_page AS "Página",
COUNT(DISTINCT l.id) AS "Quantidade de Leads",
COUNT(DISTINCT c.id) AS "Quantidade de Clientes"
FROM leads_salesforce l
LEFT JOIN clientes c
ON c.id_lead_conversao = l.id
WHERE
l.data_criacao >= '2025-01-01'
GROUP BY
l.data_criacao,
l.url_landing_page
ORDER BY l.data_criacao;
WITH base_anuncios AS (
SELECT
data,
id_campanha,
campanha,
SUM(custo) AS custo,
'Meta' AS plataforma
FROM investimento_anuncio_meta_ads
WHERE EXTRACT(YEAR FROM data) = 2025
GROUP BY data, id_campanha, campanha
UNION ALL
SELECT
data,
id_campanha,
campanha,
SUM(custo) AS custo,
'Google' AS plataforma
FROM investimento_anuncio_google_ads
WHERE EXTRACT(YEAR FROM data) = 2025
GROUP BY data, id_campanha, campanha
UNION ALL
SELECT
data,
id_campanha,
campanha,
SUM(custo) AS custo,
'TikTok' AS plataforma
FROM investimento_anuncio_tiktok_ads
WHERE EXTRACT(YEAR FROM data) = 2025
GROUP BY data, id_campanha, campanha
),
leads_por_campanha_data AS (
SELECT
campanha_id,
DATE(data_criacao) AS data,
COUNT(*) AS quantidade_leads
FROM leads_salesforce
WHERE EXTRACT(YEAR FROM data_criacao) = 2025
GROUP BY campanha_id, data
),
clientes_por_campanha_data AS (
SELECT
l.campanha_id,
DATE(c.created_at) AS data,
COUNT(*) AS quantidade_clientes
FROM clientes c
JOIN leads_salesforce l
ON c.id_lead_conversao = l.id
WHERE EXTRACT(YEAR FROM c.created_at) = 2025
GROUP BY l.campanha_id, data
)
SELECT
a.data AS "Data",
a.id_campanha AS "ID da Campanha",
a.campanha AS "Nome da Campanha",
a.custo AS "Investimento (R$)",
a.plataforma AS "Plataforma",
COALESCE(lp.quantidade_leads, 0) AS "Quantidade de Leads",
COALESCE(cp.quantidade_clientes, 0) AS "Quantidade de Clientes",
ROUND(a.custo / NULLIF(lp.quantidade_leads, 0), 2) AS "CPL (R$)",
ROUND(a.custo / NULLIF(cp.quantidade_clientes, 0), 2) AS "CAC (R$)"
FROM base_anuncios a
LEFT JOIN leads_por_campanha_data lp
ON lp.campanha_id = a.id_campanha
AND lp.data = a.data
LEFT JOIN clientes_por_campanha_data cp
ON cp.campanha_id = a.id_campanha
AND cp.data = a.data
ORDER BY a.data, a.plataforma;
Com a base consolidada, a equipe consegue enxergar investimento, volume de leads, clientes, CPL e CAC por campanha e plataforma. A tabela abaixo resume o tipo de entrega que alimenta a análise gráfica.
OUTPUT · 04| Data | Campanha | Plataforma | Investimento | Leads | Clientes | CPL | CAC |
|---|---|---|---|---|---|---|---|
| 2025-01-05 | Impulsione com IA | R$ 842,50 | 34 | 21 | R$ 24,78 | R$ 40,12 | |
| 2025-01-07 | Volta às Aulas Tech | Meta | R$ 732,00 | 28 | 19 | R$ 26,14 | R$ 38,53 |
| 2025-01-09 | Desafio Digital 7 Dias | TikTok | R$ 495,30 | 41 | 25 | R$ 12,08 | R$ 19,81 |
| 2025-01-12 | Semana da Inovação | R$ 1.083,20 | 46 | 31 | R$ 23,55 | R$ 34,94 | |
| 2025-01-14 | Black Friday Educa | Meta | R$ 1.350,90 | 50 | 37 | R$ 27,02 | R$ 36,51 |
A visualização transforma a consulta em rotina de gestão: leitura diária de clientes, leads, taxa de conversão, CPL e CAC, com filtros por plataforma e campanha.
BI · 05Para resolver o desafio desenvolvi o caminho completo: documentação da estrutura, SQL para responder perguntas, consolidação de métricas e publicação de uma interface de acompanhamento.
IMPACT · 06Padronização da leitura de campanhas, evitando análises isoladas por plataforma.
Criação de uma base analítica capaz de cruzar custo, lead e cliente por data e campanha.
Inclusão de taxa de conversão como métrica complementar para não avaliar mídia apenas por custo.
Transformação da visualização em apoio para reuniões diárias da operação de mídia paga.
Uma boa visualização depende de documentação, chaves de relacionamento, regra de negócio e consultas bem estruturadas. Sem isso, o gráfico pode ficar bonito, mas frágil.
Projeto de portfólio
Este material posiciona o projeto como prova de capacidade em Marketing Analytics, SQL, BI e modelagem de dados, conectado à identidade visual e profissional do site.