Skip to main content

Overview

Every course, quiz, SCORM package, Journey, and survey in Juno has a dedicated analytics view — a multi-tab dashboard showing learner progress, scores, completion rates, and more. Training Analytics — SCORM learner table with KPI cards and status bar

How to access

  • From the unit editor — click the Analytics icon in the sidebar
  • From Admin → Content — navigate to Learning Management, click a unit, then open the Analytics tab
  • Managers see the same analytics views scoped to their direct reports

Analytics tabs

Which tabs appear depends on the content type:
TabCourseQuizSCORMJourneySurvey
Learners
Sections----
Responses✓*--
Steps----
Signatures✓**✓**---
Validation✓***✓***---
Respondent----
* If the course has questions. ** If the content has signature questions. *** If the content has open questions with assigned validators.

Learners tab

The main analytics view. Shows an overview bar, KPI cards, and a detailed learner table.

KPI cards

KPICourseQuizSCORMJourneySurvey
Total Users
Avg. Progress---
Avg. Score----
Avg. Time to Complete--
Avg. Review Score✓†✓†✓†--
Past Due✓‡✓‡✓‡✓‡-
† Only when the unit is inside a Journey that has review data. ‡ Requires the due-date feature to be enabled and at least one learner with an expired due date.

Status breakdown bar

A stacked bar shows how learners are distributed across statuses. Click any segment to filter the table to that status.
StatusColorMeaning
Completed / PassedGreenLearner finished successfully
In ProgressYellowStarted but not yet finished
Not StartedGreyEnrolled but hasn’t opened the content
Didn’t Pass / FailedRedQuiz submitted but below passing grade
In ReviewPurpleOpen questions pending validator review

Learner table columns

ColumnWhat it showsCourseQuizSCORMJourneySurvey
UserLearner name and avatar
StatusCurrent progress state
Progress% of content completed---
GradeQuiz score (%)----
SCORM GradeGrade reported by SCORM package----
SCORM InteractionsNumber of tracked interactions----
Grades ReleasedWhether results were sent to learner-✓*---
AttemptsNumber of attempts used (click to see attempt history)----
Completion DateWhen the learner finished-
End TimeWhen quiz was submitted----
Time SpentTotal time in the content--
Last ActivityMost recent interaction date
Due DateAssignment deadline-
Version ConsumedWhich published version the learner saw---
Consumption ContextWhat the survey was about (course, event, user)----✓**
* Only visible when grade reveal is set to “Let me choose when to send results.” ** Only for Feedback and Engagement survey types.

Table filters

FilterWhat it filtersCourseQuizSCORMJourneySurvey
StatusProgress state
UserSearch by learner name✓*
Completion dateDate range-
End timeWhen quiz was submitted----
Last activityMost recent interaction
AttemptsNumber of attempts used----
Due dateDue date status-
ContextConsumption context----
* User filter is disabled for anonymous surveys.

How “Time Spent” is measured

The Time Spent column counts active engagement with content — not just the time the tab was open.

Same mechanism for courses, quizzes, and journey steps

The same tracking runs for every consumable unit type — courses, quizzes, SCORM (engagement portion), blog posts, journey steps. There is no quiz-specific tracker. The only difference between unit types is how the unit is structured into sections (see Course vs. quiz windowing below).

What gets counted

While a learner is on a content section, the browser sends a small “still here” event every 20 seconds. Each event represents 20 seconds of consumption attributed to that section, that user, and (when applicable) that path / consumption context. When the learner leaves a section (navigates away, closes the unit), any leftover time below the next 20-second tick is flushed in one final event — so a 47-second visit counts as 47 seconds, not 40.

Course vs. quiz windowing

Tracking is per section, not per unit. Each time the learner lands on a new section, a fresh window starts.
Unit typeTypical section layoutWhat this means for Time Spent
CourseMultiple sections (text, video, embedded quizzes, etc.)Each section gets its own 20s heartbeat window. Navigating to the next section starts a new window — natural breaks, no cap issues
Quiz (standalone)Usually one continuous section (the question list)The learner stays on the same section for the whole attempt → one long window. The 60-minute cap (see below) becomes relevant for long quizzes
JourneyOne section per step, mapped to the underlying unit’s sectionsSame as the underlying unit (course/quiz/SCORM) for each step
SCORMOne section wrapperSCORM’s own engagement tracker reports its data; the section heartbeat tracks time on the SCORM player

What does NOT get counted

SituationCounted?Why
Learner is reading and scrollingMouse / keyboard / touch counts as active
Learner walked away for 10+ minutesIdle detection pauses tracking after 10 minutes of no input
Tab is in background but learner returns within 10 minIdle is input-based, not focus-based — keyboard/mouse on another window won’t reset, but coming back triggers it on next interaction
Section visit longer than 60 minutes in one sittingCappedSee 60-minute section cap below
Learner is on the intro / summary / edit screenOnly the consumption view of a section emits events
Quiz countdown is running but learner is idle✗ for Time SpentThe quiz’s own time limit is wall-clock; Time Spent counts engagement only

60-minute section cap

