Skip to content
Skip to main content
← Back to Documentation

Retention, active users and activation

Three dashboard widgets that answer whether the people who signed in keep coming back, over the opaque user id your own application supplies.


These three widgets, and the per-user mode of the Feature usage widget, only compute anything for a site switched to pseudonymous mode, because a cohort needs a stable key and an anonymous site has none by design. See Identity Modes for what that mode is and how to call setUserId; on an anonymous site, each widget below names the setting it needs instead of drawing an empty chart.

Retention

A cohort matrix and curve: of the users who first appeared on a given day, how many came back on day 1, 7, 14 and 30.

Active users

Daily and monthly active users, a stickiness ratio, and a histogram of how many of the last 30 days each user was active on.

Activation

Share of newly signed-in users who completed a goal within a window you choose, by weekly cohort.

Retention: bounded and unbounded

A cohort is every user whose first identified day on the site was the cohort's day. The matrix has two readings of the same cohort, switched with a toggle and never mixed in one column:

  • Bounded (Day N): Users whose first day was the cohort day and who returned on exactly day N. This is the stricter number: a user who skipped day 7 and came back on day 8 does not count toward day 7.
  • Unbounded (Day N+): Users whose first day was the cohort day and who returned on or after day N. This is the more forgiving number: any return on or after the day counts.

Both are read off the same stored rows, through the same function for each metric, so the choice of toggle changes which question is asked, never the underlying count.

Reading the cohort matrix

  • Blank cells (—): the cohort has not reached that day yet. A cohort that started three days ago has no day-7 or day-30 column: the widget leaves the cell blank rather than showing a low number for a window that has not elapsed.
  • Greyed rows: a cohort of fewer than 30 users is shown in grey, with the cohort size stated beside it. The rate is real, but too small a sample to read as a trend.
  • Truncation: on a site with enough identified users that a single read would be unbounded, the matrix says so and counts from the most recent cohorts in the range, rather than silently dropping rows and looking complete.

Active users: DAU, MAU and stickiness

Daily and monthly active users are plotted together, with a stickiness ratio on its own axis:

Stickiness. Users active today over distinct users active in the trailing 30 days.

A day with no trailing 30-day window yet (nobody has been active for that long) draws as a gap in the line, never a false 0%.

The L30 histogram. Users bucketed by how many of the trailing 30 days, ending the report day, they were active.

A user who shows up on most of the last 30 days is a different kind of active than one who shows up once and never returns; the histogram separates the two rather than averaging them into one stickiness number.

Activation

The activation rule. Users first seen in the cohort window who met the activation goal within the activation window.

You pick the goal and the window in days; the widget groups users by the Monday-starting week they were first seen and shows the rate per week, with each week's cohort size beside it. A week too recent for the window to have elapsed yet renders blank, the same rule the retention matrix follows.

The activation predicate is a goal. Today that means a goal triggered by a custom event: the widget needs a goal whose action it can match against the events your site already sends, and a site whose only goals are a URL visit, a time-on-site, an external link or a file download is shown the same "create a goal" state as a site with no goals at all, rather than a picker that would fail on every selection.

Feature usage, per user

The Feature usage widget counts a registered event's reach two ways, and a pseudonymous site sees the per-user reading: Eligible users who fired the feature event, over all eligible users. An anonymous site keeps the visit-based reading ("share of visits"); the two are never shown on the same card, and the widget's subtitle always says which one you are looking at.

What this needs from your site

Every number on this page comes from rows that only exist once a site is switched to pseudonymous mode and its own application calls setUserId. See Identity Modes for how to turn the mode on, the setUserId call itself, and what the id you pass may and may not be. Switching a site back to anonymous stops new cohort rows immediately; rows already recorded are not rewritten.

Where to find the widgets

Retention, Active users and Activation are opt-in: add them from the widget picker in dashboard edit mode. They are not on the default layout, because most existing dashboards have not yet switched a site to pseudonymous mode. See Dashboard overview for every widget on the catalogue.

Explore the documentation

Jump to another guide.