Sessions

How often the product is opened, how long visits last, and how soon profiles come back. Sessions are the visits your SDK reports, counted, timed, and broken down by segment, duration, frequency, and loyalty.

What a session is

A session is one visit. It starts when the SDK reports that the app came to the foreground or the page opened, it keeps going while the SDK sends duration updates, and it ends when the app is closed, backgrounded, or the page is left. The server counts the session when it begins and adds up its duration as the updates arrive.

Sessions are the base unit behind much of Countly. A profile's first and last seen dates come from its sessions, the Profiles section counts profiles by them, and most metrics elsewhere are read "per session" or "per profile that had a session". This section is where sessions are studied on their own.

Five questions, five tabs:

  • Overview answers "how much" for the date range and points into the other tabs.
  • Segments answers "which" by breaking sessions down by platform, app version, country, source, and thirteen more dimensions.
  • Durations answers "how long" with sessions bucketed by length.
  • Frequency answers "how soon again" with sessions bucketed by the time since the same profile's previous session.
  • Loyalty answers "how many times ever" with profiles bucketed by lifetime session count.

Every tab except Loyalty follows the date range in the header. Loyalty describes profiles as they are now.

Sessions, profiles and new profiles

Every Sessions screen shows the same three counts, and they answer different questions.

  • Total sessions counts visits. A profile that opens the app three times in a day contributes three.
  • Unique sessions counts profiles. It is how many distinct profiles had at least one session, counted once per profile in each bucket of the chart or table. Ten sessions from one profile are one unique session.
  • New sessions counts first visits. A profile is new on the day of its very first session and never again, so this number can only be as large as the number of profiles created in the period.

Because uniqueness is decided per bucket, daily unique counts do not add up to the weekly or monthly number, and the KPI card for the whole range is not the sum of the daily table beneath it. A profile active on five days is one unique session for the range and five in the daily view.

The three counts relate to each other. New sessions are always a subset of unique sessions, and unique sessions are never more than total sessions. When total sessions grow but unique sessions do not, the same profiles are coming back more often; when both grow together, the audience is growing.

Use Cases

See whether usage is growing

Tell in one look whether the product is used more than it was.

  1. Open Sessions and set the date range in the header. A whole week or month reads better than a few days.
  2. Turn on comparison in the date picker. Every KPI card shows the change against the previous period of the same length, and the chart draws the previous period beside the current one.
  3. Read the KPI strip left to right. Total sessions up with unique sessions flat means the same profiles visiting more; both up means a bigger audience; new sessions up on their own means acquisition is working but retention has not caught up.
  4. Look at Sessions over time for the shape of the change. A step on one day is a release or a campaign; a slope is organic.
  5. Scroll to Daily values to read the exact numbers for any day, or export the table.

Active Profiles asks the same question in reach: distinct profiles per day, week, and month rather than visit counts.

Find where sessions come from

Know which platforms, versions, countries, or sources carry the traffic, and which ones changed.

  1. On the Overview, read Top segments. App versions, devices, and platforms each show their top five by sessions; click a column title to open that dimension in Segments.
  2. On the Segments tab, pick a dimension from the breakdown picker. Geography, technology, and acquisition dimensions are grouped in the dropdown, and the picker searches.
  3. Pick the metric on the trend chart. All sessions shows volume, unique sessions shows reach, new sessions shows acquisition. Switch Totals to Percentage to see share instead of counts.
  4. Read the ranked breakdown for the current standings and the gauges for how much of the whole the three leaders hold.
  5. With comparison on, read each value's change in the segment table to find the one that moved most.
  6. Continue in Drill when the question needs a filter the Segments tab does not offer, for example sessions by app version for one country only.

Judge how sticky the product is

Find out whether profiles come back, and how often.

  1. Open the Frequency tab. Each session is bucketed by how long it had been since the same profile's previous session. The left of the chart is habitual use, the right is profiles drifting away.
  2. Compare the first two buckets with the last two. Sessions in "1-24 hours" and "1 day" are a daily habit; sessions in "15-30 days" and "30+ days" are returns after a long absence.
  3. Open the Loyalty tab. Profiles are bucketed by how many sessions they have ever had, in three series. All profiles is the whole base; the 7 day and 30 day series are the part of it that is still active.
  4. Compare the two active series with the whole. Where the active series thin out is where profiles stop coming back.
  5. Narrow the audience with the filter at the top, for example to profiles from one campaign or one cohort, and compare their distribution with everyone's.

Tell short visits from real engagement

Separate real use from sessions that barely happened.

  1. Open the Durations tab. Sessions are bucketed by length, from "0 - 10 seconds" to "> 1 hour".
  2. Read the first bucket. A large share of sessions under ten seconds usually means launches that went nowhere: a notification opened and dismissed, a crash on start, the app brought to the foreground by accident.
  3. Turn on comparison to see whether the short bucket grew after a release.
  4. Read the middle. Where the bulk sits, and whether it moves toward the longer buckets over time, says more about engagement than the average duration on the Overview does.
  5. Go back to the Overview and check Avg session duration with the shape in mind. Averages hide a split between very short and very long sessions; the distribution shows it.

FAQs

Why do the daily unique sessions add up to more than the monthly number?

A profile is counted once per bucket. Someone active on five days is five daily uniques and one monthly unique. Compare like with like: daily with daily, range with range.

Why is the "0 - 10 seconds" bucket so large?

Launches that went nowhere. A notification opened and dismissed, a crash on start, or an app brought to the foreground by accident all produce a session that ends within seconds. The Crashes section and the release date usually explain a jump.

Why do New sessions differ from the new profiles in the Profiles section?

New sessions count a profile on the day of its first session, in the project's time zone. Profiles created without a session, for example by an import or a server-side call, never appear here.

What is "Other" in a Segments chart?

Every value past the top slice, folded into one series so the chart stays readable. The table below lists each value on its own.

Why does Countries show data while Cities is empty?

Cities are recorded only for profiles in the project's own country, and only while city tracking is on. Countries are recorded for every profile while country tracking is on.

Does the date range apply to Loyalty?

No. Loyalty describes profiles as they are now, by lifetime session count. The 7 day and 30 day series count back from today.

A session lasted longer than a day. Is that real?

Probably not. The SDK may have kept sending duration updates from a background process. The server caps each update at the maximum session duration, so one runaway session cannot distort the average by more than that.

Was this page helpful?
Reach out to us for any other questions.
Helpful?

Looking For More Help?