O maior portal de MU Online do Brasil — desde 2003
Tutorial Avançado Web

Analytics avançado com eventos customizados para o site do seu servidor de MU Online

Configure eventos customizados no GA4 (ou PostHog) para medir o funil completo do site do seu servidor de MU Online, do primeiro acesso ao download do cliente e à primeira doação, com exemplos de código e estrutura de funil pronta para replicar.

BR Bruno · Atualizado em 31 jul 2026 · ⏱ 17 min de leitura
Resposta rápida

O painel padrão do Google Analytics mostra quantas pessoas visitaram seu site e por quanto tempo, mas não responde à pergunta que realmente importa para um servidor de MU Online: quantas dessas visitas viraram jogadores ativos, e em qual etapa do caminho (home → cadastro → download do cliente → prim

O painel padrão do Google Analytics mostra quantas pessoas visitaram seu site e por quanto tempo, mas não responde à pergunta que realmente importa para um servidor de MU Online: quantas dessas visitas viraram jogadores ativos, e em qual etapa do caminho (home → cadastro → download do cliente → primeiro login → primeira doação) a maioria desiste. Eventos customizados resolvem exatamente essa lacuna, permitindo instrumentar cada ação relevante do funil e visualizar exatamente onde otimizar. Este tutorial detalha como planejar, implementar e analisar um conjunto completo de eventos customizados no GA4, com exemplos de código prontos para adaptar ao seu portal.

O funil completo de um servidor de MU Online

Antes de implementar qualquer evento, mapeie o funil que você quer medir. Um funil típico e completo para um portal de servidor privado tem estas etapas:

EtapaAção do jogadorEvento sugerido
1. DescobertaChega no site (orgânico, anúncio, indicação)page_view (padrão do GA4)
2. InteresseLê página de recursos/features do servidorview_features_section
3. IntençãoClica em "baixar cliente"download_client_click
4. Conversão de contaCria conta no site/painelsign_up
5. AtivaçãoCopia o IP do servidor ou clica em "como conectar"copy_server_ip
6. RetençãoFaz login no jogo (via API do servidor, se disponível)game_login (server-side)
7. MonetizaçãoConclui uma doaçãopurchase

Sem instrumentar todas as etapas, é impossível saber se o problema do seu servidor é atrair visitantes (etapa 1-2), converter em jogadores (3-5) ou reter e monetizar (6-7) — e cada problema exige uma solução completamente diferente.

Configurando o GA4 com Google Tag Manager

Embora seja possível disparar eventos direto via gtag(), usar o Google Tag Manager (GTM) facilita adicionar e ajustar eventos sem precisar alterar código do site a cada mudança. Instale o container do GTM no <head> de todas as páginas e configure as tags de evento pelo painel do GTM, usando gatilhos de clique em elementos com atributos data-event.

<!-- Exemplo de botão instrumentado com atributo de dado -->
<a href="/download/cliente.zip" data-event="download_client_click" data-category="conversao">
    Baixar Cliente
</a>

No GTM, crie um gatilho de "Clique em todos os elementos" filtrado por data-event igual a download_client_click, disparando uma tag de evento GA4 correspondente.

Disparando eventos diretamente via gtag (sem GTM)

Se o seu site é mais simples (sem GTM), dispare os eventos diretamente em JavaScript:

document.querySelectorAll('[data-event]').forEach(function (el) {
    el.addEventListener('click', function () {
        const eventName = el.getAttribute('data-event');
        const category = el.getAttribute('data-category') || 'geral';
        gtag('event', eventName, {
            event_category: category,
            page_location: window.location.href
        });
    });
});

Esse trecho pode ser incluído uma única vez no arquivo JS global do site e passa a instrumentar automaticamente qualquer elemento que receba o atributo data-event, sem precisar duplicar código de rastreamento em cada botão.

Rastreando a cópia do IP do servidor

Um evento simples, mas revelador: quantos visitantes copiam o IP do servidor (geralmente exibido na home) é um forte indicador de intenção de jogar, mesmo antes da criação de conta.

const ipButton = document.getElementById('copy-server-ip');
if (ipButton) {
    ipButton.addEventListener('click', function () {
        navigator.clipboard.writeText('play.viciadosmu.com.br');
        gtag('event', 'copy_server_ip', {
            event_category: 'ativacao'
        });
    });
}

Compare o número de cópias de IP com o número de contas criadas na mesma semana — uma proporção baixa (muitas cópias, poucas contas) sugere que o processo de cadastro está sendo abandonado, apontando para um problema na etapa seguinte do funil, não na etapa de interesse.

Rastreando eventos de servidor no lado do backend

Ações que acontecem dentro do jogo (login, criação de personagem, primeira entrada em Devil Square) não passam pelo navegador, então não podem ser capturadas via JavaScript no site. Para esses casos, envie o evento server-side usando a Measurement Protocol do GA4:

<?php
// enviar_evento_servidor.php - chamado pelo painel/API quando o jogador faz login
$measurement_id = "G-XXXXXXXXXX";
$api_secret = "sua_api_secret_do_ga4";
$client_id = md5($account_id); // identificador consistente, não precisa ser real

$payload = [
    "client_id" => $client_id,
    "events" => [[
        "name" => "game_login",
        "params" => [
            "account_id_hash" => $client_id,
            "server" => "season-atual"
        ]
    ]]
];

$url = "https://www.google-analytics.com/mp/collect?measurement_id={$measurement_id}&api_secret={$api_secret}";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_exec($ch);
curl_close($ch);

Esse padrão permite cruzar dados de site e de jogo em um único relatório, fechando o funil completo do "primeiro clique" até a "retenção in-game", algo que a maioria dos portais de MU nunca consegue medir por tratar site e servidor como sistemas separados.

Nomenclatura consistente de eventos

Um erro comum ao crescer a instrumentação é criar eventos com nomes inconsistentes (downloadClient, download-client, btn_download), o que impede a análise cruzada depois. Adote uma convenção única desde o início:

RegraExemplo corretoExemplo incorreto
snake_case sempredownload_client_clickdownloadClientClick
Verbo + objetocopy_server_ipip_copied_event
Prefixo de categoria em parâmetro, não no nomeevent_category: "conversao"conversao_download_client
Nomes reutilizados entre site e doaçãopurchase (padrão GA4 de e-commerce)donation_complete isolado

Construindo o funil no GA4

Com os eventos configurados, use a ferramenta de Exploração > Funil do GA4 para montar o funil completo: page_viewdownload_client_clicksign_upcopy_server_ipgame_loginpurchase. O GA4 mostra a taxa de queda entre cada etapa, revelando exatamente onde investir esforço de otimização — se 80% desiste entre sign_up e copy_server_ip, o problema está no fluxo pós-cadastro, não na home.

Segmentando por origem de tráfego

Combine os eventos com a dimensão de origem/mídia (orgânico, Discord, anúncio pago, indicação) para descobrir quais canais trazem jogadores que de fato completam o funil até a doação, não apenas visitas. É comum um canal gerar muito volume de page_view mas baixa conversão até purchase, enquanto um canal menor (indicação de jogador, por exemplo) converte proporcionalmente muito mais — informação essencial para decidir onde investir tempo e orçamento de divulgação.

Erros comuns e soluções

SintomaCausa provávelSolução
Eventos não aparecem no GA4Tag/gtag não disparando ou ID de measurement erradoTeste no relatório "Tempo real" e confira o Measurement ID
Funil mostra queda de 100% em uma etapaNome do evento inconsistente entre etapasPadronize a nomenclatura (snake_case, mesmos nomes em todo o site)
Eventos de servidor (game_login) não chegamAPI secret ou endpoint da Measurement Protocol incorretosRevise credenciais e teste a chamada isoladamente com curl
Dados duplicados entre GTM e gtag diretoDois métodos de disparo ativos ao mesmo tempoEscolha um único método (GTM ou gtag direto) por evento
Relatório de funil vazio por diasLatência de processamento do GA4 (24-48h)Aguarde o processamento antes de considerar o evento com falha

Checklist de analytics avançado

  • Funil completo mapeado, do primeiro acesso à doação.
  • Eventos customizados nomeados de forma consistente (snake_case).
  • Eventos de frontend (download, copiar IP) instrumentados via GTM ou gtag.
  • Eventos server-side (login, ações in-game) enviados via Measurement Protocol.
  • Funil montado na ferramenta de Exploração do GA4.
  • Segmentação por origem de tráfego configurada.
  • Teste em tempo real validado antes de considerar a instrumentação completa.

Com o funil de analytics completo em produção, o próximo passo natural é usar esses mesmos dados para alimentar testes controlados na página de doação, conectando aquisição e conversão em um único ciclo de otimização a partir do tutorial de como criar um servidor de MU Online.

Perguntas frequentes

Por que os relatórios padrão do Google Analytics não são suficientes para um servidor de MU?

Os relatórios padrão medem pageview e sessão, mas não capturam ações específicas do seu negócio, como 'clicou em baixar cliente', 'copiou o IP do servidor' ou 'concluiu uma doação'. Sem eventos customizados, você não sabe em qual etapa do funil os jogadores estão desistindo antes de criar conta ou jogar de fato.

GA4 é a melhor opção ou existe alternativa melhor para servidores de MU?

GA4 é gratuito e amplamente documentado, o que o torna o padrão de mercado. PostHog é uma alternativa open source com session replay e funis nativos mais visuais, boa opção se você quer rodar self-hosted e ter mais controle sobre os dados dos jogadores.

É seguro rastrear ações de jogadores sem violar privacidade?

Sim, desde que você rastreie ações no site (cliques, downloads, conversões) sem coletar dados sensíveis ou pessoais além do necessário, e tenha uma política de privacidade acessível informando o uso de analytics. Evite rastrear informações de conta ou senha em qualquer evento.

Quanto tempo leva para eventos customizados aparecerem nos relatórios do GA4?

Eventos em tempo real aparecem em segundos no relatório 'Tempo real', mas para os relatórios padrão (Exploração, funis) o GA4 costuma levar de 24 a 48 horas para processar e disponibilizar os dados completos.

Posso usar os mesmos eventos customizados na página de doação e no restante do site?

Sim, e é recomendado — mantenha uma nomenclatura consistente de eventos (ex.: sempre snake_case, sempre com prefixo de categoria) em todo o site, incluindo a página de doação, para poder cruzar dados de todo o funil em uma única exploração no GA4.

BR
Editor de eventos, mapas e itens

Bruno é especialista em eventos, mapas, bosses e economia de itens do MU Online. Documenta cada detalhe com base em jogo real.

Continue lendo

Artigos relacionados