1. Home
  2. Knowledge Base
  3. Uncanny Toolkit Pro for LearnDash
  4. Simple Course Timer


Please note that time is only tracked from the point at which this module is activated, and only for as long as it stays active. Historical records are not available; time tracking is only possible when this module is turned on.

The Simple Course Timer module is part of the Pro Suite of modules for the Uncanny LearnDash Toolkit. Turning it on tracks all time learners spend inside a LearnDash course, including on course, lesson, topic and quiz pages. With tracking enabled, both total time in course and completion time can be exported in LearnDash reports or displayed onscreen.

Time starts being tracked as soon as the module is enabled. The time columns are also added to the LearnDash course report automatically.

Time is tracked across all devices and courses, but time cannot be tracked when a user is directed away from the WordPress site on iOS and Android, such as when opening a PDF file or link in a new window. Our plugin can only track time when users are inside WordPress and that window is active in the browser, so if users are directed away from WordPress (this includes for full screen video), time tracking will stop while WordPress is in a background tab. If accurate time tracking is required for external resources on mobile devices, consider embedding then on your site instead. There’s nothing we can do to change this behaviour; mobile operating systems disable javascript when a window isn’t in focus to preserve battery live.

Note: Some caching plugins can cause the timer to loop and generate high load on the site. If you experience high resource usage, test with caching disabled.

Live Demo

See this module in action on our LearnDash demo site!

Idle Timeout

Once time tracking is enabled, you may want to make sure you’re tracking a learner’s actual time spent learning, not just leaving his or her browser open on a course page. That’s why the plugin can stop time from being tracked if a user spends too long on a page. When that happens, a pop-up message is displayed asking the user if they’re still on the page. Confirming activity resumes the timer, while navigating elsewhere or showing the message stops the timer.

Simple Course Timer settings modal

To change idle timeout behaviours, go into the Settings window for the module. From this page (pictured above), you can change the default idle time (this can be overridden at the lesson, topic and quiz level), the timeout message (what the user will see when the maximum idle time has been reached), the button label to confirm activity, the button label to exit the course, and where to redirect the user to if the latter button is clicked.

If no time is set in either the module settings or individual LearnDash pages, the default value of 900 seconds (15 minutes) will apply.

Minimum Course Time Before Quiz

If the Enable Quizzes after X time option is checked in the Simple Course Timer settings, a field is added to quiz pages that, when populated, will block users from attempting a quiz if they have not yet logged enough time in the course:



If a user attempts to access the quiz before spending the specified number of minutes in the course, they will see a message:

You must spend 60 minutes in the course before you can attempt the quiz. You have currently spent 18 minutes. Please go back and review course material before attempting the quiz.


The following shortcodes/blocks are available when the Simple Course Timer module is created:

[uo_time course-id=""]

Block Name: Course Cumulative Time

Displays total time spent inside a LearnDash course, including time spent after completing the course. If used without a course-id attribute, this shortcode/block must be used inside a LearnDash course. (We recommend using it on a course page or LearnDash sidebar.)

[uo_time_course_completed course-id=""]

Block Name: Course Time at Completion

Shows the time it took the learner to complete the LearnDash course.  If used without the course-id attribute, this shortcode/block must be used inside a LearnDash course.  There is no value for this shortcode/block until the user completes the course, and after completion, this value does not increase.

Please note, course time at completion does not work on non LearnDash pages.


When the Simple Course Timer module is on, the LearnDash Course Report in Tin Canny includes additional columns for total time and completion time. Once again, the completion time value is only populated when the user completes the course.

The Simple Course Timer also adds additional columns to the reports in Tin Canny LearnDash Reporting.

Was this article helpful?

6 replies
  1. Anna Puman
    Anna Puman says:

    I am looking for a way to set a minimum time for the course completion before the student has the possibility to download the certificate.
    At the moment, students only need to mark lessons as completed to pass the course and we have noticed that some do not take suffficient time to complete the course.
    Would the course timer plug-ing allow me to do so ?

    • Ryan
      Ryan says:

      Hi Anna, we don’t have a minimum time before completing a course, but if you add a quiz as the last step before course completion, the timer does offer the option of requiring users have a minimum amount of time in the course before they can access the quiz. That’s unfortunately the only solution here we can offer; right now we don’t plan to add a timer that restricts when the user can complete the course.

    • Ryan
      Ryan says:

      Can you confirm that you have Toolkit Pro installed and active, and the Simple Course Timer module is active? If that is the case, please do log a support ticket and let us know what you’re seeing onscreen.

    • Ryan
      Ryan says:

      The LearnDash course CSV report includes data for last login, I’m afraid that’s your best option here. Our plugins do not store or output last connection date/time. Sorry about that.



Please note that this is not an official support channel and questions/comments may go unanswered.
To request support, log in to your account and click Submit a Request.

Leave a Reply

Your email address will not be published. Required fields are marked *