Mesus Track — Guia do Sistema

Guia do Sistema Mesus Track

Plataforma de rastreamento de leads, atribuição de anúncios e CRM para agências de tráfego. Multi-tenant: um painel de agência gerencia todos os clientes; cada cliente acessa só os próprios dados.

Como o sistema funciona (fluxo completo)

  1. Usuário clica num anúncio (Meta ou Google) → é redirecionado pelo link de tracking da plataforma → plataforma captura gclid / fbclid / UTMs e salva → usuário cai no WhatsApp.
  2. Primeira mensagem chega no WhatsApp → Evolution API dispara webhook → plataforma captura ctwa_clid (Meta click-to-WhatsApp) e vincula ao lead.
  3. Chatwoot dispara webhook message_created → plataforma cria o lead no CRM com nome, telefone e atribuição de campanha já preenchidos.
  4. Agente atende no Chatwoot e digita palavra-chave configurada (ex: "agendado") → plataforma move o lead de coluna automaticamente.
  5. Venda fechada → plataforma de pagamento (Hotmart/Kiwify) dispara webhook de compra → plataforma registra receita e dispara evento Purchase no Meta CAPI.

Infraestrutura

▲
Vercel Hospedagem Next.js
track.mesusmedia.com.br
🐘
Supabase Banco de dados PostgreSQL
+ autenticação
💬
Chatwoot CRM de atendimento
evo.mesusmedia.com.br
📱
Evolution API Gateway WhatsApp
1 instância por cliente
☁️
Cloudflare DNS + proxy
mesusmedia.com.br
📦
GitHub Repositório
mesusmedia/track
Deploy manual Para publicar uma nova versão: vercel deploy --prod --scope mesus-media no terminal dentro da pasta do projeto. O GitHub ainda não está conectado para CD automático.

Adicionar um novo cliente Admin

Acesse o painel admin

Entre em track.mesusmedia.com.br/admin com sua conta de agência.

Clientes → Novo cliente

Preencha: nome do cliente, slug único (ex: C157-DraCristianeTiburtino), e-mail de contato.

O sistema cria automaticamente

Uma linha em clients, o primeiro usuário de login e os registros de configuração vazios (settings).

Configure as integrações

Clique em Configurações no cliente recém-criado e preencha Pixel, CAPI token, Chatwoot inbox ID etc. (ver seção Configurar integrações).

Convenção de slug Use sempre o formato C[número]-[NomeCliente]. Esse slug aparece nas URLs de tracking e não pode ser alterado depois sem quebrar links já divulgados.

Criar / gerenciar usuários Admin

Usuários são criados pelo admin — não existe cadastro público. Dois tipos de acesso:

TipoO que vêOnde gerenciar
agency_adminTodos os clientes, todos os dadosAdmin → Equipe
clientSó os próprios dadosAdmin → Clientes → [cliente] → Configurações

Criar novo usuário admin

Acesse Admin → Equipe → Adicionar administrador. Informe o e-mail e copie a senha temporária gerada para enviar à pessoa.

Criar login de cliente (médico, secretária)

Acesse Admin → Clientes → [cliente] → Configurações → Acesso de login → Criar acesso. Pode criar mais de um login por cliente.

Resetar senha

Na lista de usuários (Equipe ou Configurações do cliente), clique no ícone ↺ ao lado do usuário. O sistema gera uma nova senha temporária na hora — copie e envie para a pessoa.

Sem e-mail de recuperação O reset gera a nova senha diretamente no painel, sem enviar e-mail. Você copia e manda para a pessoa pelo WhatsApp ou outro canal.

Excluir usuário

Clique no ícone de lixeira 🗑 ao lado do usuário. Uma confirmação é solicitada antes de excluir. O admin não pode excluir a si mesmo.

Ação irreversível Excluir um usuário remove o acesso permanentemente. Para clientes, os dados de leads e compras não são afetados — só o acesso de login é removido.

Configurar integrações por cliente Admin

Acesse: Admin → Clientes → [nome do cliente] → Configurações

Campos disponíveis

CampoOnde obterPara que serve
Meta Pixel IDMeta Business → Gerenciador de EventosDisparo de Lead/Purchase no pixel
CAPI TokenMeta → Conversions API → Gerar tokenEnvio server-side ao Meta
Chatwoot Inbox IDChatwoot → Configurações → Inboxes → ID numéricoAssociar mensagens ao cliente correto
Google Ads Customer IDGoogle Ads → cabeçalho da conta (sem traços)Resolução de gclid → campanha
Webhook TokenGerado automaticamente pelo sistemaAutenticar webhook de compra
Chatwoot Inbox ID Cada cliente tem sua própria inbox no Chatwoot. Se o inbox ID estiver errado, nenhum lead desse cliente será criado — é o campo mais crítico.

Snippet de rastreamento (admin panel)

Na tela de configurações do cliente, há dois boxes prontos para copiar:

📜

Script para landing page

Cole no <head> das páginas do cliente. Reescreve automaticamente todos os botões wa.me para passar pelo link de tracking.

