El mayor portal de MU Online de Brasil — desde 2003
Tutorial Avanzado Web

Analytics avanzado con eventos personalizados para el sitio de tu servidor de MU Online

Configura eventos personalizados en GA4 (o PostHog) para medir el embudo completo del sitio de tu servidor de MU Online, desde el primer acceso hasta la descarga del cliente y la primera donación, con ejemplos de código y una estructura de embudo lista para replicar.

BR Bruno · Actualizado el 31 jul 2026 · ⏱ 17 min de lectura
Respuesta rápida

El panel estándar de Google Analytics muestra cuántas personas visitaron tu sitio y durante cuánto tiempo, pero no responde la pregunta que realmente importa para un servidor de MU Online: cuántas de esas visitas se convirtieron en jugadores activos, y en qué etapa del camino (home → registro → desc

El panel estándar de Google Analytics muestra cuántas personas visitaron tu sitio y durante cuánto tiempo, pero no responde la pregunta que realmente importa para un servidor de MU Online: cuántas de esas visitas se convirtieron en jugadores activos, y en qué etapa del camino (home → registro → descarga del cliente → primer login → primera donación) la mayoría desiste. Los eventos personalizados resuelven exactamente esa brecha, permitiendo instrumentar cada acción relevante del embudo y visualizar exactamente dónde optimizar. Este tutorial detalla cómo planificar, implementar y analizar un conjunto completo de eventos personalizados en GA4, con ejemplos de código listos para adaptar a tu portal.

El embudo completo de un servidor de MU Online

Antes de implementar cualquier evento, mapea el embudo que quieres medir. Un embudo típico y completo para un portal de servidor privado tiene estas etapas:

EtapaAcción del jugadorEvento sugerido
1. DescubrimientoLlega al sitio (orgánico, anuncio, referido)page_view (estándar de GA4)
2. InterésLee la página de recursos/features del servidorview_features_section
3. IntenciónHace clic en "descargar cliente"download_client_click
4. Conversión de cuentaCrea cuenta en el sitio/panelsign_up
5. ActivaciónCopia la IP del servidor o hace clic en "cómo conectar"copy_server_ip
6. RetenciónHace login en el juego (vía API del servidor, si está disponible)game_login (server-side)
7. MonetizaciónCompleta una donaciónpurchase

Sin instrumentar todas las etapas, es imposible saber si el problema de tu servidor es atraer visitantes (etapas 1-2), convertirlos en jugadores (3-5) o retenerlos y monetizarlos (6-7) — y cada problema requiere una solución completamente distinta.

Configurando GA4 con Google Tag Manager

Aunque es posible disparar eventos directamente vía gtag(), usar el Google Tag Manager (GTM) facilita agregar y ajustar eventos sin necesidad de modificar el código del sitio en cada cambio. Instala el contenedor de GTM en el <head> de todas las páginas y configura las tags de evento desde el panel de GTM, usando disparadores de clic en elementos con atributos data-event.

<!-- Ejemplo de botón instrumentado con atributo de dato -->
<a href="/download/cliente.zip" data-event="download_client_click" data-category="conversao">
    Descargar Cliente
</a>

En GTM, crea un disparador de "Clic en todos los elementos" filtrado por data-event igual a download_client_click, disparando una tag de evento GA4 correspondiente.

Disparando eventos directamente vía gtag (sin GTM)

Si tu sitio es más simple (sin GTM), dispara los eventos directamente en 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
        });
    });
});

Este fragmento puede incluirse una única vez en el archivo JS global del sitio y pasa a instrumentar automáticamente cualquier elemento que reciba el atributo data-event, sin necesidad de duplicar código de rastreo en cada botón.

Rastreando la copia de la IP del servidor

Un evento simple, pero revelador: cuántos visitantes copian la IP del servidor (generalmente mostrada en la home) es un fuerte indicador de intención de jugar, incluso antes de la creación de cuenta.

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'
        });
    });
}

Compara el número de copias de IP con el número de cuentas creadas en la misma semana — una proporción baja (muchas copias, pocas cuentas) sugiere que el proceso de registro se está abandonando, señalando un problema en la etapa siguiente del embudo, no en la etapa de interés.

Rastreando eventos de servidor del lado del backend

Las acciones que ocurren dentro del juego (login, creación de personaje, primera entrada a Devil Square) no pasan por el navegador, así que no pueden capturarse vía JavaScript en el sitio. Para esos casos, envía el evento server-side usando la Measurement Protocol de GA4:

<?php
// enviar_evento_servidor.php - llamado por el panel/API cuando el jugador hace login
$measurement_id = "G-XXXXXXXXXX";
$api_secret = "sua_api_secret_do_ga4";
$client_id = md5($account_id); // identificador consistente, no necesita 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);

Este patrón permite cruzar datos de sitio y de juego en un único reporte, cerrando el embudo completo desde el "primer clic" hasta la "retención in-game", algo que la mayoría de los portales de MU nunca logra medir por tratar el sitio y el servidor como sistemas separados.

Nomenclatura consistente de eventos

Un error común al crecer la instrumentación es crear eventos con nombres inconsistentes (downloadClient, download-client, btn_download), lo que impide el análisis cruzado después. Adopta una convención única desde el inicio:

