Player funnel
glitchless_player_funnelPlayer experience per level: sessions that started vs completed each level, attempts, deaths per session and their causes, fails, abandons and the attempts a disconnect ended (never counted as fails), median and slowest clear times, rage quits (quit ≤20s after dying), session length distribution and recent rage quits with positions. With by, each level per value of what describes the attempt: an attribute the game passed to levelStart ("tier", "difficulty", "party_size"; a list such as "build" counts under each element), a session property ("$class") or a split ("$platform"): clears and wipes by difficulty, by group size, by class; level keeps one level; count "runs" counts each run once at each level it reached (a roguelite's biomes). Also retention: of the players first seen each day, the share back 1, 7 and 30 days later (D1, D7, D30; hours of 48 or more for D1), and with by_prop per value of a session property (spenders against the rest). Retention needs player IDs: status "anonymous" means the game sends none, and privacy "install" in the SDK turns them on.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| by | No | Split each level's attempts: an attribute of its levelStart ("tier"), a session property ("$class") or $platform, $browser, $device_tier, $link | |
| env | No | Only include sessions from this environment, e.g. "prod" (what the game passes to init; builds a developer runs usually send "dev") | |
| game | No | The game, by name or id, when signed in to a workspace (glitchless_list_games lists them); later calls keep it. Ignored with a key for one game. | |
| count | No | "runs": each run (setGroup("run")) counted once at each level it reached | |
| hours | No | Look-back window in hours (default 24), as far back as the workspace keeps data on Glitchless Cloud (the answer says when it starts later than asked). Past 744 (31 days) answers are by day. | |
| level | No | With by or count: only this level | |
| props | No | Only sessions with these session properties (what the game set with setProperties): { rank: "diamond" }, or a list of values for any of them, { rank: ["diamond", "master"] }; "(none)" keeps the sessions without one. glitchless_events lists the properties and their values. Read from the sessions, so over 31 days or less | |
| by_prop | No | Retention per value of this session property, e.g. "spender" | |
| service | No | Game service name (defaults to the most recently active game) | |
| version | No | Only include sessions from this game version | |
| session_type | No | "user": players only; "tester": people on TestFlight and other test builds only; "synthetic": bots, playtests and store test devices only; "all" or unset: every session. Findings (glitchless_triage, and the overview's) read the production sessions of players unless env or session_type is given | |
| steam_branch | No | Only include sessions that ran this Steam branch ("public", or a beta's name); games that use Steamworks send it |