🎯

Link direto WhatsApp

Use como URL de destino no Google Ads quando o cliente não tem landing page. Já inclui {gclid} dinâmico.


Instalar tracking em landing page

Use quando o cliente tem uma landing page própria com botões de WhatsApp. O script reescreve os links wa.me automaticamente — não precisa alterar nenhum botão da página.

Copie o snippet do admin

Admin → Clientes → [cliente] → Configurações → box "Script para landing page"

Cole no <head> de todas as páginas

Deve aparecer em todas as páginas que têm botão de WhatsApp. Em WordPress, use um plugin de "Header scripts" ou o tema filho.

Verifique no navegador

Abra a página, clique com botão direito num botão de WhatsApp → "Copiar link". O link deve começar com https://track.mesusmedia.com.br/api/go/

Atualize a URL de destino no Google Ads

Mude de wa.me/... para a URL da landing page com ?gclid={gclid} ao final. O script captura o gclid automaticamente.

Formato do snippet

<script src="https://track.mesusmedia.com.br/api/tag/SLUG-DO-CLIENTE" async></script>
Verificação rápida Acesse https://track.mesusmedia.com.br/api/tag/SLUG-DO-CLIENTE no navegador. Se retornar um JS com CLIENT_SLUG correto, está funcionando.

Link direto para WhatsApp (sem landing page)

Use quando o anúncio manda direto pro WhatsApp, sem passar por site. Configure como URL de destino no Google Ads.

Formato da URL

https://track.mesusmedia.com.br/api/go/SLUG-DO-CLIENTE?gclid={gclid}
Atenção ao {gclid} No Google Ads, use {gclid} com chaves — é uma macro do próprio Google que ele substitui pelo valor real no momento do clique. Não substitua manualmente.

Passo a passo no Google Ads

Abra a campanha → Grupos de anúncios → Anúncios
Edite o anúncio → URL final

Cole a URL acima com o slug correto do cliente e {gclid} no final.

Salve e aguarde aprovação

Google Ads analisa a URL em até 24h. Se reprovar, adicione o WhatsApp real como URL de exibição.

Configurar Meta / Facebook Ads

A atribuição Meta funciona por ctwa_clid (click-to-WhatsApp ID) — capturado automaticamente pelo webhook do Evolution API na primeira mensagem, sem precisar de nenhuma configuração extra após o Pixel e CAPI token estarem cadastrados.

Verificar disparo de eventos

  1. Acesse Meta Business → Gerenciador de Eventos → [Pixel do cliente]
  2. Clique em Testar eventos
  3. Envie uma mensagem de WhatsApp de teste (com o número do cliente)
  4. O evento Lead deve aparecer em até 1 minuto com match_keys preenchido (telefone hasheado)

Evento Purchase (venda)

Disparado automaticamente quando o webhook de compra recebe status approved / paid. Não precisa de configuração adicional além do Pixel e CAPI token.

Test Event Code O campo "Test Event Code" no Gerenciador de Eventos serve só para filtrar eventos de teste — deixe em branco em produção. Eventos reais chegam sem ele.

CRM — Kanban de leads

Acesse em: Admin → [cliente] → CRM.

Cards de conversão (topo da tela)

Quatro cards em tempo real exibidos acima do kanban:

CardCálculo
Leads totaisTotal de leads com atribuição no CRM
Taxa de agendamentoLeads na etapa "Agendado" ÷ leads ativos
Taxa de conversãoLeads na etapa "Vendido" ÷ leads agendados
Receita atribuídaSoma das vendas registradas via webhook de compra
Etapas usadas no cálculo O sistema identifica as etapas pelo nome — procura por "Agendado" e "Vendido" no nome da coluna. Se o cliente renomear as etapas, os cards mostram "—" para aquela métrica. Os nomes padrão funcionam automaticamente.

Kanban

📋

Colunas (etapas do funil)

Configuráveis por cliente. Padrão: Novo, Em atendimento, Agendado, Vendido, Perdido.

🤖

Movimentação automática

Lead muda de coluna quando o agente digita a palavra-chave configurada no Chatwoot.

📱

Dados do lead

Nome, telefone, foto de perfil, campanha de origem, data de entrada.

🔍

Filtros

Por período, campanha, etapa, canal de origem (Meta / Google).

Quais leads entram no CRM?

Apenas leads com atribuição confirmada — ou seja, vieram de um anúncio rastreável (Meta ou Google). Conversas orgânicas (número salvo, indicação direta) são filtradas automaticamente.

Exceção: frase marcadora Se o lead digitar "vim pelo site" na primeira mensagem, entra no CRM com origem Google mesmo sem gclid.

Automações por palavra-chave

Acesse: Admin → [cliente] → Automações

Defina a palavra-chave

Ex: "agendado", "fechado", "perdido". A comparação é case-insensitive e busca a palavra dentro da mensagem.

Selecione a etapa de destino

Para qual coluna do kanban o lead deve mover quando essa palavra for enviada.

