iSpring QuizMaker can send the quiz results to the instructor's and learner's email address, or to a server

Types of Reports

The shorter version of the report includes basic information about the learner's results, such as quiz completion time, the awarded score, and the list of questions. 


The extended version includes general info, results by question groups, and detailed information on how users answered each question. 


You can configure what information will be included in the report in the Reporting section of the Quiz Properties.

Sending Report to Instructor

  1. Select the checkbox Send report to instructor and type in an email address or several email addresses in the text box next to it. 





  2. By default, the report will be sent when the quiz is passed or failed. If you want to receive the results of the successful attempts only, select Passed in the menu. 



  3. If you want, you can include individual choices in the report to find out what each participant selected for their answers. 

Sending Report to a Learner's Email

You can set up your quiz so that your quiz takers will receive their individual results to their email address after they complete your quiz. First, you need to add a slide where you ask users to enter their email address, and then set up your report info in the Quiz Properties.

  1. To add a slide, click Introduction on the toolbar and add a User Info slide to your quiz. 



  2. The slide with the User Info form will be added to the list of slides in the Intro group. 
    This slide contains fields that will help you collect users' personal information, like email addresses, before they start the quiz. Here you can select which fields to add to the form. Make sure that the Email field condition is set to Mandatory



  3. Next, go to the Properties and set up your report details. To do this, click Properties on the toolbar and go to the Reporting tab. 

  4. Select the checkbox Send report to user's email



  5. Additionally, you can extend your report with the following details:

    • Results by question group
    • Question list
    • User's answers
    • Correct answers
    • Feedback text



  6. Once everything is set up, click on Save to apply the changes. 

    Now you can publish your quiz to test it out and see if the report includes all the necessary information.

Sending Report to Server

iSpring QuizMaker provides a variety of ways to deliver results. If a Learning Management System that automatically tracks quiz progress is not an option in your case, you can send quiz results to server.

With this approach, you may build your own tracking system on your server. This advanced solution will require additional development and may incur extra costs, depending on the requirements for creating your custom system.

iSpring on Github

Here you can get a free sample script that will process incoming quiz data on your server.

This script is provided “as is” with a text instruction inside and description in this article. No support is provided for modifying it or setting up on your server.

Quiz configuration

  1. Open an existing quiz or create a new one. Next, select Properties on the QuizMaker toolbar.


  2. Then select Reporting on the left.



  3. Check the Send quiz result to server checkbox and enter the address of your server that points to a parsing server script (which will be described later in the article).



  4. Save settings and publish your quiz.

List of variables used by QuizMaker

On each user attempt, the Quiz sends all necessary information that can be used for an assessment. Results include the quiz taker’s name or email, whether the quiz has been passed or not, as well as the completion score and detailed results if necessary.

Quizzes generated with iSpring QuizMaker send results using the HTTP POST method. The table below contains all the POST variables that a quiz sends.

VariableDescriptionCommentVersion
vQuizMaker version
6, 7, 8, 9
drDetailed results in XMLoptional, when available6, 7, 8, 9
spEarned pointsoptional, when available6, 7, 8, 9
psPassing scoreoptional, when available, depends on the Passing Score option6, 7, 8, 9
pspPassing score in percent (the percentage of the total points the user must score to pass a quiz)optional, when available, depends on the Passing Score option6, 7, 8, 9
tpGained scoreoptional, when available6, 7, 8, 9
snQuiz taker's usernameoptional, when available, deprecated in version 7, use USER_NAME instead6, 7, 8
seQuiz taker's email addressoptional, when available, deprecated in version 7, use USER_EMAIL instead6, 7, 8, 9
qtQuiz title
6, 7, 8, 9
tQuiz type
7, 8, 9
rtAn .xml quiz report template for generating a messageoptional, when available7, 8
aeInstructor’s email addressoptional, when available9
aaInclude user responses in instructor’s reportoptional, when available9
rfName of the sender of the email with quiz results (the Fr om field)optional, when available9
rsSubject of the email with quiz results (the Subject field)optional, when available 9
rcComment in the email with quiz results (the Comment field)optional, when available9
rmTranslations of messages according to their identifiersoptional, when available9
sidUser IDoptional, when available7, 8, 9
tlTime lim itoptional, when available7, 8, 9
utUsed timeoptional, when available7, 8, 9
futTime spent on taking the quiz (with time format specified)optional, when available 9

These variables are available if a quiz has a user data request form:

