Trichterereignisse ermöglichen es Ihnen, den Fortschritt Ihrer Benutzer durch wichtige Phasen Ihres Spiels zu verfolgen. Dazu gehören:
- Onboarding — Wo brechen Benutzer ab, wenn sie mit Ihrem Spiel beginnen?
- Fortschritt — Wo hören Benutzer auf, im Spiel voranzukommen?
- Shop — Wo brechen Benutzer Käufe ab?
Sobald Ihr Spiel beginnt, Trichterereignisse zu verfolgen, wird die Trichterseite des Analyse-Dashboards im Creator Hub freigeschaltet. Sie können dem Dashboard für bis zu zehn Trichter Registerkarten hinzufügen.
Trichterereignisse verfolgen
Um Trichterereignisse zu verfolgen, identifizieren Sie zuerst die wichtigsten Trichter in Ihrem Spiel und segmentieren Sie sie in Schritte. Da das Ziel darin besteht, das Verhalten der Spieler zu verstehen, entsprechen diese Schritte normalerweise einer Aktion oder einem Erfolg.
In einem RPG könnten Sie einen Schritt für den Einstieg ins Spiel, einen für die Wahl einer Klasse, einen weiteren für das Verlassen des Startraums und so weiter haben. Sie rufen typischerweise LogFunnelStepEvent() oder LogOnboardingFunnelStepEvent() nachdem ein Spieler einen Schritt abgeschlossen hat, aber das Wichtigste ist, konsequent zu sein, wann Sie diese Methoden aufrufen und leicht verständliche Namen zu verwenden.
Ihr Onboarding-Prozess ist ein großartiger Ort, um mit der Verfolgung von Trichterereignissen zu beginnen, da dies wahrscheinlich der Bereich ist, in dem Sie die Mehrheit Ihrer Benutzer verlieren.
Einmalige Trichter verfolgen
Ein einmaliger Trichter überwacht Konversionsereignisse, die nur einmal pro Benutzer auftreten.
Ein häufiges Beispiel ist ein Onboarding-Trichter, der entscheidend dafür ist, wie Sie die Neuinvestorenbindung und die Sitzungszeit Ihres Spiels verbessern können. Das folgende Beispiel ist ein Onboarding-Trichter für Plant, ein Tycoon-Spiel, bei dem neue Benutzer einen Bauernhof betreten, Saatgut pflanzen, die Pflanze gießen und mehr in aufeinanderfolgender Reihenfolge:
Tracking Onboarding Steps in Plantlocal AnalyticsService = game:GetService("AnalyticsService")-- Log the first step of the FTUEAnalyticsService:LogOnboardingFunnelStepEvent(player,1, -- Schritt Nummer"Im Bauernhof" -- Schritt Name)-- Log the second stepAnalyticsService:LogOnboardingFunnelStepEvent(player,2, -- Schritt Nummer"Saatgut pflanzen" -- Schritt Name)
Wiederkehrende Trichter verfolgen
Ein wiederkehrender Trichter überwacht Konversionsereignisse, die mehrmals pro Benutzer auftreten.
Ein häufiges Beispiel ist ein Shop-Trichter, der Ihnen helfen kann zu verstehen, wie Sie die Zahlungsumwandlung, ARPPU und Einnahmen Ihres Spiels verbessern können. Das folgende Beispiel ist ein Shop-Trichter, bei dem Benutzer den Laden öffnen, Artikel ansehen, Artikel in den Warenkorb legen und mehr.
Verwenden Sie funnelSessionId, um zwischen verschiedenen Sitzungen desselben Benutzers in einem wiederkehrenden Trichter zu unterscheiden, z. B. beim mehrmaligen Öffnen des Shops in einer einzigen Sitzung.
Tracking Shop Stepslocal AnalyticsService = game:GetService("AnalyticsService")local HttpService = game:GetService("HttpService")local funnelSessionId = HttpService:GenerateGUID()-- Log when the user opens the storeAnalyticsService:LogFunnelStepEvent(player,"WaffenladenCheckout", -- Trichtername, der die Schritte zusammenfasstfunnelSessionId, -- Trichter-Sitzungs-ID für diese einzigartige Checkout-Sitzung1, -- Schritt Nummer"Laden geöffnet" -- Schritt Name)-- Log when the user views an itemAnalyticsService:LogFunnelStepEvent(player,"WaffenladenCheckout", -- Trichtername, der die Schritte zusammenfasstfunnelSessionId, -- Trichter-Sitzungs-ID für diese einzigartige Checkout-Sitzung2, -- Schritt Nummer"Artikel angesehen" -- Schritt Name)-- Log when the user adds to cartAnalyticsService:LogFunnelStepEvent(player,"WaffenladenCheckout", -- Trichtername, der die Schritte zusammenfasstfunnelSessionId, -- Trichter-Sitzungs-ID für diese einzigartige Checkout-Sitzung3, -- Schritt Nummer"In den Warenkorb gelegt" -- Schritt Name)
Implementierung von funnelSessionId
Bei der Implementierung von Trichtern kann eine funnelSessionId Ihnen helfen, Ihre Ereignisse zu verfolgen, ist jedoch möglicherweise nicht in jedem Fall erforderlich. Verwenden Sie die folgenden Richtlinien:
- Einmalige Trichter - Sie müssen funnelSessionId für einmalige Trichter nicht verwenden, da sie nur einmal pro Benutzer auftreten.
- Shop-Trichter - Verwenden Sie funnelSessionId, um zwischen verschiedenen Sitzungen desselben Benutzers in einem wiederkehrenden Trichter zu unterscheiden, z. B. beim mehrmaligen Öffnen des Shops in einer einzigen Sitzung im früheren Beispiel. In Fällen wie diesem, in denen der Spieler den Shop mehrmals in einer Sitzung öffnet, wird empfohlen, eine GUID als funnelSessionId zu verwenden.
- Gegenstands-Upgrades - Verwenden Sie funnelSessionId, um zwischen verschiedenen Upgrade-Pfaden für Gegenstände zu unterscheiden, die in der Regel über einen längeren Zeitraum als eine einzige Spielsitzung stattfinden. Statt eine GUID zu verwenden, wie im Fall des Shop-Trichters, können Sie oft einen eindeutigen Schlüssel basierend auf dem aufgerüsteten Gegenstand bilden, zum Beispiel: <playerId>-<itemId>.
Erster Schritt
Trichter beginnen, wenn der erste Schritt protokolliert wird. Wenn Sie einen Trichter sofort beim Beitritt des Spielers starten möchten, protokollieren Sie den ersten Schritt beim PlayerAdded-Ereignis.
Logging the first step in the PlayerAdded event
local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Schritt Nummer
"Spieler beigetreten" -- Schritt Name
)
end)
Wiederholte Schritte
Wenn ein Benutzer einen Schritt in einem Trichter wiederholt, berücksichtigt der Trichter nur die erste Instanz des Schrittes. Wenn ein Benutzer beispielsweise Schritt 2 eines Trichters zweimal protokolliert, zählt der Trichter nur die erste Instanz von Schritt 2. Sie müssen keine besonderen Maßnahmen ergreifen, um einmalige Trichter für Spieler zu behandeln, die sich ab- und wieder anmelden, und funnelSessionId behandelt wiederkehrende Trichter.
Wiederholte Schritte werden vom Trichter ignoriert, sind jedoch immer noch protokolliert und tragen zur globalen Ratebegrenzung bei.
Übersprungene Schritte
Wenn Sie aus irgendeinem Grund einen Schritt in einem Trichter überspringen, werden die früheren Schritte automatisch als abgeschlossen betrachtet. Wenn Sie beispielsweise einen Trichter mit den Schritten 1, 2 und 3 haben und Schritt 3 protokollieren, ohne die Schritte 1 oder 2 zu protokollieren, betrachtet der Trichter die Schritte 1 und 2 als abgeschlossen.
Verwenden Sie Trichterfilter
Roblox bietet Filter, um Ihnen zu helfen, Ihre Trichterdaten zu analysieren. Dazu gehören Spieldaten und Gerätedaten, und Sie können auch benutzerdefinierte Daten senden. In einigen Fällen kann sich der Status eines Spielers während des Trichters ändern, z. B. wenn der Spieler das Gerät von mobil auf Desktop wechselt.
Um eine doppelte Zählung von Trichtern zu vermeiden, gelten die Filter nur für den ersten Schritt des Trichters. Das bedeutet, dass wenn ein Spieler während des Trichters das Gerät wechselt, der Trichter nur dem Gerät zugeschrieben wird, auf dem er den Trichter betreten hat.
Ähnlich wird der Trichter nach Kohorten angezeigt, was bedeutet, dass wenn ein Spieler am 19.6. in den Trichter eintritt, der Trichter der Kohorte vom 19.6. zugeordnet wird, selbst wenn er den Trichter am 20.6. abschließt.
Trichtermodifikationen
Nachdem Sie eine Aktualisierung Ihrer Trichter Schritte vorgenommen haben, ist es wichtig, den richtigen Datumsbereich festzulegen, um den neuesten Trichter anzuzeigen. Wenn das aktuelle Datum der 21.6. ist und Sie Schritt 2 Ihres Onboarding-Trichters am 14.6. aktualisiert haben, sollten Sie den Datumsbereich auf 14.6. – 21.6. festlegen, um den neuesten Trichter anzuzeigen.
Wenn Sie einen Datumsbereich auswählen, der eine Aktualisierung der Trichter Schritte umfasst, wird eine Warnung für den entsprechenden Schritt angezeigt:

