Implementei um sistema de rastreamento analítico para o Guest Gate v2.0, com suporte completo ao GTM (Google Tag Manager) e registro flexível de eventos personalizados.
Configurações Adicionadas
enable_analytics(desativado por padrão): Ativa ou desativa toda a funcionalidade de rastreamento, conforme solicitado.
analytics_debug_logging: Quando ativado, registra todos os eventos rastreados diretamente no console do navegador. Isso é especialmente útil durante a configuração, ao definir gatilhos no GTM.
Funcionalidade Principal
Um módulo auxiliar dedicado (guest-gate-analytics.js) gerencia o despacho de eventos. Cada evento rastreado é enviado simultaneamente para dois destinos:
window.dataLayer.push(...): Capturado automaticamente pelo Google Tag Manager (GTM) e pelo Google Analytics 4 (GA4), se ativos no site.
discourse-guest-gate:analytics(Evento de Navegador Personalizado): Permite a integração com ferramentas de terceiros (por exemplo, Matomo, Plausible ou webhooks personalizados) sem exigir quaisquer modificações adicionais de código.
Eventos Rastreados
guest_gate_shown(Disparado quando o modal aparece)
guest_gate_reason: O tipo de gatilho (page_view, time, scroll ou lightbox).
guest_gate_path: O caminho da URL onde o modal foi exibido.
guest_gate_click(Disparado quando o visitante interage com o modal)
guest_gate_click_action: A ação específica realizada (login, signup, sso_login, sso_signup, external_<provider>, como o botão de login com o Google, ou dismiss se fechado sem nenhuma ação).
Inclui os mesmos metadados de reason e path para correlacionar facilmente as interações com os gatilhos de exibição.
Privacidade e Proteção de Dados
Nenhuma informação pessoal identificável (PII) é coletada ou transmitida, apenas os metadados operacionais mínimos listados acima.
Após bastante trabalho, tenho o prazer de lançar o Guest Gate v2.0.
O Guest Gate começou como um componente de tema relativamente simples, baseado no plugin original Guest Gate Sign Up Popup, permitindo que visitantes anônimos fossem incentivados ou obrigados a se inscrever ou fazer login após visualizar um determinado número de tópicos.
Com o tempo, o componente cresceu consideravelmente, e a implementação original tornou-se cada vez mais difícil de estender.
Portanto, a v2.0 não é apenas uma refatoração ou atualização visual. Ela introduz um sistema de gatilhos completamente novo, melhor personalização, análises opcionais e uma série de melhorias nos bastidores.
O que há de novo na v2.0?
Múltiplos tipos de gatilho
O Guest Gate não está mais limitado a visualizações de tópicos/páginas.
Agora, você pode acionar o gate com base em:
Visualizações de página
Tempo
Profundidade de rolagem (scroll)
Abertura de lightbox/imagem
Qualquer - aciona o gate quando a primeira condição de gatilho configurada for atendida
Cada gatilho tem seu próprio limite configurável.
Você também pode configurar um atraso entre o gatilho e a aparição do modal.
Isso torna possível criar diferentes tipos de gates, por exemplo:
Mostrar o gate após 3 visualizações de página.
ou:
Mostrar o gate após 60 segundos.
ou:
Mostrar o gate quando o visitante tiver rolado 70% da página.
Comportamento de repetição
O antigo comportamento de visualização de página aleatória foi expandido para um sistema de repetição adequado.
Você pode escolher entre:
Repetir gatilho: mostrar o gate sempre que o gatilho configurado for acionado.
Visualizações de página aleatórias: mostrar o gate após um número aleatório de visualizações de página.
Uma vez por sessão: mostrar o gate no máximo uma vez durante a sessão do navegador.
O comportamento existente de “mostrar apenas uma vez” também é preservado para compatibilidade reversa.
Melhor personalização do modal
A v2.0 adiciona mais controle sobre o próprio modal.
Agora você pode configurar:
Tamanho do modal: compacto, padrão ou largo
Alinhamento do corpo
Alinhamento do rodapé
Visibilidade do título
Posicionamento do título
Estilo e ícone do botão de login
Estilo e ícone do botão de inscrição
O gate personalizado também foi melhorado, com melhor controle sobre:
Alinhamento da imagem
Largura da imagem
Texto alternativo da imagem
Alinhamento e cor do cabeçalho
Alinhamento e cor do texto
Cor de fundo
Cores do rodapé e dos links
A imagem personalizada agora é opcional e também usa carregamento preguiçoso (lazy loading) e dicas de decodificação.
Análises (Analytics)
O Guest Gate v2.0 inclui análises opcionais com consciência de privacidade.
Quando ativado, o Guest Gate rastreia:
Impressões do gate
Motivo do gatilho
Caminho da página
Cliques em login
Cliques em inscrição
Ações de SSO
Ações de dispensar (dismiss)
Os eventos são expostos através de window.dataLayer e também são despachados como o evento do navegador:
discourse-guest-gate:analytics
Isso permite que o Guest Gate seja integrado a plataformas de análise e gerenciamento de tags, como Google Analytics, Google Tag Manager, Matomo, ou implementações de análise personalizadas.
Nenhum dado pessoal é coletado pelo Guest Gate.
As análises estão desativadas por padrão.
Instalações existentes
Uma das partes importantes da v2.0 é que as configurações existentes não precisam ser recriadas manualmente.
Uma migração de configurações foi adicionada para migrar as configurações antigas do Guest Gate para seus equivalentes na v2.
Isso inclui configurações como:
max_guest_topic_views
dismissable_false
gate_show_when_thumbnail_clicked
Portanto, as configurações existentes devem continuar funcionando após a atualização.
O componente agora requer oficialmente o Discourse 3.2.0 ou mais novo.
Por que a v2.0?
O Guest Gate original foi projetado principalmente em torno da limitação de quantos tópicos os visitantes anônimos podiam visualizar.
O objetivo da v2.0 é torná-lo muito mais flexível.
O Guest Gate agora pode ser usado como um gate geral de conversão e engajamento de visitantes, ainda suportando o caso de uso original.
Por exemplo, você pode usá-lo para incentivar o registro após um visitante ter:
Lido vários tópicos
Passado uma certa quantidade de tempo no site
Rolado um artigo
Aberto uma imagem
Alcançado qualquer combinação de condições configuradas
Esta foi uma reescrita bastante substancial, então tenho certeza de que ainda pode haver coisas que podem ser melhoradas.
Obrigado a todos que usaram, testaram e forneceram feedback sobre o Guest Gate ao longo dos anos.