Adobe Captivate 6.x Widget: Google LMS With Email Reporting


Google LMS Widget

This widget was created using the awesome WidgetFactory framework. 


There is a Newer Version of this Widget here.

What It Does

You asked for it, now you have it!  The new Google LMS Widget with Email Reporting lets you keep track of quiz  scores, quiz answers, and survey data by reporting it to a Google spreadsheet form.  No Google sign-in required for students.  Send individual email transcripts back to your students or/and an administrator(s).  The creativity is up to you.  If you can capture the info in a Captivate variable, this widget will send it to the spreadsheet and email the results.

 How Does It Work?

Place the widget on the first slide of your project.  Create a Google Form with text entry fields that correspond to the number of variables that you want to send.  Go to the live Google Form and copy/paste the Form Key in the form’s web address, into the widget’s properties.  Fill in the rest of the widget’s properties as described in the VIDEO.  The email service is a Google Apps Script that will send an email transcript every time a quiz is submitted to the spreadsheet.


Enhancements over the Captivate 5.x version:

  1. Allows you to send a customized email transcript automatically back to your students.
  2. Will automatically detect when quiz is completed and send the results without any user intervention.  This typically occurs on the quiz score slide.  If you don’t have a quiz in your project, the results will be sent on slide entry of the last slide.
  3. You have the option to submit every quiz attempt, or only send the results if the user passed the quiz.
  4. Now supports question pools and randomization of question answers.
  5. Records not only the answer (A, B, C), but also the answer text (A-Red, B-Blue, C-Purple) for all question types.
  6. Reports “Skipped” if the question was skipped over by the Learner.
  7. Will accurately report partial answers to matching questions.  If the Learner only matched two items out of five, the remaining three will be marked “Skipped”.
  8. The cpQuizInfoPassFail variable will report “Pass” or “Fail” vs. true / false.
  9. Hot Spot answers now report “Incorrect” or “Correct” vs  “-1” or “o”.
  10. Now uses the Google Form Key vs. the form action url which can be easily obtained from the web address of the live form.
  11. Allows debugging mode for troubleshooting.


  1. Adobe Captivate 6.x
  2. Publish for Flash Player 10+
  3. Watch the two screencasts below


  1. Does not work with HTML5 output
  2. Quota of 500 emails a day per the standard free Google email account.  If you have an educational or business account, that number can be as high as 1000 emails a day.  Check your Google Dashboard to view service levels and quotas.  Remember that the quota is based on how many recipients you have in the email including the CC and BCC fields.  So if you send one email with 3 recipients, you’ve used 3 of your daily quota.  If you need more than 500/day, consider upgrading to a Google business or educational account.


Have a pre purchase question or need assistance?  You can contact me directly using the contact form or drop a comment on this post.

For those who have already purchased the widget and have applied the Captivate patch, you will need the 6.2 version of the widget or later. Please go to to obtain the latest version.

Screencast Part 1: Setting Up The Google LMS Widget To Record Answers


Screencast Part 2:  Installing & Configuring Email Transcripts

Download Email Script


Q:  Could you password protect the spreadsheet containing the answers so that only a person, such as a teacher could ever get access to the results?

A:  Yes.  The spreadsheet behind the form containing the quiz results can be secured so only those who need to see the results have access.  You can secure it by going to “File” –> “Share” in the spreadsheet and give access to certain individuals.


Q:  Can a learner resume a course from where they left off using this widget?

A:  Unfortunately not.  It only reports variables to the Google spreadsheet and does not handle suspend or resume data.


Q:  I’m in the process of creating my Google Form and when I test it, the results are jumbled or some are just skipped.

A:  The linkage between the Google Form and back end Spreadsheet can be jumbled if you re-order the fields in your form or columns in your spreadsheet.  This is a common problem related to Google Forms.  The fix is to delete the spreadsheet TAB in the workbook that the results are on.  Then,  make a submission using either the live Google form or the widget in your .cptx project.  This will recreate the spreadsheet TAB with the proper column order based upon the order of the fields in your Google Form.  However, if you inserted a field in the middle of other form fields, then you will have to recreate your form from scratch to get the proper order.


Q:  It seems from the demo that the student can click a button to view all the answers from all the other students. Is there a way of preventing the student from seeing the results that are submitted?

A:  Only the demo contains a button to view the final results in the Google spreadsheet.  If you want to include a button like that, it’s up to you.  The widget does not do that automatically.


Q: Is the email text entry box in the demo being used as way of identifying the student?  If so would it be possible to use a variable that has already been recorded elsewhere in the project eg the student id?

A:  Yes.  The email Text Entry Box is not part of the widget and it is simply my way of identifying the learner in the demo.  You could use your own studentID variable just as well.


