Eventos de embudo te permiten rastrear el progreso de tu usuario a través de etapas clave de tu experiencia. Esto incluye:
- Inducción - ¿A dónde van los usuarios cuando comienzan con tu experiencia?
- Progresión - ¿Dónde se detienen los usuarios de avanzar a través de tu experiencia?
- Tienda - ¿A dónde abandonan las compras los usuarios?
Una vez que tu experiencia empiece a rastrear eventos de embudo, desbloquearás la página de embudo del tablero de análisis en el Hub de creadores.Puedes agregar pestañas al tablero de análisis para hasta diez embudos.
Rastrear eventos de embudo
Para rastrear eventos de embudo, primero identifica los embudos más importantes en tu experiencia y segmentarlos en pasos.Su flujo de incorporación es un gran lugar para iniciar, ya que es donde es probable que pierda la mayoría de sus usuarios.
Rastrear embudos únicos
Un embudo único monitorea los eventos de conversión que solo ocurren una vez por usuario.
Un ejemplo común es un embudo de capacitación que es crítico para comprender cómo mejorar la retención de usuarios nuevos y el tiempo de sesión de tu experiencia.El siguiente ejemplo es un embudo de onboarding para Planta, una experiencia tycoon en la que los nuevos usuarios ingresan a una granja, semilla de planta, agua de planta y más en orden secuencial:
Seguimiento de pasos de capacitación en la planta
local AnalyticsService = game:GetService("AnalyticsService")-- Registre el primer paso del FTUEAnalyticsService:LogOnboardingFunnelStepEvent(player,1, -- Número de paso"In Farm" -- Nombre del paso)-- Registra el segundo pasoAnalyticsService:LogOnboardingFunnelStepEvent(player,2, -- Número de paso"Plant Seed" -- Nombre del paso)
Rastrear embudos recurrentes
Un embudo recurrente monitorea los eventos de conversión que ocurren múltiples veces por usuario.
Un ejemplo común es un embudo de tienda que es crítico para comprender cómo mejorar la conversión de pagador, Promedio de ingresos por usuario de pagoy los ingresos de tu experiencia.El siguiente ejemplo es un embudo de tienda donde los usuarios abren la tienda, ven el objeto, agregan el artículo al carrito y más.
Usa funnelSessionId para distinguir entre diferentes sesiones del mismo usuario en un embudo recurrente, como abrir la tienda varias veces en una sola sesión.
Rastrear pasos de la tienda
local AnalyticsService = game:GetService("AnalyticsService")local HttpService = game:GetService("HttpService")funnelSessionId = HttpService:GenerateGUID()-- Registrar cuando el usuario abre la tiendaAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nombre del embudo utilizado para agrupar pasos juntosfunnelSessionId, -- ID de sesión de embudo para esta sesión de pago única1, -- Número de paso"Opened Store" -- Nombre del paso)-- Registrar cuando el usuario ve un objetoAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nombre del embudo utilizado para agrupar pasos juntosfunnelSessionId, -- ID de sesión de embudo para esta sesión de pago única2, -- Número de paso"Viewed Item" -- Nombre del paso)-- Registrar cuando el usuario ve añade al carritoAnalyticsService:LogFunnelStepEvent(player,"ArmoryCheckout", -- Nombre del embudo utilizado para agrupar pasos juntosfunnelSessionId, -- ID de sesión de embudo para esta sesión de pago única3, -- Número de paso"Added to Cart" -- Nombre del paso)
Implementar sesión de embudoId
Al implementar embudos, un funnelSessionId puede ayudarlo a rastrear sus eventos, pero puede que no sea requerido en cada instancia. Use las siguientes directrices:
- Embudos de una sola vez - No necesitas usar funnelSessionId para embudos de una sola vez porque solo ocurren una vez por usuario.
- Almacenar embudos - Use funnelSessionId para distinguir entre diferentes sesiones del mismo usuario en un embudo recurrente, como abrir la tienda varias veces en una sola sesión en el ejemplo anterior.En casos como este, donde el jugador puede abrir la tienda varias veces en una sola sesión, se recomienda usar un GUID como el funnelSessionId.
- Mejoras de artículos - Usa funnelSessionId para distinguir entre diferentes rutas de actualización de artículos, generalmente durante un período de tiempo más largo que una sola sesión de juego.En lugar de usar un GUID como en el caso del embudo de la tienda, a menudo puedes crear una clave única basada en el artículo que se está actualizando, por ejemplo: <playerId>-<itemId> .
Paso inicial
Los embudos comienzan cuando se registra el primer paso.Si quieres comenzar un embudo inmediatamente al unirse al jugador, tendrás que registrar el primer paso en el evento PlayerAdded.
Registrar el primer paso en el evento PlayerAdded
local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Número de paso
"Player Joined" -- Nombre del paso
)
end)
Pasos repetidos
Si un usuario repite un paso en un embudo, el embudo solo considera la primera instancia del paso.Por ejemplo, si un usuario registra el paso 2 de un embudo dos veces, el embudo solo cuenta la primera instancia del paso 2.
Pasos omitidos
Si por alguna razón te saltas un paso en el embudo, los pasos anteriores se completan automáticamente.
Por ejemplo, si tienes un embudo con pasos 1, 2 y 3.Si registra el paso 3 sin registrar los pasos 1 o 2, el embudo considerará los pasos 1 y 2 como completados.
Usa filtros de embudo
Roblox proporciona filtros para ayudarle a analizar sus datos de embudo.Estos incluyen datos del jugador, datos del dispositivo y también puedes enviar datos personalizados.En algunos casos, el estado de un jugador puede cambiar durante el embudo, como cuando el jugador cambia de dispositivo de móvil a equipo de escritorio.
Para evitar contar dos veces los embudos, los filtros siempre se aplican solo al primer paso del embudo.Esto significa que si un jugador cambia de dispositivo durante el embudo, el embudo solo se atribuirá a su dispositivo cuando entren al embudo.
Del mismo modo, los embudos se muestran por cohorte, lo que significa que si un jugador ingresa al embudo el 6/19, el embudo se atribuirá a la cohorte 6/19 incluso si completa el embudo el 6/20.
Modificar embudos
Después de hacer una actualización a los pasos de tu embudo, es importante establecer el rango de fecha correcto para ver el embudo más reciente.Si la fecha actual es 6/21 y actualizaste el paso 2 de tu embudo de onboarding el 6/14, deberías establecer el rango de fecha a 6/14 – 6/21 para ver el último embudo.
Si selecciona un rango de fechas que incluya una actualización de paso de embudo, se muestra una advertencia en el paso relevante:

