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:
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_completedbeatsQuestManager.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_finishedwithduration_seconds,skipped_stepsquest_completedwithquest_id,difficultyrank_bought_ingamewithrank_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.
tutorial_finishedwith aduration_secondsproperty. Tells you who actually onboards.first_purchase_prompt_seen. Tells you who your store page reaches. Makes the purchase funnel real.rank_activatedwith arank_nameproperty. Tells you which ranks matter for gameplay, not just the one they paid for.
Related
- SDK: custom events for the code
- Funnels for using events as steps
- AI chat for asking about them in plain English
- AI Knowledge for documenting what each event and property means, so the chat answers are spot on