how can I see the average amount of time users spend on a screen?
Hi Elise S., Please stand by as I search the Mixpanel knowledge base for an AI-powered answer. I normally take about 15 seconds or so. In case AI cannot answer your question, feel free to reach out to Mixpanel support at mixpanel.com/get-support. If you have follow-up questions for this thread, please tag me again with your question: @kapa.ai <follow-up question> 👋
Feel free to ask a follow-up question once I've answered by mentioning me with @kapa.ai
You can measure this in Mixpanel using Sessions and the Session Duration (seconds) property.
Enable / configure Sessions
Mixpanel automatically computes sessions from your existing events (no extra tracking needed). Sessions create virtual events: Session Start and Session End, with a property “Session Duration (seconds)” that is the time spent in that session. [Sessions overview]
Build an Insights report for average session duration
In Insights:
Set the event to Session Start (or Session End).
Use the measurement Aggregate Property → Average on the property Session Duration (seconds) to get the average time per session. [Sessions FAQ; Aggregate property]
Optionally, apply a formula to convert seconds to minutes by dividing by 60. [Sessions FAQ]
Limit to a specific screen
If your screen views are tracked with a property (e.g. Screen Name or Current URL), filter or break down the Session Start (or Session End) events by that property so you only include sessions that contain that screen, or see distributions by screen. [Session controls in reports; Sessions use cases]
This will show you the average amount of time users spend per session that includes that screen. If you need per-user averages (e.g. average session duration per user), use Aggregate Property per User → Sum on “Session Duration (seconds)” and then aggregate by Average. [Sessions FAQ; Aggregate property per user]
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
Mixpanel’s docs describe time per session (via Sessions), but they do not explicitly describe a built‑in way to measure time on a single screen/page only. I’ll outline what is documented and how close you can get.
1. Use Sessions to approximate time on a screen
Sessions give you Session Start / Session End events with a Session Duration (seconds) property. [Sessions overview; Session properties]
You can then:
In Insights, select Session Start (or Session End) as the event.
Set the measurement to Aggregate Property → Average on Session Duration (seconds) to get average session length. [Aggregate property; Sessions FAQ]
Break down or filter by a screen/page property (e.g. Current URL) that is inherited onto Session events to focus on sessions that started on, or included, that screen. [Session properties; Sessions use cases]
This tells you time per session for sessions landing on / involving that screen, not strictly “time on that screen only”.
2. What’s missing
The docs do not show a native “time between two screen view events” metric for a single screen, nor a prebuilt “time on page/screen” feature. The only documented duration metric is Session Duration (seconds) at the session level. [Reserved properties; Sessions FAQ]
So, within the documented features, the closest you can get is:
Use Sessions,
Filter/break down by the screen property,
Interpret the result as time spent per session that includes that screen, rather than exact dwell time on that one screen.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