Protege tus embudos de los explotadores
Para mantener sus datos limpios, es importante agregar algún nivel de validación de datos en el código de su servidor para evitar que los explotadores envíen datos inválidos a su servicio de análisis.
Por ejemplo, si tienes un embudo de onboarding con 3 pasos, puedes usar un RemoteEvent para que el cliente notifique al servidor cuando el jugador haya completado cada paso y agregar una verificación del servidor para asegurarte de que el número de paso sea válido antes de registrar el evento:
códigode evento del lado del cliente
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local onboardingEvent = ReplicatedStorage:WaitForChild("OnboardingEvent")
local function fireOnboardingEvent(step: number)
onboardingEvent:FireServer({ step = step })
end
fireOnboardingEvent(1)
fireOnboardingEvent(2)
fireOnboardingEvent(10) -- invalid step
códigode evento del lado del servidor
local AnalyticsService = game:GetService("AnalyticsService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local onboardingEvent = ReplicatedStorage:WaitForChild("OnboardingEvent")
local maxStep = 3
local function onPlayerEventFired(player: Player, args: { step: number })
local step = args.step
if(step > maxStep) then
warn(`Invalid tutorial step {step} received from client.`)
return
end
print(`{player.Name} completed step: {step}`)
AnalyticsService:LogOnboardingFunnelStepEvent(player, step)
end
onboardingEvent.OnServerEvent:Connect(onPlayerEventFired)
Usar campos personalizados
Los eventos de embudo también permiten desglosar en campos personalizados para apoyar una comparación más fácil entre segmentos.Por ejemplo, puedes rastrear qué coche de inicio da a los jugadores la mejor progresión o adjuntar diferentes mapas para ver si un cierto mapa tiene un mejor ciclo de juego que otros.

Para obtener más información, vea campos personalizados.
Usa embudos para crecer tu experiencia
Uno de los embudos más importantes para rastrear es el de capacitación porque muchas experiencias luchan con la retención y el compromiso de los usuarios nuevos.
En el embudo de onboarding para Planta a continuación, la mayor caída es el paso 2 ("Semilla de Planta").

Basado en estos datos, podrías:
- Añade indicadores contextuales para dirigir mejor a los usuarios a plantar semillas cuando comiencen.
- Diseña una nueva experiencia de usuario que requiere que los usuarios planten semillas y cultiven una planta exitosa antes de explorar el resto de la experiencia.Puedes mejorar este evento creando elementos de retroalimentación positiva o otras técnicas de diseño de juegos.
