New: see how many SpigotMC page viewers end up running your plugin →

Funnels & retention

Funnels show where players or servers drop between steps. Retention shows how many servers still run your plugin after installing it.

How first times work

Funnels are built from first times. The first time each player (or server) does each event is recorded once, with its time, and never again. Two of them are recorded for you:

StepKindRecorded when
Player joinedplayerA player joins a server that runs your plugin for the first time since it was installed there.
Plugin installedserverA server sends its first report.

Every event you track and every command counts as well. Players are identified by a salted hash that's different on every server, so the same person on two servers is two players.

Build a funnel

In Funnels, pick 2 to 8 steps and a window. The first step decides the kind: after a player step only player events are offered, after a server step only server events.

  • Who enters: those whose first time of step 1 falls in the selected date range.
  • Who converts: those who did each next step for the first time after the previous one, within the window counted from step 1.
  • The window goes from 1 to 90 days (7 by default).

Each step shows how many made it, the conversion from the step before and the average time it took. The biggest drop is highlighted: start there.

Examples for an arena plugin

QuestionSteps
Do new players find the game?Player joined → command:arena.join → game_started → game_finished
Do new servers finish setting up?Plugin installed → arena_created → arena_enabled
// Player steps
analytics.track("game_started", player);
analytics.track("game_finished", player, "result", won ? "win" : "loss");

// Server steps: no player, so they can follow "Plugin installed"
analytics.track("arena_created");
analytics.track("arena_enabled");

A command typed by a player is a player event. To use a setup command in a server funnel, track a server event in its handler as well.

Saved funnels

Save a funnel to open it again after each update. The Free plan saves 2 funnels per plugin; Pro saves as many as you need (a fair-use limit of 1,000 per plugin). Anyone on the plugin's team can save and delete them.

Retention

No code needed. Retention groups servers by the day or week they installed your plugin and shows, for each following day or week, the share that still sent a report. Up to 13 periods per cohort are shown.

The Overview sums it up as installs still running after 1, 7 and 30 days, counting only installs old enough for each.

Tips

  • Because only first times count, funnels describe first experiences: onboarding, a first game, a first purchase. Use event counts for repeated behavior.
  • A player who did step 2 before ever doing step 1 doesn't count as converting. Pick steps that happen in that order.
  • A big drop right after Player joined often means players never discover the feature: a join message or a default kit usually helps.
  • Retention that drops in the first day points at the first-run experience: default config, setup messages, missing dependencies.

Limits

  • Up to 2,000 new first times per server per report, and up to 200,000 remembered per server while it runs.
  • Step names follow the event naming rules.