Skip to documentation
Coal Developer docs
User metricsOverview

Game event collection

Coal is a minimal game analytics collector, built to answer the common questions in a game's user funnel: how many installations start playing, how often they return, how long sessions last, and where tutorial, level or run attempts succeed or fail. A small, consistent set of events feeds daily metrics; start with sessions and meaningful progression stages.

It measures first observed installations, daily active installations, D1/D7/D30 retention, sessions, active app time and progression outcomes. “New installations” measures first observed activity from a random local ID. Start with Events and metrics to decide what to report, then choose your implementation below.

IntegrationJavaScript SDK

Let the SDK manage identity, sessions, progression and offline delivery.

Get started
IntegrationDirect API

Send HTTPS requests from any language or engine with your own client.

Get started

Start with a small event plan

Use the minimal metric examples for installation identity, return visits, session starts, foreground duration and progression, with SDK calls and equivalent Direct API fields.

For the basic activity and retention metrics, keep one stable installation identity and report sessions whenever the app is used. The JavaScript SDK handles that lifecycle automatically after initialization. With the Direct API, your client must generate and persist the identities and emit the session events itself.

For progression, instrument a few meaningful stages—such as the tutorial and first playable level—with a start and a matching completion or failure for each attempt. See the metric requirements and a sample event plan.

Progression charts show daily attempt and outcome counts for those stages.

Available clients

The JavaScript SDK handles collection and delivery for your app. The Direct API supports custom clients in any language that can send HTTPS and JSON.

Unity, Unreal, Godot and native integrations can use the Direct API.

Before you start

Select your game in Coal and open User metrics → Setup. An organization administrator with access to the game creates and copies its public ingestion key. Creating the first key activates collection. Your game’s owning organization must retain eligible Coal access.

Your app owns its consent and reporting controls. Keep event names consistent between releases and send small structured gameplay properties.

Understand your data

All games use the shared collector, and the key determines ownership. Coal displays daily UTC aggregates. An accepted batch appears in the charts after the next aggregation run, about every 15 minutes.

Read Shared concepts for collector addresses, key lifecycle and metric meaning. Use Verify and troubleshoot before release. For coding agents, AI integration guide links to the complete Markdown reference.