A single section window caps at 60 minutes of tracked time. After that, the heartbeat keeps running but stops sending events — additional time is not counted. The window resets when:
TriggerResets?
Learner navigates to a different section within the same unit (e.g. next section in a course)✓ Fresh 60-min window starts
Learner closes and reopens the unit✓ Fresh window starts
Learner goes idle and comes back✗ Same window — idle pauses heartbeats but doesn’t reset the cap
Learner refreshes the browser tab✓ Fresh window starts
Practical impact:
  • Courses rarely hit the cap because each section is its own window.
  • Quizzes with a long time limit (e.g. 90 or 120 minutes) and a single continuous question list can hit it. A learner who stays in a 90-min quiz will have Time Spent capped at ~60 min even with constant interaction. The quiz submission still works as expected — only the reported engagement is capped.
The cap exists as a safety net against runaway tabs (e.g. a tab left open for days). It is not a session timeout — nothing happens to the learner; only the analytics column stops accumulating.

Resuming after going idle

When the learner becomes idle, the heartbeat stops. As soon as they move the mouse, press a key, or tap the screen, the heartbeat resumes on the next 20-second boundary. No event is sent for the idle gap. This means a learner who opens a 45-minute course, takes a 30-minute call, and comes back will see their Time Spent reflect only the time they were actually interacting — not the full wall-clock duration.

Time Spent vs. time limit

For quizzes with a time limit, the two are independent:
MetricWhat it measuresPauses on idle?
Time Spent (this column)Active engagement with the quiz✓ Yes
Time limit countdownWall-clock from first open✗ No — keeps running
A learner can have Time Spent = 12 min on a quiz with a 60-min time limit if they were idle most of the attempt. Conversely, a learner with multiple attempts can have Time Spent > 60 min total even with a 60-min-per-attempt limit.

User attribute filters

Filter analytics by learner attributes:
  • Location, Department, Position, Job Title
  • HR Business Partner, Role, Employee Type
  • Groups, Company, Ancestors

Filter out inactive users

A toggle in the user attribute filters panel that hides deactivated and deleted users from the analytics view. Inactive users are people whose accounts were deactivated or deleted in User Management — their inactive flag is set to true. When the toggle is on, the same scope is applied consistently across:
  • The Learners table and KPI cards
  • The Steps table (Journey analytics)
  • The user-attribute filter popover (so dropdown options only reflect active users)
  • The export file generated from the toolbar
Use this toggle when you want analytics to reflect only your current, active workforce — for example, when reporting completion rates to leadership and you don’t want totals skewed by people who have since left the organization. Turn it off to audit historical participation, including former employees.
The toggle state persists per user across analytics pages until you change it.

Sections view

Courses only.
Shows completion breakdown per section: Completed, In Progress, Not Started. Click a section to drill into individual learner progress within that section.

Responses view

Courses with questions, quizzes, and surveys.
Question-by-question analytics showing response distribution:
CountMeaning
CorrectAnswered correctly
IncorrectAnswered incorrectly
Partially CorrectSome correct answers selected
In ReviewPending validator review
Click a question to see individual learner responses.

Steps view

Journeys only.
Shows per-step progress for each unit in the Journey. Click a step to open the analytics view for that specific unit.

Validation view

Appears when content has open questions with assigned validators.
Grading interface where validators review and score open-ended responses. Supports three validation modes:
ModeHow it works
ManualValidator reads and grades each response
AutoAI validates the response automatically
RecommendAI suggests a grade, validator confirms or overrides
The Validation tab is disabled until the learner has submitted.

Survey-specific features

Anonymous respondents

When a survey has anonymous mode enabled:
  • User names display as “Anonymous User”
  • Avatar photos are hidden
  • User filter is disabled
  • Respondent IDs are encrypted

Consumption context

For Feedback and Engagement survey types, the analytics view tracks what the survey was about — such as a specific course, event, or user. This appears as:
  • A Consumption Context column in the learner table
  • A Context filter to narrow results by context

Respondent tab

Unique to surveys. View an individual respondent’s full set of answers. For surveys with consumption context, you can filter respondents by the context they responded in.

Who can open survey analytics

Which surveys appear in your analytics view depends on your role:
RoleSurveys you can open analytics for
Super AdminAll surveys in the tenant
Admin / Content AdminSurveys you created, surveys you co-edit, and surveys marked Available for Admins
Manager / LearnerNo access to survey analytics
Super Admin analytics access mirrors the surveys list — if you can see a survey in Surveys as a Super Admin, you can also open its analytics. Other admins still need to be the creator, a co-editor, or have the survey marked Available for Admins.

Version selector

When a course or quiz has multiple published versions, use the version selector to view analytics for a specific version or all versions combined.
Requires the analytics versions feature flag to be enabled.

Exporting analytics data

Click the export icon in the learner table toolbar to generate an Excel/Sheets file containing:
  • Main sheet — learner data and question answers (for courses and quizzes)
  • Dictionary sheet — column definitions and data descriptions
  • SCORM interactions sheet — detailed SCORM interaction data (SCORM content only)
  • Journey export — generates one sheet per step in the Journey

Manager vs. Admin scope

RoleWhat they see
AdminAll learners across the organization
ManagerOnly their direct reports
Co-editorAll learners (same as admin for that specific unit)
Last modified on June 7, 2026