Trichterereignisse

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

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 zunächst die wichtigsten Trichter in Ihrem Spiel und segmentieren Sie diese in Schritte. Da das Ziel darin besteht, das Verhalten der Spieler zu verstehen, entsprechen diese Schritte normalerweise einer bestimmten Aktion oder Errungenschaft.

In einem RPG könnten Sie einen Schritt für den Beitritt zum Spiel, einen für die Auswahl einer Klasse, einen weiteren für das Verlassen des Startraums usw. haben. Sie rufen typischerweise LogFunnelStepEvent() oder LogOnboardingFunnelStepEvent() nachdem ein Spieler einen Schritt abgeschlossen hat, aber das Wichtigste ist, konsistent 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 Punkt ist, an dem Sie die Mehrheit Ihrer Benutzer verlieren.

Einmalige Trichter verfolgen

Ein einmaliger Trichter überwacht Konversionsevents, die nur einmal pro Benutzer auftreten.

Ein häufiges Beispiel ist ein Onboarding-Trichter, der entscheidend ist, um zu verstehen, wie Sie die Bindung neuer Benutzer und die Sitzungszeit Ihres Spiels verbessern können. Das folgende Beispiel ist ein Onboarding-Trichter für Plant, ein Tycoon-Spiel, in dem neue Benutzer einen Bauernhof betreten, Samen pflanzen, Pflanzen gießen und mehr in sequentieller Reihenfolge:

Verfolgen von Onboarding-Schritten in Plant
local AnalyticsService = game:GetService("AnalyticsService")
-- Protokolliere den ersten Schritt des FTUE
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Schritt Nummer
"In Farm" -- Schrittname
)
-- Protokolliere den zweiten Schritt
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
2, -- Schritt Nummer
"Saatgut pflanzen" -- Schrittname
)

Wiederkehrende Trichter verfolgen

Ein wiederkehrender Trichter überwacht Konversionsevents, die mehrmals pro Benutzer auftreten.

Ein häufiges Beispiel ist ein Shop-Trichter, der Ihnen helfen kann zu verstehen, wie Sie die Konversion von Zahlenden, ARPPU und Einnahmen Ihres Spiels verbessern können. Das folgende Beispiel ist ein Shop-Trichter, bei dem Benutzer den Laden öffnen, einen Artikel ansehen, einen Artikel in den Warenkorb legen und mehr.

Verwenden Sie funnelSessionId, um zwischen verschiedenen Sitzungen desselben Benutzers in einem wiederkehrenden Trichter zu unterscheiden, z. B. wenn der Shop mehrmals in einer einzigen Sitzung geöffnet wird.

Verfolgen von Shop-Schritten
local AnalyticsService = game:GetService("AnalyticsService")
local HttpService = game:GetService("HttpService")
local funnelSessionId = HttpService:GenerateGUID()
-- Protokolliere, wenn der Benutzer den Laden öffnet
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Trichtername, der verwendet wird, um Schritte zusammenzufassen
funnelSessionId, -- Trichter-Sitzungs-ID für diese einzigartige Checkout-Sitzung
1, -- Schritt Nummer
"Laden geöffnet" -- Schrittname
)
-- Protokolliere, wenn der Benutzer einen Artikel ansieht
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Trichtername, der verwendet wird, um Schritte zusammenzufassen
funnelSessionId, -- Trichter-Sitzungs-ID für diese einzigartige Checkout-Sitzung
2, -- Schritt Nummer
"Artikel angesehen" -- Schrittname
)
-- Protokolliere, wenn der Benutzer in den Warenkorb legt
AnalyticsService:LogFunnelStepEvent(
player,
"ArmoryCheckout", -- Trichtername, der verwendet wird, um Schritte zusammenzufassen
funnelSessionId, -- Trichter-Sitzungs-ID für diese einzigartige Checkout-Sitzung
3, -- Schritt Nummer
"In den Warenkorb gelegt" -- Schrittname
)

Implementierung von funnelSessionId

Bei der Implementierung von Trichtern kann eine funnelSessionId Ihnen helfen, Ihre Ereignisse zu verfolgen, ist jedoch 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. wenn der Shop mehrmals in einer einzigen Sitzung geöffnet wird, wie im früheren Beispiel. In solchen Fällen, in denen der Spieler den Shop mehrmals in einer einzigen Sitzung öffnet, wird empfohlen, eine GUID als funnelSessionId zu verwenden.
  • Artikel-Upgrades - Verwenden Sie funnelSessionId, um zwischen verschiedenen Upgrade-Pfaden für Artikel zu unterscheiden, in der Regel über einen längeren Zeitraum als eine einzelne Spielsitzung. Anstatt eine GUID wie im Fall des Shop-Trichters zu verwenden, können Sie oft einen eindeutigen Schlüssel basierend auf dem Artikel, der aufgerüstet wird, erstellen, z. B.: <playerId>-<itemId>.