Salve e teste

Abra uma conversa no Chatwoot e envie a mensagem com a palavra. Em até 5 segundos o lead deve mover de coluna.

Como funciona A automação só dispara em mensagens enviadas pelo agente (outgoing) — não em mensagens do cliente. Isso evita falsos positivos se o cliente mencionar a palavra por acaso.

Webhook de compra (Hotmart / Kiwify)

Registra receita e dispara evento Purchase no Meta quando uma venda é confirmada.

URL do webhook

https://track.mesusmedia.com.br/api/webhook/compra?token=TOKEN_DO_CLIENTE&platform=hotmart

Token: encontre em Admin → Clientes → Configurações → Webhook Token.
Platform: hotmart, kiwify ou generic.

Configurar na plataforma de pagamento

Hotmart: Ferramentas → Webhooks → Novo Webhook

Cole a URL acima. Eventos: PURCHASE_APPROVED.

Kiwify: Configurações → Webhooks

Cole a URL com platform=kiwify. Evento: order.paid.

Envie um evento de teste

Use o botão "Testar webhook" da plataforma. Verifique em Admin → [cliente] → Faturamento se a compra apareceu.


Dashboards

Visão Geral (por cliente)

MétricaO que mostra
Leads captadosTotal de leads no período com atribuição confirmada
Receita atribuídaSoma das vendas linkadas a leads rastreados
Conversão% de leads que chegaram até a etapa "Vendido"
OrigemMeta vs. Google (por volume de leads)

Eventos

Log de todos os eventos disparados para Meta CAPI e GA4 — com payload enviado e resposta recebida. Útil para debugar se um evento não aparece no Gerenciador de Eventos.

Faturamento

Lista de compras confirmadas com valor, produto, data e método de match (vinculação lead → compra).

Dashboard de Campanhas Em desenvolvimento

Mostrará ROAS e CPA cruzando Meta Ads Insights com receita registrada. Disponível quando o cliente tiver Meta Ad Account ID configurado e dados de compra suficientes.

ColunaOrigem
Campanha / Conjunto / AnúncioMeta Ads Insights API
InvestimentoMeta Ads Insights API
LeadsTabela leads (atribuição ctwa_clid)
ReceitaTabela purchases
ROASReceita / Investimento

Pendências técnicas (não fazem nada quebrar — só melhorias)

ItemO que faltaQuem resolve
Rate limit real (Upstash Redis) O rate limit atual reseta a cada reinicialização do servidor. Precisa de conta Upstash da empresa + 2 variáveis no Vercel. Dono da empresa cria conta → passa URL + token para Lucas
Token Chatwoot no header Token de autenticação do webhook do Chatwoot vai na query string (visível no log). Mover para header. Reconfigurar webhook no Chatwoot + ajuste de código
Evolution: 6 instâncias sem secret 29 de 35 instâncias foram atualizadas com o header de segurança. 6 pendentes. Rodar script de atualização novamente
CI/CD automático Vercel não está conectado ao GitHub — deploy é manual. Conectar repositório GitHub no painel Vercel

FAQ — Perguntas frequentes

Lead apareceu com nome errado (nome do agente)?

Corrigido na versão atual. O sistema usa conversation.meta.sender.name (sempre o contato) e nunca body.sender (que podia ser o agente). Se ainda acontecer, verifique se o deploy mais recente foi publicado.

Lead não apareceu no CRM

  • Verifique se o Chatwoot Inbox ID está correto nas configurações do cliente.
  • Verifique se a conversa veio de anúncio rastreado (sem atribuição, o lead é filtrado).
  • Verifique nos logs do Vercel (track.mesusmedia.com.br → Functions → webhook/chatwoot) o motivo retornado.

Script da landing page não está reescrevendo os botões

  • Verifique se o <script> foi adicionado no <head> (não no final do body).
  • O atributo async está presente? Sem ele, a página pode travar.
  • Abra o console do navegador (F12 → Console). Deve aparecer [track] X links rewritten.

Evento não aparece no Meta Gerenciador de Eventos

  • Verifique se o Pixel ID e o CAPI token estão corretos nas configurações.
  • O evento pode demorar até 1 hora para aparecer no painel do Meta.
  • Consulte o log em Admin → [cliente] → Eventos para ver o payload enviado e a resposta recebida.

Como adicionar um novo agente no Chatwoot para um cliente?

Isso é feito diretamente no painel do Chatwoot (evo.mesusmedia.com.br) — não pela plataforma de tracking. Crie o agente e vincule ao inbox do cliente.

Posso mudar o slug de um cliente?

Não recomendado. O slug está nos links de tracking (/api/go/SLUG e /api/tag/SLUG). Qualquer campanha ativa usando o link antigo vai quebrar. Se necessário, crie um redirecionamento antes de mudar.

Mesus Track — Atualizado em 30/06/2026 (v2: gestão de usuários + cards de conversão no CRM). Para dúvidas técnicas, contate o desenvolvedor.