Developer Analytics

See why players leave your game.

Add one ModuleScript and RoSession records every session in your experience, from join to leave, with the reason each player left. Live players, retention, funnels, revenue and A/B tests on a private dashboard for you and your team.

Free during early access. Signing in adds you to the waitlist.
Script in ServerScriptService
local RoSession = require(game.ServerStorage.RoSession)

RoSession.start({ key = "rs_live_…" })
  1. Add your game by pasting its Roblox link.
  2. Insert the module into ServerStorage and start it with your key.
  3. Allow HTTP requests and press Play. The setup guide checks each step.
Why players leave

Every session ends with a reason, worked out from what happened: bounced, quit in the tutorial, declined a purchase, went AFK, lag, errors.

Realtime

Who's online right now, what each player is doing, their device, FPS and ping, and a live feed of joins, leaves and purchases.

Retention

Day 1, 7 and 30 retention by the day players first joined, and how long a session lasts.

Funnels

The exact step where new players stop: the tutorial, the first purchase, any flow you define in one line.

A/B tests

Split players between variants and compare playtime, spending and return rate, with significance worked out for you.

Revenue and economy

Robux by product, prompt-to-purchase rate for every offer, and where your in-game currencies come from and go.

Servers and errors

How long servers last and why they end, memory and FPS over time, and script errors grouped by message.

Update impact

Each new place version compared with the one before it: playtime, leave reasons and the errors it introduced.

Discord alerts

A message when players drop, errors spike or servers crash, and a daily summary.

Ask your game

Read-only access for AI assistants and a command line tool: ask why players left yesterday in plain words.

Track what matters to your game

One line each
Luau
-- anything players do
RoSession.event(player, "QuestComplete", 1, { quest = "Bakery" })

-- where new players stop
RoSession.funnel(player, "Tutorial", 3, "Placed first oven")

-- currencies in and out
RoSession.currency(player, "Coins", 250, "DailyReward")

-- Robux purchases, with your own receipt handler
MarketplaceService.ProcessReceipt = RoSession.receipts(handleReceipt)

Questions

Does it slow my game down?

No. The module batches events and sends them every 10 seconds from the server with HttpService, well under Roblox's request limits. The client part samples FPS and activity once a second.

Is it allowed by Roblox?

Yes. It uses HttpService, the standard way experiences talk to outside services; you turn on “Allow HTTP Requests” in Game Settings. It doesn't collect anything outside your experience.

What does it record by itself?

Sessions from join to leave with a leave reason, concurrent players, servers and their lifetimes, device, country, FPS and ping, idle time, purchase prompts and Robux purchases, and script errors. Events, funnels and currencies are one line each.

Do Studio playtests count?

They're recorded but hidden by default, so testing doesn't skew your numbers. One switch shows them.

Can my team see it?

Yes. Everyone signs in with Roblox, and you choose which Roblox accounts can view each game.

How much does it cost?

It's free during early access. Sign in with Roblox to join the waitlist; people are let in a few at a time.

Already have a game on Roblox? Sign in with Roblox: if you own a game RoSession tracks, its page shows a Set Up Detailed Stats button, and your dashboard lists it.