Analyse
FeaturesCustom events

Features

Custom events

Track anything your plugin can see: kills, wins, ranks bought, quests finished. Use them in funnels and dashboards.

Custom events are how you teach Analyse about the things that make your server unique. Kills, wins, ranks bought, quests finished, kits taken, milestones hit. Anything your plugin can see, you can track as an event.

Once an event is sent, it shows up everywhere: in Sessions, in Funnels, in Dashboards, and in the AI chat.

Plan

Custom events are available on current plans.

Why it's worth doing

A server without custom events is basically tracking "players joined and played". A server with custom events can answer questions like:

  • How many players reach level 10 on their first day
  • Which kit leads to the highest retention
  • What percent of new players finish the tutorial
  • How long it takes an average player to get their first kill

Every extra event you add is another lens on your server.

How to send events

Events are sent from your Java plugin using the SDK. The code is genuinely a few lines. Full code examples live in SDK: custom events. The quick idea:

java
Analyse.event(player)
.name("tutorial_finished")
.property("duration_seconds", 42)
.send();

Don't have the SDK yet

Follow SDK installation first. It takes two minutes (Maven/Gradle dependency).

What makes a good event name

  • Lowercase with underscores: tutorial_finished, first_kill, quest_completed
  • Named after the thing that happened, not the code path: quest_completed beats QuestManager.onComplete
  • Stable over time: if you rename events later, old data doesn't match anymore

Properties

Each event can carry properties: small pieces of extra information that make it useful later. Good examples:

  • tutorial_finished with duration_seconds, skipped_steps
  • quest_completed with quest_id, difficulty
  • rank_bought_ingame with rank_name, price

Properties become filters and group-bys everywhere in the UI.

Seeing events in the UI

Events page

Every Server has an Events page listing every event type the plugin has ever sent, with volume, distinct players, the property keys in use, and when it was last seen. This is where you verify a new event is flowing correctly.

Funnels

Funnels use events as steps. Once your tutorial_finished event is sending, it becomes a step option in the funnel builder.

Dashboards

Any event can be turned into a widget: counts over time, breakdowns by property, averages, and so on.

AI chat

The AI will answer questions about custom events once it knows they exist. "How many quest_completed events did we get yesterday, broken down by difficulty?" works out of the box.

Start with these events

If you're brand new to custom events, build just these three first. They pay for themselves within a day.

  1. tutorial_finished with a duration_seconds property. Tells you who actually onboards.
  2. first_purchase_prompt_seen. Tells you who your store page reaches. Makes the purchase funnel real.
  3. rank_activated with a rank_name property. Tells you which ranks matter for gameplay, not just the one they paid for.