Install BounceTelemetry
A server ModuleScript for the Roblox place. It sends the four funnel events to this server. No dependencies, no data beyond the funnel.
Endpoint
https://analytics.shortscake.com/v1/events
Steps
- Paste the file into ServerScriptService as a ModuleScript named
BounceTelemetry. It is a server script, not a LocalScript: join and session_end must be fired server-side. - Set
CONFIG.apiKeyto the server'sINGEST_KEY. It is in the deployment's.env; do not paste it into a public repo or a client script. - Game Settings → Security → enable HTTP requests, then allowlist
analytics.shortscake.comfor the place in the Creator Dashboard. - Call
BounceTelemetry.tutorialStart(player, step)where the tutorial step appears,BounceTelemetry.step(player, name)at each boundary between tutorial and extraction, andBounceTelemetry.firstExtraction(player, method)when the extraction commits on the server. - Publish and play one session. The dashboard's session count moves within a minute.
Where the two hooks go
The module already wires join on PlayerAdded and session_end on PlayerRemoving, with a BindToClose flush. You only add the two calls that mark the funnel:
local BounceTelemetry = require(game.ServerScriptService.BounceTelemetry) -- when the first tutorial step is shown or taken BounceTelemetry.tutorialStart(player, "first_move") -- optional: each boundary between tutorial and extraction BounceTelemetry.step(player, "opened_first_chest") BounceTelemetry.step(player, "found_extract") -- when the extraction COMMITS (server-side), never on client intent BounceTelemetry.firstExtraction(player, "stairs")
Privacy
The module sends a Roblox UserId, a session id, timestamps, the place version, and the funnel event. It does not send chat, inventory, or any free text except the step and method labels you pass in. See the privacy notice for retention and deletion.