Average Session Duration Calculator

Metricuno
June 3, 2026
4 min read
Quick answer

Calculate average session duration in seconds, then compare segments side-by-side to find where engagement drops on your store.

Definition
Engagement metrics

Average Session Duration Calculator

A tool that divides total session time by session count to return average session duration (ASD), with segment comparisons.

An average session duration calculator takes the total time visitors spent on your store and divides it by the number of sessions over the same window, returning a single ASD figure in seconds or minutes. The useful version doesn't stop there — it compares ASD across segments (mobile vs. desktop, paid vs. organic, product page vs. collection page) so you can see where engagement collapses.

For Shopify and WooCommerce stores, ASD is a quick proxy for content fit and page-speed health. A site-wide average hides the problem; the segment delta is where the optimisation work lives.

Also known as
ASD calculator
session time calculator
time on site calculator
Calculator

Average Session Duration Calculator

Inputs

Total session time (seconds)

s

Sum of seconds across all sessions in the period. In GA4: Engagement → Overview, multiply average engagement time by sessions, or pull the raw sum via the API.

Number of sessions

Total sessions in the same window. Match the date range exactly to the total session time above.

Site-wide average for comparison (seconds)

s

Optional. Enter your site-wide ASD to see how this segment compares. Leave at default if unsure.

Result

Average session duration (seconds)

120 s

Average session duration (minutes)

2 min

Delta vs. site average

26.3%

Strongly above site average — protect and learn from this segment

GA4's default 'Average session duration' undercounts because the timer stops on the last hit (which has no subsequent event to measure against). For a more accurate figure, sum `user_engagement` event durations or use BigQuery export.

The calculator is intentionally segment-aware. A site-wide ASD of 95 seconds tells you nothing actionable — but the same store's mobile ASD coming in 26% above desktop tells you exactly where to look next.

The formula behind it

Formula

ASD = Total session duration / Number of sessions

Variables

ASD

Average session duration

Mean time per session, expressed in seconds or minutes.

Total session duration

Sum of session lengths

Total seconds across every session in the analysis window.

Number of sessions

Session count

Distinct sessions over the same window. A session ends after 30 minutes of inactivity by default in GA4.

Worked example

A beauty SKU landing page received 4,500 mobile sessions last week with a combined on-page time of 540,000 seconds.

Total session duration: 540,000 s

Number of sessions: 4,500

120 seconds (2 minutes) per session

Two minutes on a single landing page is strong for mobile — well above the typical 60-90 second mobile baseline. The next question is whether that engagement converts.

The math is trivial; the discipline is in matching numerators and denominators. If you pull total session time from GA4 for last week but session count for last month, the ASD is meaningless. Lock the date range first, then segment.

Session duration measurement also depends on how your tracker handles single-page sessions. Many tools record them as zero seconds because there's no second event to clock against — which drags the average down on landing pages with high single-event bounces.

Typical ASD ranges by segment

Benchmark

Average session duration ranges by device and traffic source for online stores (€1M-€15M revenue band)

SegmentMobile (sec)Desktop (sec)Tablet (sec)
Organic search85-130140-210100-160
Paid search55-9095-15070-115
Paid social30-6055-9540-75
Email120-200180-280140-220
Direct100-160160-240120-180
Referral70-120120-19090-150

Two patterns hold across stores: email-driven sessions run roughly 2x longer than paid-social sessions, and desktop consistently outpaces mobile by 40-60%. If your numbers contradict either pattern, the cause is usually a tracking issue, not a behavioural one.

How to use the result

ASD is a diagnostic, not a goal. A 4-minute average doesn't mean the store is healthy — it might mean the checkout is so confusing that sessions linger before bouncing. Always pair ASD with conversion rate and pages-per-session on the same segment.

The high-value move is the segment delta. Run the calculator twice — once for the segment you suspect underperforms (say, paid-social mobile) and once for your strongest segment (email desktop). The gap tells you how much engagement upside is on the table if you fix intent match or page speed for the weaker segment.

On Shopify, the fastest wins usually come from cutting third-party script weight on mobile collection pages and tightening the headline-to-ad-promise match on paid-social landing pages.

GA4 reports a different ASD than you'd calculate by hand

GA4's 'Average session duration' is the sum of session start-to-last-hit time divided by sessions — single-event sessions count as 0 seconds, which pulls the average down. If you want the engagement-weighted version, use 'Average engagement time per session' instead, or sum `user_engagement` event durations from BigQuery. The calculator above accepts whichever total you trust; just be consistent across the segments you compare.

Frequently asked

Frequently asked questions

Divide the total session time (in seconds) across all sessions in a period by the number of sessions in that same period. For example, 540,000 seconds across 4,500 sessions equals 120 seconds, or 2 minutes per session.

For online stores, 90-180 seconds is typical site-wide. Email and direct traffic usually clear 2 minutes; paid social often sits under 60 seconds. The site-wide number matters less than the segment delta — that's what the calculator surfaces.

GA4 records single-event sessions as zero seconds because it measures the gap between the first and last hit. If a visitor lands and bounces with no further event, GA4 logs 0 — even if they spent 40 seconds reading. Use 'Average engagement time per session' for an engagement-weighted figure.

ASD measures wall-clock time from session start to last interaction, including idle tabs. Average engagement time only counts seconds the tab was in the foreground and the user was active. Engagement time is usually 30-50% lower than ASD.

Not directly. Longer sessions can mean engaged research or a confusing UX — you can't tell from ASD alone. Pair it with conversion rate: if ASD rises and CVR rises, you're winning; if ASD rises and CVR falls, you've added friction.

GA4's default 30-minute inactivity timeout ends a session and starts a new one if the visitor returns. Stretching the timeout inflates ASD without changing real behaviour. Keep the default unless you have a specific reason — like a high-consideration product where research spans hours.

Three usual reasons: mobile pages load slower (people leave before engaging), mobile sessions are more often interrupted by app-switching, and paid-social — which is mobile-heavy — brings lower-intent traffic. A 40-60% gap is normal; more than that suggests a mobile UX or speed issue.

Yes. Filter your analytics to the landing page, sum the session time for sessions that started there, and divide by that session count. The calculator handles the math; you control the segmentation upstream.

Weekly for trend monitoring, monthly for reporting, and ad-hoc whenever you ship a meaningful change to a high-traffic page. Avoid daily comparisons — daily ASD swings 10-20% on noise alone for stores under 100k sessions/month.

Not directly. Google has stated it doesn't use GA session metrics as a ranking signal. But ASD correlates with content relevance and page experience, which Google does measure through other signals like Core Web Vitals and click-through patterns.

Get an AI expert review of your site

Paste your URL — Metricuno's AI runs the same heuristic checks a senior CRO consultant would, scoring your page and prioritising the fixes that'll move conversion fastest.