UTMs (parâmetros de URL como utm_source, utm_medium, utm_campaign) são a forma padrão da indústria pra rastrear de onde vem cada lead. O Syncro captura UTMs automaticamente em widgets de chatbot, formulários e botões WhatsApp, e gera o relatório UTM em /campanhas agregando por origem. Esse artigo cobre como funciona — e o que não existe (não há integração nativa com Meta Ads / Google Ads).
Pré-requisitos
- Permissão admin, manager ou viewer (todos veem; admin/manager veem tudo, viewer só seus leads).
- Leads com UTMs preenchidos — capturados via widgets/botões/formulários.
O que é UTM
UTM = Urchin Tracking Module — parâmetros de URL que tracking systems usam pra atribuir leads a origens.
Os 5 padrões:
| Parâmetro | Função | Exemplo |
|---|---|---|
utm_source |
De onde veio | instagram, google, email, meta-ads |
utm_medium |
Tipo de mídia | cpc (paid), social, email, organic |
utm_campaign |
Campanha específica | blackfriday26, lancamento-curso |
utm_term |
Palavra-chave (paid search) | crm-vendas |
utm_content |
Variação do anúncio | banner-azul, video-30s |
URLs com UTMs:
https://meusite.com/?utm_source=instagram&utm_medium=social&utm_campaign=blackfriday
https://meusite.com/?utm_source=google&utm_medium=cpc&utm_campaign=keyword-crm&utm_term=crm-vendas
Como o Syncro captura UTMs
Sistema captura automaticamente em:
1. Widget chatbot do site
Cliente entra no site com UTMs na URL → widget JS captura window.location.search → manda junto com a primeira mensagem → lead criado com UTMs preenchidos.
2. Botão WhatsApp do site
Cliente clica → widget captura UTMs (com persistência localStorage 30d — last-touch attribution) → redirect pro WhatsApp → quando cliente manda msg, lead criado.
3. Formulários
Form do Syncro embedado no site → captura UTMs do referrer_url ou da URL atual → salva em lead.utm_*.
4. Facebook Lead Ads
Webhook leadgen captura ad_id, campaign_name → mapeia pra UTMs no lead.
5. API REST v1
POST /api/v1/leads aceita campos utm_source, utm_medium, etc no payload.
6. Importação CSV
Você pode incluir colunas utm_source, utm_medium, utm_campaign no CSV — sistema importa.
Acessar relatório
- Menu lateral → Campanhas (ou rota
/campanhas). - Tela com KPIs no topo + gráficos + tabela de UTMs.
KPIs do topo
Métricas por período (default 30d)
- Total de leads com pelo menos 1 UTM preenchido.
- Conversões — leads que viraram venda.
- Receita — soma de sales.value.
- Taxa de conversão —
conversions / leads × 100.
Comparativo automático
Cada KPI mostra delta vs período anterior:
- ↑ Verde: cresceu.
- ↓ Vermelho: caiu.
- = Cinza: estável.
Top performers (cards)
- Top source — qual origem trouxe mais leads.
- Top medium — qual mídia.
- Top campaign — campanha com melhor conversão (≥3 leads pra estatística válida).
Filtro de período
Botões topo: 7 dias / 30 dias (default) / 60 dias / 90 dias / 6 meses / 1 ano.
Período anterior é calculado automaticamente com mesma duração.
Gráficos
1. Donut — Distribuição por source
Top 8 sources com fatias coloridas + percentuais.
2. Barras — Leads por campaign
Top 10 utm_campaigns por número de leads.
3. Linha — Evolução semanal
Últimas 8 semanas. Útil pra ver tendência (campanha crescendo ou caindo).
Tabela de UTMs
Lista completa, ordenada por leads (DESC):
| Source | Medium | Campaign | Leads | Conversões | Receita | Conv % |
|---|---|---|---|---|---|---|
| social | blackfriday | 152 | 18 | R$ 35.400 | 11.84% | |
| cpc | crm-vendas | 89 | 12 | R$ 24.800 | 13.48% | |
| newsletter | mensal | 45 | 5 | R$ 8.700 | 11.11% | |
| (direto) | (vazio) | (vazio) | 124 | 9 | R$ 15.300 | 7.26% |
"(direto)": leads SEM utm_source preenchido — vieram diretamente (digitaram URL).
"(vazio)": campo UTM específico não preenchido.
Drill-down de leads
Clique numa linha da tabela → modal abre com:
- Top 50 leads dessa combinação UTM específica.
- Colunas: nome, e-mail, telefone, criado em, etapa atual, pipeline.
- Link pra cada lead.
💡 Dica: drill-down permite ver quem exatamente veio dessa origem. Útil pra avaliar qualidade do tráfego.
Analytics avançado
Aba Analytics (ou /campanhas/analytics) tem 4 visualizações:
1. Performance por dimensão
Dropdown: escolha source, medium, campaign, term ou content.
Tabela com top 50 valores dessa dimensão + métricas.
2. Comparação A vs B
Dropdown 2x: pega 2 valores da mesma dimensão.
Compara:
- Leads.
- Conversões.
- Receita.
- Taxa de conv.
- Tempo médio até conversão (média de horas entre
created_atesales.closed_at).
Útil pra avaliar qual campanha converte mais rápido.
3. Funil por origem
Matriz: linhas = valores da dimensão, colunas = etapas do pipeline.
Mostra em qual etapa cada origem fica presa.
4. Tendências
Granularidade: daily / weekly / monthly.
Top N origens (default 5).
Linha por origem mostrando evolução.
Read-only — sem CRUD
⚠️ Importante: relatório UTM não tem CRUD. Não há criar/editar/deletar.
UTMs são capturados na criação do lead — relatório só agrega.
Pra mudar UTM de um lead específico:
- Edite o lead em /contatos/{id}.
- Campos
utm_source, etc estão visíveis e editáveis.
Sem integração com Meta Ads / Google Ads
⚠️ Importante: o Syncro não conecta com Meta Ads ou Google Ads pra puxar gasto/CPM/CTR. Não há OAuth com plataformas de Ads.
O que o Syncro faz:
- ✅ Captura UTMs que você coloca nas URLs dos seus anúncios.
- ✅ Mostra leads/vendas/receita por origem.
O que não faz:
- ❌ Mostra CPC, gasto da campanha, ROAS, CTR.
- ❌ Sincroniza com Ads Manager.
Pra calcular ROI completo:
- Pegue gasto no Ads Manager (Meta/Google).
- Compare com receita do Syncro filtrada por
utm_campaign. - Calcule manualmente:
ROAS = receita / gasto.
Boas práticas de UTM
1. Padronize seus UTMs
❌ Não use:
Instagramem uma campanha,instagramem outra (case sensitive — vão virar 2 origens).BlackFriday,black-friday,blackfriday2026(3 fontes diferentes).
✅ Use:
- Sempre lowercase:
instagram,meta-ads. - Sempre underscore ou hyphen consistente:
black_friday_2026. - Crie um doc de convenções pra equipe.
2. Use builder UTM
Use ferramentas tipo Google Campaign URL Builder pra montar URLs corretas.
3. Capture 5 dimensões sempre
Source + medium + campaign é mínimo. Term + content ajudam em A/B test.
✅ utm_source=instagram&utm_medium=stories&utm_campaign=blackfriday26&utm_content=video-30s
4. Encurte URLs longas
UTMs deixam URL gigante. Use bit.ly, lnk.bio, etc — usuário não vê parâmetros.
5. Atualize metadados sociais
Se compartilha no LinkedIn/Twitter, configure Open Graph com URL sem UTMs pra preview limpa, mas redirect com UTMs.
Casos práticos
Diretor de Marketing — análise mensal
- Filtra 30d.
- KPIs: "Crescemos 25% em leads. Receita +18%. Conversão caiu 2pp — investigar."
- Top source: Instagram dominante.
- Drill-down em "Black Friday": "148 leads → 12 vendas → R$ 28K. ROAS = R$ 28K / R$ 8K = 3.5x. Campanha valeu."
Vendedor — qualidade de origem
- Filtra
utm_source=email. - Conv % = 18%.
- Filtra
utm_source=instagram. - Conv % = 6%.
- Conclusão: leads de e-mail são mais qualificados — priorize follow-up.
Founder — decidir mídia
- Analytics → Tendências, granularidade
weekly, top 5. - Vê Instagram crescendo, Google estagnado.
- Decide aumentar budget Instagram.
Erros comuns
"Tabela vazia mesmo com leads no sistema"
Provavelmente seus leads não têm UTMs preenchidos. UTMs vêm de tráfego com ?utm_source=... na URL.
Cheque um lead manualmente — abra /contatos/{id} → veja seção "UTM tracking".
"Cliente bate UTMs corretos mas não aparece"
- Período do filtro pode estar excluindo. Mude pra "1 ano".
- Cache 30 min pode estar velho.
"Vejo (direto) muito grande"
Maioria dos leads vem sem UTM. Causas:
- Cliente digitou URL direto.
- Cliente veio de canal sem UTM configurado (ex: anúncio sem UTM).
- Browser stripou UTMs em navegação interna (ver lição commit
5ad2bdade 2026-04-25 — implementamos persistência localStorage 30d).
Pra reduzir (direto), garanta UTMs em TODOS anúncios e links.
"Receita não bate com /relatorios"
- /campanhas filtra leads com UTM. /relatorios filtra todos.
- Diferença esperada se você tem leads diretos (sem UTM).
"Conversão alta em campanha estranha"
Drill-down. Se 3 leads viraram 2 vendas, conv = 67% — alta mas estatisticamente não confiável (n pequeno).
Sistema usa threshold ≥3 leads pra evitar essas distorções nos top performers.
Próximos passos
- Pra ver dados gerais sem filtro UTM, veja Dashboard overview.
- Pra agendar envio automático do relatório, veja Relatórios automáticos por WhatsApp.