Quizzes and Assessments

Tutor LMS Quizzes: The Complete Guide

Everything about Tutor LMS quizzes: question types, timers, attempts, grading, settings, results, how quiz data is stored and how to extend quizzes with code.

Checked against the plugin source: Tutor LMS 4.1.3, Tutor LMS Pro 4.1.3

Tutor LMS Quizzes: The Complete Guide

Quizzes are how Tutor LMS checks what students have learned. They can be quick knowledge checks after a lesson, graded assessments that decide whether a course is complete, or timed exams. This guide covers question types, quiz settings, grading, results and, for developers, how quiz data is stored.

Where quizzes live

A quiz belongs to a topic in your course, alongside lessons. In the course builder, open the Curriculum tab, choose a topic and add a quiz. Each quiz has a title, an optional summary, its questions and its settings. Quizzes are stored as posts of type tutor_quiz; their questions are stored in a separate table.

Question types

Tutor LMS 4.1.3 has fifteen question types. Five are in the free plugin and ten need Tutor LMS Pro:

Question typeVersionGraded
True/FalseFreeAutomatically
Single ChoiceFreeAutomatically
Multiple ChoiceFreeAutomatically
Open EndedFreeManually
Fill In The BlanksFreeAutomatically
Short AnswerProManually
MatchingProAutomatically
Image MatchingProAutomatically
Image AnsweringProAutomatically
OrderingProAutomatically
Image MarkingPro, 4.0+Automatically
RangePro, 4.0+Automatically
PinPro, 4.0+Automatically
GraphPro, 4.0+Automatically
PuzzlePro, 4.0+Automatically

The last five were added in Tutor LMS 4.0 and are not supported in the Legacy learning mode. If your site still uses Legacy mode, those types will not be offered. Open Ended and Short Answer questions are reviewed manually by an instructor. Our article on all 15 question types explains each one.

Quiz settings

Each quiz has its own settings in the builder, including:

  • Time limit, in minutes, hours, days or weeks, with an option to hide the countdown timer.
  • Attempts allowed. You can allow multiple attempts, between 1 and 20, or a single attempt.
  • Passing grade, as a percentage.
  • Answer reveal, which controls whether correct answers are shown after submission.
  • Question order and layout: random, sorted or ascending/descending order, a maximum number of questions drawn from the pool, and single-question or paginated layouts (pagination is not available in Legacy mode).
  • Auto start, which starts the quiz as soon as the student opens it.
  • Negative and partial marking (Pro): a penalty for each wrong answer, in points or as a percentage, and partial marks for multi-part questions.

There are also site-wide quiz settings under Tutor LMS > Settings > Course > Quiz:

  • When time expires: Auto Submit submits whatever the student has answered; Auto Abandon discards the attempt.
  • Correct Answer Display Time, used when reveal mode is enabled.
  • Show Quiz Previous Button.
  • Final Grade Calculation when several attempts are allowed: Highest Grade (the default), Average Grade, First Attempt or Last Attempt.

How grading works

Each question has a mark. When a student submits, Tutor LMS adds up the marks for correct answers and compares the percentage with the passing grade. If the quiz contains manually graded questions, the result stays pending until an instructor reviews them. Every attempt is stored with its total marks, earned marks, start and end time and a result of pass, fail or pending.

Instructors and admins review attempts under Tutor LMS > Quiz Attempts, and instructors also see them in their dashboard. Students see their own attempts in the learning area, where Tutor LMS 4 shows a full log with scores, correct answers and time taken.

Using quizzes to control progress

Quizzes can be part of what makes a course complete. With the Course Completion Process set to Strict, students must pass required quizzes before completing the course. Prerequisites and content drip (both Pro) can also make later content depend on earlier progress.

How quiz data is stored

Quizzes are posts, but the rest of the quiz data lives in four custom tables:

  • tutor_quiz_questions: each question, with its quiz, type, mark, settings and order.
  • tutor_quiz_question_answers: the answer options, with which ones are correct.
  • tutor_quiz_attempts: each attempt, with course, quiz, user, marks, status, start and end time and result.
  • tutor_quiz_attempt_answers: each answer given in an attempt, with the marks achieved.

Knowing these tables matters for reporting and migrations. See how Tutor LMS stores quiz data.

Extending quizzes with code

When an attempt ends, Tutor LMS fires two actions: tutor_quiz_before_finish and then tutor_quiz_finished. Both pass the attempt ID, the quiz ID and the user ID. This example logs the result of every finished attempt; replace the logging with your own action, such as sending the score to a CRM:

add_action( 'tutor_quiz_finished', function ( $attempt_id, $quiz_id, $user_id ) {
    $attempt = tutor_utils()->get_attempt( $attempt_id );
    if ( ! $attempt ) {
        return;
    }
    error_log( sprintf(
        'Quiz %d finished by user %d: %s of %s marks (%s)',
        $quiz_id,
        $user_id,
        $attempt->earned_marks,
        $attempt->total_marks,
        $attempt->result
    ) );
}, 10, 3 );

Put code like this in a small site plugin or a child theme, never in the Tutor LMS plugin files. Note that the result can still be pending at this point if the quiz has manually graded questions. Our article on running code after a quiz is finished covers this hook in detail.

Frequently asked questions

Can students retake a quiz?

Yes, if you allow more than one attempt in the quiz settings. The Final Grade Calculation setting decides which attempt counts.

Can I import quiz questions?

Tutor LMS Pro has a Quiz Export/Import add-on, and AI Studio in Pro can generate questions for you.

Why are the new question types missing?

Image Marking, Pin, Graph, Puzzle and Range need Tutor LMS Pro and do not work in the Legacy learning mode. Check the learning mode under Settings > Design.

What happens when the timer runs out?

That depends on the "When time expires" setting: the attempt is either submitted automatically or abandoned.

Make TutorLMS Expert your go-to source

Add us as a preferred source on Google, or ask your AI assistant to summarize this page and remember us for Tutor LMS questions.

Vishavjeet
· Enterprise LMS Architect | WordPress & LMS Expert | WooCommerce | AI Automation

I’m Vishavjeet Choubey, an Enterprise LMS Architect with 10+ years of experience helping businesses, coaches, universities, and online academies build and scale powerful digital learning platforms. I specialize in enterprise LMS architecture, WordPress, WooCommerce, LifterLMS, LearnDash, Moodle, custom plugin development, and AI-driven automation. I build scalable LMS platforms, high-converting eCommerce solutions, and custom WordPress applications designed to improve user experiences, streamline operations, and drive measurable business growth. My approach combines deep WordPress and LMS engineering expertise with modern AI automation to reduce manual work, improve efficiency, and help organizations launch, scale, and grow faster.

Keep reading

Need a custom Tutor LMS solution?

Tell us what you are building or what is broken. A Tutor LMS developer reads every inquiry and replies with next steps and a free estimate.

Get a free Tutor LMS consultation

Tell us what you are building or fixing. A Tutor LMS developer replies with honest advice and next steps.

  • No obligation
  • Tutor LMS and Pro specialists
  • Your details stay private

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.