Schützen Sie Ihre Trichter vor Ausbeutern
Um Ihre Daten sauber zu halten, ist es wichtig, eine gewisse Validierung der Daten in Ihrem Server-Code hinzuzufügen, um zu verhindern, dass Ausbeuter ungültige Daten an Ihren Analysedienst senden.
Wenn Sie beispielsweise einen Onboarding-Trichter mit drei Schritten haben, können Sie ein RemoteEvent für den Client verwenden, um den Server zu benachrichtigen, wenn der Spieler jeden Schritt abgeschlossen hat, und eine Serverüberprüfung hinzufügen, um sicherzustellen, dass die Schrittzahl gültig ist, bevor das Ereignis protokolliert wird:
Client-side event code
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) -- ungültiger Schritt
Server-side event code
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(`Ungültiger Tutorial-Schritt {step} vom Client erhalten.`)
return
end
print(`{player.Name} hat Schritt abgeschlossen: {step}`)
AnalyticsService:LogOnboardingFunnelStepEvent(player, step)
end
onboardingEvent.OnServerEvent:Connect(onPlayerEventFired)
Benutzerdefinierte Felder verwenden
Trichterereignisse ermöglichen auch die Aufschlüsselung nach benutzerdefinierten Feldern, um den Vergleich zwischen Segmenten zu erleichtern. Zum Beispiel können Sie verfolgen, welches Starterauto den Spielern den besten Fortschritt bietet, oder verschiedene Karten anhängen, um zu sehen, ob eine bestimmte Karte einen besseren Spielablauf als andere hat.

Für weitere Informationen siehe benutzerdefinierte Felder.
Nutzen Sie Trichter, um Ihr Spiel zu erweitern
Einer der wichtigsten Trichter, die Sie verfolgen sollten, ist das Onboarding, da viele Spiele mit der Bindung und dem Engagement neuer Benutzer kämpfen.
Im Onboarding-Trichter für Plant unten ist der größte Abfall Schritt 2 ("Saatgut pflanzen").

Basierend auf diesen Daten könnten Sie:
- Kontextindikatoren hinzufügen, um Benutzer besser in die Richtung zu lenken, Saatgut zu pflanzen, wenn sie anfangen.
- Ein neues Benutzererlebnis entwerfen, das erfordert, dass Benutzer Saatgut pflanzen und eine erfolgreiche Pflanze wachsen, bevor sie den Rest des Spiels erkunden. Sie können dieses Ereignis verbessern, indem Sie positive Rückmeldungs Elemente erstellen oder andere Spieldesigntechniken verwenden.