Change Log

  • v. 6.1 (July 25, 2012) – fixed Windows 7 64 bit widget insertion issue
  • v. 6.2 (October 24, 2012) – now supports the “Submit All” feature and now works with the Captivate patch to v.
  • v. 6.3 (December 9, 2012) – The widget was rebuilt and can be found here.

    The Windows 7 64 bit issue has been fixed on the trial and premium versions.  Special thanks to Dave Molter for his help troubleshooting the problem.

  • Tallis Only

    I am trying to get the widget to report the student’s answers to a quiz i created. Does this widget report it automatically? your demo seems to suggest so. The widget is reporting variables that I populate in the “Variables to Send” widget box, but is not reporting the quiz answers. Do I have to used an advanced action to assign each answer to a variable?


      @Tallis Only:  The widget will report the answers to the quiz if you have “Also send the user’s Quiz Answers” checked.  In addition, you’ll need to create extra fields in your Google Form to allow for the answers to pass through to the spreadsheet as suggested in the video.

  • Tallis Only

    Do i need to have “enable reporting for this project” checked in the quiz reporting preferences?


      @twitter-105908796:disqus :  You do not need to enable reporting.  As long as you have a real quiz question slide in your project, it will automatically report the answers if you have that option checked in the widget settings.  Let me know if you have any other questions.

      • Tallis Only

        What else can I be doing wrong? My system variables that I define in the “variables to send” box are populating in my google form, but the quiz answers are not.


          Make sure you’ve placed the widget on the first slide of your project.  If you want me to take a look, send your .cptx file to Jim AT Captivate Dev dot com.  

          • Tallis Only

            thanks! i emailed it to you.


      At the moment, the widget does not support the “Submit All” feature in the Quiz Settings.  I will make a note on the blog about that and see if I can add that in to the widget in the very near future.

  • Micah Fury Matthews

    Is it possible to change the script to allow the widget to log the information and send it once an internet connection becomes available again?


      Unfortunately not. That would require a service that runs on the machine in the background and Flash is not capable of that.

  • James

    Is there any possibility that a version of this could be made for use in HTML5?


      @James: An HTML5 version of the Google LMS widget is already in the works.

      • Kennedy

        Greetings, my quiz results post to the LMS, only from my computer, my clients can take the quiz but results won’t post to LMS widget. Captivate 7, help please


          Hi Kennedy, I sent you an email with some suggestions to try. Let me know if you did not get that.

  • axer

    I am using the email script in combination with google spreadsheet (=importRange) function, it imports the spreadsheet data into the form spreadsheet
    BUT the script does send the email. Any Ideas! :)


      @axer: I’d have to look at the spreadsheet as an editor to see what’s going on. Please add this account as an editor Jim Leichliter AT Gmail dot com

      • axer

        Thanks! I have emailed it to you.

  • KJ

    How do we send the quiz results to the SQL Server database?


      KJ: You can use the internal server reporting option built into Captivate to point to your server side web service or script. That web service or script would then post your results to the SQL database. If you need consultation on this, please email me at Jim AT Captivate Dev dot com

  • Charlie Mullin

    Jim: Everything was going along fine and then I just had to fiddle… In the projects that had been working, I was passing three system variables, two custom variables, and then five quiz variable answer data was being passed as well. All of the data was properly collected on the Google spreadsheet.

    Then I began using the Submit All button in these projects and no longer captured the quiz answers. I see from other comments here that that is not supposed to be able to pass the quiz answers yet. Is that right?

    I modified one of those projects and changed the quiz properties so it uses the standard Submit button instead of the Submit All button. But that project is still not sending the quiz answers as it had before when the regular Submit button was there in the first place. Do you think switching to Submit All, then back to Submit, causes a problem sending the answers?

    And finally, is it true that you may have an upgrade soon that does pass through the quiz answers when using the Submit All button?



  • Mike Wilday

    I am setting up a custom survey that I want to send through to the Google spreadsheet. My question is, what triggers the widget to send the results to the spreadsheet? To submit the form so to speak? My custom survey is part of a longer presentation.


      @ Mike Wilday: Assuming your custom survey is a Captivate project with the Google LMS widget inside, there are two ways results can get sent:

      1. When the quiz is completed (Widget is smart enough to detect this)

      2. If you don’t have a quiz in your project, it will send the results to the spreadsheet on the last slide of your project. The widget is designed to automatically do this without any user interaction. Let me know if that doesn’t answer your question.

  • Sandie Walford

    Encountering a problem with the widget today where quiz answers entered as False are coming through to the spreadsheet as having been answered True. Any idea what might be causing this? I have screenshots if needed.


      @ Sandie Walford: Is this happening on a quiz retake? If so, is the user clicking the “Retake Quiz” button or are they using the playbar to rewind back? Please send me your .cptx file to Jim AT Captivate Dev dot com.

  • 3gr8kidsdad

    OK, you really need audio with the videos. Also, a document with screenshots would be quicker and easier to view.


      There is audio, you may need to turn up your speakers.

  • 3gr8kidsdad

    Got a 404 Error when accessing CaptivateDev > Support from the spreadsheet view.

  • Pingback: Adobe Captivate 5 Widget: Variables To Google Form |

  • Pingback: Adobe Captivate 6 BeyondEssentials 1/24 -1/25 2013 Washington, DC | Sean Gallagher()

We are closed for business forever. Thank you for your patronage over the years. Access to the JavaScript video series will end 12/31/2015.