Design an Online Quiz Using Google Docs

In this article, you will learn how to build an online quiz using Google Docs. Popular applications of this can be found at websites for online universities and schools. If you are planning a website that offers online training and assessment, Google Docs saves you a lot of time in designing an online quiz. This is particularly true if you are not an expert web developer.

You might have read “How to Build an Online Survey with Google Docs” elsewhere on this site. It contains a very basic discussion on how to get started with Google Docs. At points, this article will refer back to that one, linking to the appropriate page.

Basic Preparation

Before you can start making a quiz using Google Docs, it is important to stick to the objective in formulating questions. The questions must be carefully planned to assess whether the examinee meets the objective. You can read tips on how to formulate questions

So before going to Google Docs, make sure you have written down and formulated all of the questions that will evaluate the effectiveness of the examinee with respect to the training objectives.

You can design your quiz using Google Docs in the following common styles:

  • Multiple choice
  • Text (fill in the blank)
  • Paragraph text (for essay questions)
  • Checkboxes
  • Choose from a list
  • Scale (for example, rating from 1 to 5)

After putting together all of your examination questions. log in to , and use your Google account. The first thing you will see is the Google Docs dashboard. A detailed discussion of Google Docs is beyond the scope of this article, so please refer to the Google Docs support documents.

The quiz will be created using the “FORMS” feature in Google Docs. To access forms, click “NEW,” and in the drop-down choices, click “FORM.” See the screen shot below:

{mospagebreak title=Inputting Questions in the Form and Quiz Specifications}

The basics of how to input your questions and answers are the same as those of making a survey; however, there will be differences, which are outlined below:

  • A quiz is usually multiple choice for the most part, unlike a survey which might use either a “scale,” “checkbox” or “text” type.
  • Quizzes need to be secured to prevent tampering and leakage. If you are making an online quiz and you allow your examinees to search for answers in Google or look in their notes, this defeats the purpose of the quiz. The easiest solution is to create analytical questions, not purely objective/definition types of questions. In this way, the examinee will be forced to analyze the question instead of wandering on the Internet, hoping to find an objective answer. Also, questions that need to be answered analytically are the best type of questions, as they help you evaluate a student’s learning and experience; students answering such questions must rely on more than just their memory.
  • The quiz must be accessible only to the examinee, so the quiz URL is password protected. This is for authentication purposes.
  • The examination results should be stored online. This is not a problem with Google Docs, which stores quiz answers online and can be easily analyzed or even exported to MS Excel.
  • It should be easy to implement. The main objective is to save the money it would have cost to hire web developers to make the online quiz application, or to purchase third-party quiz application software.
  • Asking for the examinee’s name is mandatory; it must also ask for some private code for authentication, to avoid fake examinees and results.
  • The test should be easy for you to check. Or if you wish, any means of automating the checking process is nice. This saves time, especially if you have hundreds of examinees. You can use an Excel macro in the checking stage.

Do not forget to “SAVE” the form after inputting the required questions. Below is the screen shot of what the quiz will look like after inputting those questions in your Google Docs dashboard. If you need to edit some of the questions, you just need to click “More actions” and in the drop-down, select “Edit form.”

Note that the form in the screen shot below asks for a name and examination code, which is a “requirement.” This means you will not be checking their papers if they provide incomplete or false information.

{mospagebreak title=Quiz Implementation in a Real Website}

To effectively implement the quiz above, we will follow the specifications in the earlier section and start implementing the quiz in a real website. Google Docs allow us to embed the quiz in a web page using HTML iframe.

To visualize this process, we will make a process flowchart of this implementation as follows:

We need these requirements to satisfy this implementation:

a. Quiz hosting platform

b. Google docs HTML Iframe code

Unluckily, we cannot implement this on free blogging platforms like because they seem to have disabled iframe for security reasons. Anyway, say you decided to host your quiz on your own Apache-PHP powered personal website. All you need to do is grab the iframe code, which you can get from “More actions” -> click “Embed.” Grab the code and paste it to a notepad document. It should be similar to what is shown below:

<iframe src="" width="760" height="1145" frameborder="0" marginheight="0" marginwidth="0">Loading…</iframe>

Below is the PHP script. Replace the following items in BOLD using your own information and save it as “samplequiz.php” or you can select your own file name.



<title> Sample Quiz – Professional SEO Quiz </title>





if (!(isset($_GET[‘examinationcode’])))


echo ‘<form action="’.$_SERVER[‘PHP_SELF’].’" method="get">’;

echo ‘Enter exam code:’;

echo ‘<input type="text" name="examinationcode" size="25">’;

echo ‘<br /><br />’;

echo ‘<input type="submit" value="Log me in">’;

echo ‘</form>’;




//variable set, process data


//test if code belongs to valid examinee

if (($code==12345) || ($code==56789) || ($code==98765)) {

//access is valid, show exam form from Google docs

echo ‘<iframe src="" width="760" height="1145" frameborder="0" marginheight="0" marginwidth="0">Loading…</iframe>’;


else {

echo ‘Invalid Examination code.’;






The above example assumes you have three persons taking the exam with the following examination code: 12345, 56789, 98765

If you have more than 10 persons, the IF statement becomes inefficient and you should use a MySQL database. You might have to hire a developer if you are not familiar with handling a database.

If you would like to see the Google docs quiz embedded in PHP script in action, click here and use the above examination code to log in.

Please note that the examination presented and the script above is very basic. It can be modified to offer more information; you can add more questions or users in the quiz, for example.

{mospagebreak title=Other important points}

After the examination, all data will be stored in Google Docs. To analyze the data and assess scores, it is best to export to MS Excel.

Analysis of answer sheets and evaluating scores largely depend on your judgment. A detailed discussion of this topic is out of the scope of this article.

What Google Docs cannot do for your quiz

There are at least two things that you cannot do with a quiz based on Google Docs that you might find desirable. You’ll have to take these points into consideration when you plan your quiz. If they are deal-breakers, you may have to use something other than Google Docs for your online quizzes.

First, you cannot randomize questions so that you give varied questions to different examinees. This is because the questions are set in the Google Docs Form, and currently there is no feature that can randomize questions.

Second, Google Docs does not offer certain advanced features. For example, if you decide to show scores or evaluation results right away, Google Docs is not capable of doing that. If you wish to offer this ability, you should hire a developer to create your quiz using the PHP programming language.

However, if you do decide to provide scores later (which most teachers do), Google Docs is the easier solution, and hiring developers is not necessary.

[gp-comments width="770" linklove="off" ]