Skip to content

Statistics

The console shows your site’s usage: players, sessions, retention, the funnel, where and on what players play. Nothing about ads or money; the platform offers none to portals in this release. Every number comes from the play sessions, players, saves, scores and events of your site. filudi.com’s players are not in it.

For a range of UTC days (400 at most), with the previous range of the same length for comparison:

BlockFields
Per dayplayers created, accounts linked, active players, wau and mau (distinct players over the 7 and 30 days ending that day), returning players, sessions, scores, saves, links sent and consumed, events, median session length
Totalsthe same over the range, plus mean and median session length, returning players (a session on two distinct days), D1, D7 and D30 retention
Cohortsplayers by the ISO week of their first play, with the share that played again on day 1, days 2 to 7, days 8 to 30
Funneldistinct players who loaded a frame, started a session, wrote a save, sent a score, linked an email
Gamesevery game of the catalog with sessions, players, scores and mean session length, most sessions first
Splitssessions per host, per device (phone, tablet, desktop, unknown), players per locale, events by name
Cataloggames, visible, live, categories, tags

A retention share is null below 10 players old enough to be counted, so a small cohort shows no percentage rather than a misleading one. The device comes from the user agent at the start of a session; nothing else of the user agent is kept.

The game screen of a site shows the same set for one game on your site, with its boards (scores, players, best, median) and sessions per bundle version. A game’s developer sees their game across every site that lists it, with a row per site; they see your site’s name and its sessions, nothing about your players.

“Loaded” counts players whose frame posted filudi:loaded. GameFrame of hub-core reports it by sending the reserved event frame_loaded to POST /v1/sdk/events with the player’s token. A front of your own sends it the same way; a game cannot, since the API refuses that name with a game token.

Report a loaded frame

Terminal window
curl -X POST 'https://api.filudi.com/v1/sdk/events' \
-H "authorization: Bearer $FILUDI_PLAYER_TOKEN" \
-H 'content-type: application/json' \
-d '{ "events": [{ "name": "frame_loaded", "ts": 1761825600000, "gameId": "gloop", "host": "filudi" }] }'

The site overview takes from and to. The game screen of a developer also filters by site, host, bundle version and locale. Every table of the console has a CSV export, written in the browser with the table’s column labels; nothing is sent anywhere.

GET /v1/server/stats/overview?from=2026-10-01&to=2026-10-30 and GET /v1/server/stats/games/{gameId}?from&to answer the same shapes as the console (StatsOverview, GameStats), with the stats scope. The answer is cached 60 seconds per range in Redis; a 400 says the range is over 400 days or to is before from.

Last 30 days

Terminal window
curl 'https://api.filudi.com/v1/server/stats/overview?from=2026-10-01&to=2026-10-30' \
-H "authorization: Bearer $FILUDI_SITE_KEY"

The console’s web audience block (visitors, page views, sources, countries) comes from CausalIT, read with the site’s read key when you set one in the site’s settings. Without a key the block says it is not configured and nothing else changes. The API never sends your front’s analytics anywhere.