Onboarding & Retention Funnel
First impressions dictate your game’s retention. If 60% of new players leave before finishing the dialogue, fixing that step can double your daily active users.
1. Onboarding Tracking Script
Section titled “1. Onboarding Tracking Script”local Players = game:GetService("Players")local ReplicatedStorage = game:GetService("ReplicatedStorage")local Analytics = require(ReplicatedStorage.AnalyticsModule)
-- Helper to track sequential onboarding stepslocal function trackTutorialStep(player: Player, stepNumber: number, stepName: string) Analytics:TrackEvent(player, "TutorialStep", { step = stepNumber, name = stepName, })end
Players.PlayerAdded:Connect(function(player) task.wait(1.5) -- Allow DataStore to fetch record
if Analytics:IsNewPlayer(player) then print(string.format("Initiating FTUE for new player %s", player.Name)) trackTutorialStep(player, 1, "SpawnedInLobby")
-- Example: Award Starter Welcome Coins Analytics:RecordEconomySource(player, "Coins", 100, "StarterPack", "NewPlayerGift") else local visits = Analytics:GetTotalVisits(player) print(string.format("Welcome back %s! Visit count: %d", player.Name, visits)) endend)2. Retention Cohort Analysis
Section titled “2. Retention Cohort Analysis”With enableRetentionTracking = true, the module automatically fires PlayerRetentionMilestone when players come back on Day 1, Day 3, Day 7, Day 14, and Day 30.
You can inspect the ratio of: $$\text{D1 Retention Rate} = \frac{\text{D1 Milestone Events}}{\text{PlayerFirstJoin Events}} \times 100%$$