2.8 KiB
2.8 KiB
Rastreamento de Cliques da Landing Page
Objetivo
Garantir que os cliques na landing page sejam rastreados, capturando UTMs (origem, campanha) e vinculando-os aos contatos no Chatwoot.
Contexto
Atualmente, o TrackingController e o LeadClick capturam o hostname e o IP, mas não estão salvando o click_id (enviado pelo frontend) nem extraindo parâmetros UTM da URL da landing page.
Como testar:
Na tela de chat, conferir se os Atributos lp, campanha, origem e click_id estão sendo preenchidos para novos contatos do WhatsApp criados através de LPs.
Parte 2 - Multiunidade (Server-side LPs)
- Problema: As Landing Pages dependiam do
localStoragedo navegador para manter configurações (nº de telefone, titulo, etc). Isso tornava impossível rastreamento persistente (quando o usuário trocava de celular) e não suportava estrutura multiunidade profissional. - Implementação:
- Feita migração adicionando à tabela
landing_hostsos campos faltantes:initial_message,default_source,default_campanha,custom_config. - Atualizamos
LandingPagesController(Controller Backend) para carregar os dados baseando-se norequest.host. - Modificamos o HTML de exibição principal (
app/views/public/landing_pages/show.html.erb), removendo painel de administração overlay e substituindo por ERB para renderização Server-Side (SSG).
- Feita migração adicionando à tabela
Em Andamento / Concluídos Recentes
- Backend: Atualizar o
TrackingControllerpara salvarclick_ide extrair UTMs caso não sejam enviados explicitamente. - Validar se o
click_idestá sendo recebido no Controller corretamente (testado via postman/local e aprovado - os testes do Sidekiq estão rodando no log). - Criar painel no Dashboard para gerenciar
landing_hosts(migrando configurações do front-end armazenadas no LocalStorage para Back-end em estrutura multi-unidade) -> Concluído: Criada interface em Inboxes > Configurações > Landing Pages.
Próximos Passos
- Migração: Adicionar o campo
click_idna tabelalead_clicks. - Frontend: Sugerir script JS para a landing page que capture UTMs da URL e as envie para o Supabase.
- Adicionar interface "Painel Admin" para Gerenciar Landing Pages dentro das configurações originais do Chatwoot (Vue Frontend).
- Conferir os Logs de tracking e Sidekiq em mensagens locais para debugar qualquer problema residual no
AttributionMatcherService.
Como Validar
Simular um clique com UTMs:
curl -X POST http://localhost:3000/track/click \
-H "Content-Type: application/json" \
-d '{"hostname": "teste.com", "click_id": "123", "lp": "https://teste.com/?utm_source=meta&utm_campaign=blackfriday"}'
Verificar se o contato criado posteriormente recebe as atribuições link_de_origem e campanha.