Own your raw event data, reduce analytics costs, and avoid recurring SaaS pricing. DataQuery is a self-hosted analytics pipeline for game studios looking for a practical alternative to Firebase Analytics, Amplitude, devtodev, etc.
No subscriptions. No per-user fees. No per-event pricing.
Many studios start with Firebase Analytics, Amplitude, or devtodev because setup is fast. The problem appears later: more players means more in-app events produced, more storage, more querying, and more cost pressure.
Once your game starts generating serious event volume, analytics pricing stops feeling lightweight. High daily event counts can quickly turn a convenient tool into a recurring cost problem.
Raw event access, exports, and downstream flexibility are often limited by the platform you chose early. That creates lock-in exactly when you need more control.
A custom analytics pipeline gives you freedom, but most studios do not want to spend weeks assembling ingestion, storage, modeling, and BI from scratch.

I work in data engineering and I have also spent time around game development teams where analytics volume grows fast and platform limits become real. I've seen what happens when Firebase Analytics hits the 1 million events per day limit: either you pay for the enterprise version or you start losing data.
DataQuery comes from that exact problem. Teams need a simpler way to run analytics on infrastructure they control, without committing to recurring SaaS pricing or building the whole pipeline from zero.
More about me: dataengineer.fi
DataQuery gives you a deployable analytics pipeline that runs on your infrastructure and keeps raw event data portable from the beginning.
I deploy the system into your infrastructure for a one-time 500 EUR payment. No recurring service fee from me. If your team prefers, you can also install it yourself for free.
Events are written to the Blob storage in Parquet format (Google Cloud Storage by default). That means your raw event layer stays portable and can be moved, replayed, or connected to other systems later without locking your tracking model to one vendor.
The default DataQuery setup is designed to be simple to understand, practical to run, and easy to evolve later.
Backend event endpoint is supported now. JavaScript SDK support is available. Game SDKs are coming soon.
The default setup runs on one VM with Docker containers for collector-api, raw-writer, and NATS JetStream.
Raw events are stored in Google Cloud Storage as Parquet and connected to BigQuery as an external table. OBT data model is provided and done in Dataform. You can use Dataform or dbt to transform data into reporting-friendly output tables in BigQuery on your own.
Metabase is the suggested open-source BI layer and can be deployed separately, for example on Google Cloud Run or dedicated VM.
DataQuery uses a simple event envelope with stable top-level fields and flexible custom payload areas.
{
"event_id": "uuid",
"app_id": "mygame.prod",
"environment": "prod",
"event_name": "level_completed",
"event_timestamp": "2026-04-06T06:00:00.000Z",
"received_at": "2026-04-06T06:00:00.412345+00:00",
"user": {
"user_id": "123",
"user_pseudo_id": "anon_abc",
"session_id": "sess_xyz"
},
"device": {
"platform": "android",
"app_version": "1.4.2",
"os_version": null,
"device_model": null,
"locale": null,
"timezone": null,
},
"event_params_json": "{
"level": 12,
"duration_sec": 84
}",
"user_properties_json": "{
"payer": true,
"country": "FI"
}",
"traffic_source_json": "{}",
"geo_json": "{}",
"consent_json": "{}",
"ingest_request_id": "5d89a0c9-8e70-4108-b5e8-49bf9b2896d8",
"ingest_user_agent": "iOS ...",
"ingest_ip_hash": "d8e0...",
"nats_stream": "EVENTS",
"nats_sequence": 12345
}
event_id, app_id, event_name, and event_timestamp define the event envelope and make ingestion, replay, and downstream processing predictable.
user_id, user_pseudo_id, and session_id support both authenticated and anonymous analytics patterns.
event_params and user_properties are designed for custom sub-fields. These can later be transformed in Dataform into explicit reporting columns and output tables.
Choose the path that fits your studioโs technical capacity and urgency.
Access is shared after a short form, not as instant anonymous download.
A practical alternative to recurring analytics platform pricing.
This is not meant to be everything for everyone. It works best for teams with some analytics maturity who want ownership without building the whole stack from zero.
No. DataQuery is a self-hosted analytics pipeline deployed into your infrastructure.
You do. The default supported setup uses your own VM and Google Cloud services where needed.
No. The service offer is a one-time 500 EUR setup payment. The self-serve version is free.
The default setup starts simple, usually on one VM, and can be scaled later as your traffic increases. Cloud VM is easy to scale, usually computing performance can be increased just by updating settings in the interface.
I personally worked with Google Cloud Platform and UpCloud, these two I would recommend.
Use my refferral link for UpCloud (https://signup.upcloud.com/?promo=UR4689) to get 25 EUR as bonus. VM costs start at 3 EUR/month.
Raw events are written to the blob storage in Parquet format (Google Cloud Storage by default).
Yes. Portability of the raw layer is one of the main design goals.
Yes. Backend producers are supported now. JavaScript support is included, and game SDK support is planned.
It is designed for teams that want to move away from those tools and own their analytics stack, though migration details depend on your current event setup.
Yes. I'm working on it.