Analytics verfolgt nur die 10 aktuellsten eindeutigen funnelSessionId-Werte pro Benutzer für jeden Trichter. Wenn ein Benutzer eine funnelSessionId wiederverwendet, die nicht zu seinen 10 aktuellsten für diesen Trichter gehört, zählt der Trichter dies als eine neue Sitzung.

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.

Protokollierung des ersten Schrittes im PlayerAdded-Ereignis
local AnalyticsService = game:GetService("AnalyticsService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
AnalyticsService:LogOnboardingFunnelStepEvent(
player,
1, -- Schritt Nummer
"Spieler beigetreten" -- Schrittname
)
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 trennen und wieder verbinden, und funnelSessionId behandelt wiederkehrende Trichter.

Wiederholte Schritte werden vom Trichter ignoriert, aber sie werden weiterhin protokolliert und tragen zur globalen Ratenbegrenzung bei.

Übersprungene Schritte

Wenn Sie aus irgendeinem Grund einen Schritt in einem Trichter überspringen, werden die vorherigen 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 von einem mobilen Gerät zu einem Desktop-Gerät 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 die Geräte wechselt, der Trichter nur dem Gerät zugeschrieben wird, mit dem er den Trichter betritt.

Ähnlich werden Trichter nach Kohorte angezeigt, was bedeutet, dass, wenn ein Spieler am 19.6. in den Trichter eintritt, der Trichter der Kohorte vom 19.6. zugeschrieben wird, auch wenn er den Trichter am 20.6. abschließt.

Trichter ändern

Nachdem Sie ein Update an Ihren Trichter-Schritten vorgenommen haben, ist es wichtig, den richtigen Datumsbereich festzulegen, um den neuesten Trichter zu sehen. 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 ein Update eines Trichter-Schrittes umfasst, wird eine Warnung auf dem entsprechenden Schritt angezeigt:

Eine Warnung wird im Trichter-Dashboard angezeigt, die auf eine Namensänderung innerhalb des ausgewählten Datumsbereichs hinweist.

Schützen Sie Ihre Trichter vor Ausnutzern

Um Ihre Daten sauber zu halten, ist es wichtig, ein gewisses Maß an Datenvalidierung in Ihrem Servercode hinzuzufügen, um zu verhindern, dass Ausnutzer ungültige Daten an Ihren Analyse-Service 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-seitiger Ereigniscode
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-seitiger Ereigniscode
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)

Verwenden Sie benutzerdefinierte Felder

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 hat als andere.

Ein Dropdown-Menü, das die drei benutzerdefinierten Felder anzeigt, die Sie vergleichen können, zusammen mit Standardaufteilungen wie Alter, Geschlecht, Betriebssystem und mehr.

Für weitere Informationen siehe benutzerdefinierte Felder.

Verwenden Sie Trichter, um Ihr Spiel zu wachsen

Einer der wichtigsten Trichter, die Sie verfolgen sollten, ist das Onboarding, da viele Spiele mit der Bindung neuer Benutzer und der Engagement-Rate kämpfen.

Im Onboarding-Trichter für Plant unten ist der größte Abbruch Schritt 2 ("Saatgut pflanzen").

Trichterdiagramm für das Plant-Spiel, das einen 70%igen Abbruch zwischen In Farm, Schritt 1, und Saatgut pflanzen, Schritt 2, zeigt.

Basierend auf diesen Daten könnten Sie:

  • Kontextindikatoren hinzufügen, um Benutzer besser zu leiten, Saatgut zu pflanzen, wenn sie anfangen.
  • Eine neue Benutzererfahrung entwerfen, die von den Benutzern verlangt, Saatgut zu pflanzen und eine erfolgreiche Pflanze zu züchten, bevor sie den Rest des Spiels erkunden. Sie können dieses Ereignis verbessern, indem Sie positive Feedback-Elemente erstellen oder andere Spieldesigntechniken verwenden.
In-Game-Ansicht des Plant-Spiels, die Aufforderungen zum Pflanzen von Samen über den Blumentöpfen zeigt.
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.