[user variable][value of a user variable]depends, see description below7, 8, 9
USER_NAMEQuiz taker's usernameuser variable7, 8, 9
USER_EMAILQuiz taker's email addressuser variable7, 8, 9
pvUser variables
9
saInclude user responses in quiz taker’s reportoptional, when available9
scInclude user’s correct answers in quiz taker reportoptional, when available9
sfInclude feedback messages in quiz taker reportoptional, when available9
vtArray of available user variablesEach array item is an array with two labeled items: id (contains variable id, ex. "COMPANY") and title (contains variable title, ex. "Company")7, 8, 9
QuizMaker will send either ps or psp. This depends on the Passing Score option (Quiz Properties > Main). If it’s specified in points, the program will send ps and psp if in percentage.

User variables

You can add any custom variable that can be used for your exact task. There are some pre-set user variables, e.g., name and email, and other that you can customize. Here is how you can manage your quiz variables:

  1. Select Introduction > User Info on the QuizMaker toolbar.



  2. Customize a User Info Form.


    After that when a quiz is published and launched, a user will see a User Info Form with three fields and default values that can be changed.

    A user variable can be Optional or Mandatory. If you choose Do not ask, it won’t be accessible.

    Examples of user variables:

           USER_NAME = ”John”

           USER_EMAIL = ”John@gmail.com

           COMPANY = ”Mango”

    Example of a vt array:

           vt = [{id:USER_NAME, title:"Name"}, {id:USER_EMAIL, title:"Email"}, {id:COMPANY, title:"Company"}]

    Variable title is used in user interface (conforms with Field Name in the Customize Quiz Taker Form window).

Detailed results

QuizMaker captures every step of a user’s progress and can provide a very precise description of the entire attempt. Detailed results include the text of every question, settings, a list of preset answers, and the user’s choice or answer text. This adds up to a lot of data; therefore, it has to be well-structured.

Detailed results are sent in .xml format within the dr variable.

Here is an XML schema that describes the structure of the detailed results in .xml format.

Let’s review an example that will show how the detailed answers are captured.

Download Everest quiz →

Follow these steps to get the detailed results:

  1. Open the QuizMaker editing window. Switch to the question about the “Everest's summit point” which is a Multiple Choice question, meaning that it can have just a single correct answer: “China and Nepal.”


  2. Here is the published version of this quiz. Let’s select the “China and Nepal” answer and click Submit.



  3. After the quiz has been finished and the results are sent to the server, we can check this data. Here is the piece of the detailed results XML file featuring this exact question:



    Every question is automatically assigned with a unique ID. The attributes of the element provide the summary of the given question: the answer status (correct or incorrect), the maximum points a user can get for the correct answer, the maximum number of attempts allowed, the points that a quiz taker was awarded for this question, and the number of attempts used.

    In this case, the user answered the question correctly (status="correct"), spent one attempt (usedAttempts="1") out of one (maxAttempts="1"), and got 10 points for it (awardedPoints="10") out of 10 (maxPoints="10").

    The multiple choice question contains 5 possible answers. Each answer has an index whose numeration starts with zero: 0, 1, 2, 3, 4. “China and Nepal” is the first in the list (correctAnswerIndex=”0”).

Good to Know
You can use your browser’s Developer Tools (F12) to see the contents of a POST request, including this XML file. For a free third-party solution that’s popular among experts, try Fiddler by Telerik.

Creating a PHP script

In order to receive these variables, you need to have a script placed at the address you specified in the quiz settings.

The next step will be to create a script that will process quiz results and deploy it on your server. It will listen for incoming POST data of a certain format. As soon as data is received, the script will parse it and save to a .txt file or write to a database.

This PHP code collects the POST values sent fr om a quiz:

$version = $_POST['v'];

$points = $_POST['sp'];

$passing_percent = $_POST['psp'];

$gained_score = $_POST['tp'];

$username = $_POST['sn'];

$email = $_POST['se'];

$quiz_title = $_POST['qt'];

$detailed_results_xml = $_POST['dr']; //This variable will return an xml file.

$_POST is an associative array of variables passed to the current script via the HTTP POST method. So all you need to do is address the necessary variables (listed in the table above) and parse the XML file stored in the dr variable.


Here is a sample PHP script to check out how Quiz and server communication works.

This script will parse attempt details and write it to a .txt file. The text of results will include user name and email, user score and passing score. Question details will include the question body, correct response, user response and score for this question.

If you need help with customization or modification of any scripts related to QuizMaker data collection, we work on custom development projects for an additional fee. Contact us at support for details.