PostHog vs GameAnalytics for a browser game
The Glitchless team · October 29, 2026 · Three.js, Phaser, Babylon.js and PlayCanvas games in the browser, checked against PostHog's and GameAnalytics' docs on 29 October 2026
Both work in a browser game, and both are free to start. They answer different questions. PostHog is product analytics: funnels, retention, session replay, feature flags and experiments, the same tool a web app uses. GameAnalytics is built for games, and mostly for mobile free-to-play: progression, resources, purchases and ads, with standard game KPIs out of the box.
Neither times your players' frames or tells you why a game stuttered, and in a Three.js or Phaser game that's often the first thing that loses players. That's what Glitchless measures, and it's built for games made with coding agents: your agent reads what players hit and fixes the next build. This page compares the three honestly; where PostHog or GameAnalytics is the better pick, it says so.
The short answer
- PostHog, best for a browser game that's also a product: sign-up and purchase funnels, retention, replays of the canvas, feature flags and A/B tests, with a large free tier.
- GameAnalytics, best for a free-to-play game run on its economy and ads: progression, resource sinks and sources, purchases, cohorts and retention, free with no cap on players.
- Neither measures frame times from players' devices or names a stutter's cause. PostHog only has what you send it; GameAnalytics records FPS on its Pro plan but not what caused a drop.
- Glitchless, best for a browser game built with a coding agent: every frame timed on every player's device with each hitch's likely cause, errors with what the player did just before, level funnels and death heatmaps, and an MCP server your agent reads on every plan, including Free.
- Together: many games pair one of them for business numbers with Glitchless for how the game runs and plays.
Pick by the question you need answered
Start from what you want to know, not from the feature list.
| You want to know | PostHog | GameAnalytics | Glitchless |
|---|---|---|---|
| Where do players quit, level by level? | With events you send | Progression events | Level funnels and rage quits, built in |
| Do players come back? | Retention | Retention and cohorts | D1, D7 and D30 (install mode) |
| Does my economy or monetisation work? | Events with a revenue property | Best fit: resources, purchases, ads | Purchases as events |
| Which version of a mechanic is better? | Best fit: feature flags and experiments | A/B tests and remote config | Compares releases, no experiments |
| Why does the game stutter, and for whom? | Only what you send yourself | FPS on the Pro plan, no cause | Best fit: every frame, each hitch's likely cause, by device and level |
| What broke, and what was the player doing? | JavaScript error tracking | Error events | Errors with the events before them, source maps for minified builds |
| Can my coding agent read it and fix the game? | Official MCP server, free | MCP server on PipelineIQ, from $499 a month | Best fit: MCP server on every plan, playtest bots that check the fix |
Side by side, for a game in the browser
What each one does in a Three.js, Phaser, Babylon.js or PlayCanvas game, without extra code of your own.
| PostHog | GameAnalytics | Glitchless | |
|---|---|---|---|
| Browser SDK | posthog-js | HTML5 JavaScript SDK | glitchless, with Three.js, Phaser, Babylon.js and PlayCanvas adapters |
| Free tier | 1 million analytics events and 5,000 web recordings a month | Free, no cap on players | 5,000 play sessions a month, 14 days of data |
| Paid from | Usage-based above the free tier | Pro $29 a month billed yearly, $49 monthly | $19 a month |
| Custom events and funnels | Yes | Design events and funnels | Yes, with attribute breakdowns |
| Frame times from players' devices | Only what you send | Health data (FPS, memory) on Pro | Every frame, merged across players |
| A stutter's likely cause | No | No | Long scripts, shader compiles, garbage collection, asset loads |
| Errors | JavaScript exceptions | Error events | Grouped, with the events before and source maps |
| Replay | Session replay; the canvas at 4 frames a second, off by default | No | An event timeline and positions, not video |
| Heatmaps | Clicks on web pages, not inside the canvas | Not listed | Deaths on your level's own coordinates |
| Feature flags and A/B tests | Yes | A/B tests and remote config | No |
| MCP server for coding agents | Official, hosted, free | Official, runs locally, needs PipelineIQ | Hosted and npm, every plan |
| Open source and self-host | MIT except ee/; hobby Docker deploy | SDKs MIT; service closed | MIT; one Node server, no other services |
PostHog: best when the game is also a product
PostHog is a product-analytics suite with a generous free tier. In a browser game you call posthog.capture('level_completed', { level: 3 }) and get funnels, retention and paths, the same as a web app. Its session replay can record a WebGL canvas once you turn canvas recording on, at 4 frames a second by default, which is enough to see a player stuck on a menu, not to see a stutter. Feature flags and experiments let you try two versions of a mechanic on real players.
Where it falls short for a game: it has no idea what a frame is. Frame time, stutters and what caused them are only there if you measure them yourself and send them as events, and its heatmaps work on page elements, not inside the canvas.
- Pick PostHog when the game sits inside a product with sign-ups and payments, you want experiments, or you already use it for your website.
- Skip it when you need to know why the game runs badly on some players' machines.
GameAnalytics: best for free-to-play KPIs
GameAnalytics is built for games, mostly mobile free-to-play. Its HTML5 SDK sends progression events (start, complete, fail), resource events for a virtual economy, business events for purchases, design events for anything else, and error events. The dashboards show retention, cohorts, ARPDAU and the other numbers a free-to-play game is run on, and it's free with no cap on players.
Where it falls short for a browser game: its health data (FPS, memory, boot time) needs the Pro plan and its guides describe it for iOS and Android, it doesn't name what caused a drop, and full detail is kept for about a month. Its MCP server reads the Metrics API, which comes with PipelineIQ.
- Pick GameAnalytics when the game earns from ads and in-app purchases and you want the standard free-to-play KPIs with no setup.
- Skip it when the problem is how the game runs, or your coding agent needs the data on a small budget.
What neither measures in a browser game
A Three.js or Phaser game runs a frame every 16.7 ms at 60 Hz. When one takes 120 ms the player feels a hitch, and an average FPS of 58 hides it. What tells you about it is frame time on players' own devices, the slowest frames rather than the average, and what was happening when a hitch hit: a long script, a shader compiling the first time a material is drawn, garbage collection, an asset loading.
PostHog doesn't collect it, and GameAnalytics' health data is FPS on the Pro plan, with no frame-by-frame times and no cause. Glitchless does it by default: every frame is timed, merged across players by device, level and release, and each hitch comes with its likely cause and the game's events in the second and a half before it. It costs 33.7 KB gzipped and about 0.6 µs of work a frame (measured).
If a coding agent is building the game
All three have an MCP server, so Claude Code, Codex or Cursor can read the data. What the agent gets differs:
- PostHog's MCP server is hosted and free, with about 75 tools: SQL, insights, dashboards, feature flags, experiments, errors and replays. It's general product analytics, so the agent sees what you instrumented and nothing about frames.
- GameAnalytics' GA-MCP runs on your machine and reads its Metrics API: aggregated KPIs such as revenue, ARPU, DAU and MAU, and retention. The Metrics API comes with PipelineIQ (from $499 a month).
- Glitchless's MCP server is on every plan and is built around fixing the game: ranked findings with their evidence, frame times by device and level, errors with the events before them, death hotspots, a release compared with the last one, and playtest bots that check a fix before it ships. How that works in practice.
Using two of them together
They don't fight. Send business events (sign-ups, purchases, experiments) to PostHog or GameAnalytics, and the game's performance, errors and play to Glitchless. A purchase can go to both: in Glitchless it's one glitchless.track('purchase', { amount, currency, item }) call. Glitchless can also pass the same data on to Datadog or any OpenTelemetry backend if the rest of your stack lives there.
Glitchless in a Three.js game
Install glitchless from npm and add two calls after you create the renderer. Frame times, hitches, errors and sessions start arriving; levels and your own events are one call each. Or paste the setup prompt into your coding agent and let it do this for you.
main.js
import { Glitchless, instrumentThree } from 'glitchless';
const glitchless = Glitchless.init({
service: 'my-game',
version: '1.0.0',
intake: 'https://api.glitchless.gg',
clientToken: 'gl_pub_…', // your game's client token
});
// After you create the renderer, scene and camera:
instrumentThree(glitchless, { renderer, scene, camera, THREE });
glitchless.levelStart('level-1');
Frequently asked questions
Is PostHog good for games?
For a game's business side, yes: funnels, retention, experiments and canvas replays work in a browser game. It doesn't measure frame times or stutters, so pair it with something that does if performance matters.
Does GameAnalytics work with Three.js or Phaser?
Yes, through its HTML5 JavaScript SDK, which sends progression, resource, business, design and error events. It has no adapter for the renderer, so frame data isn't collected from a browser game.
Which is free?
All three have a free tier. GameAnalytics is free with no cap on players; PostHog's free tier is a million analytics events and 5,000 web recordings a month; Glitchless is free for 5,000 play sessions a month, and the open-source server is free to run yourself.
Can I use PostHog and Glitchless together?
Yes. Keep PostHog for business events and experiments, add Glitchless for frame times, errors, levels and what your coding agent reads. Both are a few lines in the same game.
Which one can my coding agent use?
All three have an MCP server. PostHog's is free and covers its whole product, GameAnalytics' reads aggregated KPIs and needs PipelineIQ, and Glitchless's is on every plan with tools built for fixing a game: findings, frame times, errors, death hotspots, release comparisons and playtest bots.
Sources
- PostHog: JavaScript library
- PostHog: canvas recording in session replay
- PostHog: heatmaps
- PostHog: Model Context Protocol server
- PostHog: pricing
- PostHog: MCP tools
- GameAnalytics: pricing
- GameAnalytics: SDKs overview
- GameAnalytics: JavaScript SDK event tracking
- GameAnalytics: health metrics
- GameAnalytics: data retention
- GameAnalytics: GA-MCP
- Glitchless: what the SDK costs a web game, measured
- Glitchless vs PostHog
- Glitchless vs GameAnalytics
Something wrong or out of date? Email support@glitchless.gg and we'll fix it. Glitchless isn't affiliated with PostHog, GameAnalytics, the three.js authors, Phaser Studio, Microsoft (Babylon.js) or PlayCanvas; product names are their owners' trademarks.