Skip to main content

Custom events

Overview

The platform measures your game's high-level performance — daily active users, new users, retention — without any work on your side. Custom events answer the questions those charts can't: how far players get, which features they touch, and where they convert. This guide walks through sending events from your game and viewing them in the Developer Console.

Send events from your game

Once the SDK is initialized, call JestSDK.captureEvent() at the moments you want to measure:

JestSDK.captureEvent("game_over", {
score: 1240,
gamesPlayed: 7,
isNewHighScore: true,
});

JestSDK.captureEvent("purchase", { sku: "extra_life" });

The call is fire-and-forget — it returns immediately and the platform delivers the event in the background. You don't need to add player or game context yourself: every event automatically carries the game slug, game version, and whether the player is registered, and is associated with the current player.

A small, stable set of events covering your core funnel goes a long way. The tutorial game ships with just three — game_over, purchase, and subscribe — which together show how far players get and where they convert. Use lowercase snake_case names, keep properties JSON-serializable and consistent per event, and keep PII out of both. See Naming events for the full guidance.

View events in the Developer Console

Events appear in the Developer Console a few seconds after they fire, which makes the console the quickest way to verify new instrumentation end to end:

  1. Open the Jest Developer Console and navigate to Games > Manage Game > Analytics.
  2. Scroll to the Custom events panel.
  3. (Optional) Filter by Event name (e.g. level_complete), Game version, or Player ID.
  4. Click Apply.

Events from the last 7 days are listed newest first. Each row shows when the event was captured, its name, the player who sent it (guest events show guest instead of a player ID), and its properties — click a row's properties summary to expand the full JSON, including the automatic game_slug, game_version, and registered context.

The panel is an inspection and debugging surface: use it to confirm events arrive with the names and properties you expect, to spot-check a specific player's events while troubleshooting, or to compare event payloads across game versions after a release.

Next steps