Game telemetry · by indie.io
You shipped. Now see them play.
One config line and your game starts reporting — sessions, performance, progression, crashes. No init code, no rigid schemas. And if you build with an AI agent, it can set up the whole thing for you.
- About ten minutes to install
- Godot 4.x & Unity 2021.3+
- Never blocks or stalls your game
- Anonymous by design — no PII
The silence after launch
Shipping blind is the default. It shouldn’t be.
Every dev knows the feeling: the build is out, reviews trickle in, and the real questions stay unanswered. Where do players quit the tutorial? How long is a first session? Does the optional content ever get found?
gameglow is game telemetry that answers the questions you act on — no data team, no SDK sprint, no analytics tool that needs its own analytics.
How it works
Three steps to live telemetry
Create your game
Sign in with Google, GitHub, or Discord and grab your key — one string that carries the game id and credential together.
gg1.<game-id>.<key>Paste it and press Play
Unity: one manifest line and one settings asset — no init code, no scene objects. Godot: one line in your project config.
[gameglow]
api_key="gg1.…"Watch real players
Sessions, performance, and progression start flowing the moment your game runs. Custom events are additive — not required.
▸ session_start
▸ heartbeat fps_avg=59.8Zero-code baseline
Telemetry that starts before you write a line
The SDK auto-collects a full day-one picture with zero track() calls. When you want more, the API is one-liners with full params objects — no rigid typed events, no one-numeric-value limits.
- Session start / end with 60-second heartbeats — crash-robust playtime
- Performance per heartbeat: FPS average, 1% lows, frame-time p99, hitches, memory
- Crash detection, cold-start timing, engaged-vs-idle input
- Platform, OS, engine version, locale, and hardware class — never device serials
The SDK never crashes, blocks, or stalls your game — every failure degrades to dropped telemetry. Offline events queue to memory and disk, replay next launch, and the server dedupes so retries are always safe.
Gameglow.Progression("tutorial/first_wisp", "complete");
Gameglow.ZoneEnter("level_2");
Gameglow.Timing("boss_fight", 34.2);
Gameglow.Track("secret_found",
new Dictionary<string, object> { { "secret_id", "hidden_room" } });Gameglow.track("secret_found", {"secret_id": "hidden_room"})
Gameglow.progression("tutorial/first_wisp", "complete")
Gameglow.zone_enter("level_2")
Gameglow.timing("boss_fight", 34.2, {"boss": "final_boss"})What you see
Powerful where it counts. Simple everywhere else.
The dashboard answers the questions a live game forces on you — and skips the mobile-ads noise that doesn’t apply to premium indie games.
Retention & sessions
D1/D7 retention by cohort, DAU, session-length buckets, and an honest "engaged" median that excludes sub-60-second bounces — with the bounce share shown right beside it.
Funnels that build themselves
Progression funnels auto-derive from your progression events — per-stage completion, starts, fails, and median time-to-complete. No manual funnel definitions.
Zones & player flows
Visits, unique players, median visit length, and total time per zone — see where players linger and where they leave.
Performance regressions
Per-day FPS and hitch series with per-version comparison, so a bad build shows up before the reviews do. Chart gaps render as gaps — never as fake zeros.
Raw events & query
Browse raw events with param filters, run aggregate queries (count, unique players, sum, avg, median) grouped by day, name, platform, version, or any param — and export CSV.
Tracked intelligence
Eight deterministic insight rules sweep daily — bounce shifts, funnel decay, crash clusters, retention breaks — each with the evidence numbers embedded and a suggested action. No ML, no hallucinated insights.
Agent-native
Your AI agent can do the whole integration
gameglow ships a full MCP server. Connect Claude — or any MCP-compatible agent — with one command, and it can create your game, mint the key, write your engine config, instrument key moments, and loop the integration check until everything is green. Nothing to click.
claude mcp add --transport http gameglow \ https://app.gameglow.io/mcp \ --header "Authorization: Bearer <token>"
No agent? The manual path is the same ten minutes — paste-ready docs, pre-filled with your real ids and key. llms.txt
- 15 MCP tools cover the whole lifecycle — create_game, mint_api_key, get_sdk_config, integration_check, run_query, get_insights, and more
- Events instrumented by an agent show up marked ✨ discovered by agent — before any data arrives
- Setup wizard steps complete themselves as the agent works
- llms.txt served unauthenticated, so agents can read the docs without a login
Trust & privacy
Player analytics without player tracking
Every install gets an anonymous UUID — that’s the whole identity model. Input tracking is a per-minute yes/no: never which keys, never where.
- No device serials or advertising IDs
- No IP retention, no location
- No player accounts, no PII
- Player opt-out — immediate, persisted, clears the queue
- Consent-first mode — SDK fully dormant until players agree
- Self-serve GDPR erasure, no support ticket required
Start free
A free tier without feature gates
Every tier gets unlimited games and seats, every MCP tool, exports, and the full dashboard. The monthly event cap is the only boundary — and hitting it never locks you out of your data.
At the cap, ingest pauses but reads never stop — your dashboard, queries, exports, and MCP tools all stay live. Overage is opt-in and hard-bounded: no surprise bills.
Built for indie games
Deliberately not mobile-ads analytics
gameglow is built for premium indie games, desktop and Steam first. That focus is a feature:
- Full params object on every event — no one-numeric-value limit
- Funnels auto-derive from progression — no manual definitions
- Session frequency (median gap between sessions) — a metric the incumbents lack
- Sessions = process lifetime — alt-tabbing never splits a session
- REST ingest for engines beyond Unity and Godot
- No ARPDAU, LTV, or ad-revenue noise
- No rigid three-slot progression hierarchies
- No read lockouts when you hit a cap
- No PII, ever
FAQ