ReglaEjemplo correctoEjemplo incorrecto
snake_case siempredownload_client_clickdownloadClientClick
Verbo + objetocopy_server_ipip_copied_event
Prefijo de categoría en el parámetro, no en el nombreevent_category: "conversao"conversao_download_client
Nombres reutilizados entre sitio y donaciónpurchase (estándar de e-commerce de GA4)donation_complete aislado

Construyendo el embudo en GA4

Con los eventos configurados, usa la herramienta de Exploración > Embudo de GA4 para armar el embudo completo: page_viewdownload_client_clicksign_upcopy_server_ipgame_loginpurchase. GA4 muestra la tasa de caída entre cada etapa, revelando exactamente dónde invertir esfuerzo de optimización — si el 80% desiste entre sign_up y copy_server_ip, el problema está en el flujo posterior al registro, no en la home.

Segmentando por origen de tráfico

Combina los eventos con la dimensión de origen/medio (orgánico, Discord, anuncio pagado, referido) para descubrir qué canales traen jugadores que de hecho completan el embudo hasta la donación, no solo visitas. Es común que un canal genere mucho volumen de page_view pero baja conversión hasta purchase, mientras que un canal más pequeño (referido de jugador, por ejemplo) convierte proporcionalmente mucho más — información esencial para decidir dónde invertir tiempo y presupuesto de difusión.

Errores comunes y soluciones

SíntomaCausa probableSolución
Los eventos no aparecen en GA4La tag/gtag no se dispara o el ID de measurement es incorrectoPrueba en el reporte "Tiempo real" y verifica el Measurement ID
El embudo muestra una caída del 100% en una etapaNombre del evento inconsistente entre etapasEstandariza la nomenclatura (snake_case, mismos nombres en todo el sitio)
Los eventos de servidor (game_login) no lleganAPI secret o endpoint de la Measurement Protocol incorrectosRevisa las credenciales y prueba la llamada de forma aislada con curl
Datos duplicados entre GTM y gtag directoDos métodos de disparo activos al mismo tiempoElige un único método (GTM o gtag directo) por evento
Reporte de embudo vacío durante díasLatencia de procesamiento de GA4 (24-48h)Espera el procesamiento antes de considerar el evento como fallido

Lista de verificación de analytics avanzado

  • Embudo completo mapeado, desde el primer acceso hasta la donación.
  • Eventos personalizados nombrados de forma consistente (snake_case).
  • Eventos de frontend (descarga, copiar IP) instrumentados vía GTM o gtag.
  • Eventos server-side (login, acciones in-game) enviados vía Measurement Protocol.
  • Embudo armado en la herramienta de Exploración de GA4.
  • Segmentación por origen de tráfico configurada.
  • Prueba en tiempo real validada antes de considerar completa la instrumentación.

Con el embudo de analytics completo en producción, el siguiente paso natural es usar estos mismos datos para alimentar pruebas controladas en la página de donación, conectando adquisición y conversión en un único ciclo de optimización a partir del tutorial de cómo crear un servidor de MU Online.

Preguntas frecuentes

¿Por qué los reportes estándar de Google Analytics no son suficientes para un servidor de MU?

Los reportes estándar miden pageview y sesión, pero no capturan acciones específicas de tu negocio, como 'hizo clic en descargar cliente', 'copió la IP del servidor' o 'completó una donación'. Sin eventos personalizados, no sabes en qué etapa del embudo los jugadores están desistiendo antes de crear cuenta o jugar de verdad.

¿GA4 es la mejor opción o existe una alternativa mejor para servidores de MU?

GA4 es gratuito y está ampliamente documentado, lo que lo convierte en el estándar del mercado. PostHog es una alternativa open source con session replay y embudos nativos más visuales, buena opción si quieres correr self-hosted y tener más control sobre los datos de los jugadores.

¿Es seguro rastrear acciones de jugadores sin violar la privacidad?

Sí, siempre que rastrees acciones en el sitio (clics, descargas, conversiones) sin recolectar datos sensibles o personales más allá de lo necesario, y tengas una política de privacidad accesible informando el uso de analytics. Evita rastrear información de cuenta o contraseña en cualquier evento.

¿Cuánto tiempo tardan los eventos personalizados en aparecer en los reportes de GA4?

Los eventos en tiempo real aparecen en segundos en el reporte 'Tiempo real', pero para los reportes estándar (Exploración, embudos) GA4 suele tardar entre 24 y 48 horas en procesar y poner a disposición los datos completos.

¿Puedo usar los mismos eventos personalizados en la página de donación y en el resto del sitio?

Sí, y es recomendado — mantén una nomenclatura consistente de eventos (por ejemplo, siempre snake_case, siempre con prefijo de categoría) en todo el sitio, incluida la página de donación, para poder cruzar datos de todo el embudo en una sola exploración de GA4.

BR
Editor de eventos, mapas e ítems

Bruno es especialista en eventos, mapas, bosses y economía de ítems de MU Online. Documenta cada detalle basándose en el juego real.

Sigue leyendo

Artículos relacionados