Teacher and coach

A Simple Online Data Collection System: SurveyMonkey vs. A Custom Solution

[This article was recently published at EzineArticles.com]

SurveyMonkey, a widely used online survey service, is a great tool for individuals and businesses who want to create and administer online surveys. In my work as a program evaluation consultant, I use it often. However, sometimes you want to be able to do just a little more, and with some basic web programming skills and a little creativity, you can.

A client was conducting an evaluation of an industrial safety program at multiple jobsites. They wanted an online data entry system that would allow on-site data-entry volunteers to administer a paper and pencil survey to their colleagues at their local jobsite, then enter the data using an online survey form on SurveyMonkey. They also wanted their volunteers to be able to enter some site-wide information into an online cover sheet form (e.g., site name, number of employees, program start and end dates, etc.) and be able to print a hardcopy of this cover sheet to attach to their stack of hardcopy survey forms. We found a way to implement this online cover sheet form using SurveyMonkey, but there were clear shortcomings to this approach; a better way to set this up is by creating a simple html form to allow entry of the cover sheet data, along with a simple script to both display the data for printing and automatically store them in a central file for later analysis.

Here is an example of this type of online cover sheet. You can look at the html code for the cover sheet by selecting View, Page Source (or View, Source) from your browser menu bar, and you can also see how the form works by entering some values and clicking the “Submit Cover Sheet” button, which calls the script to process the data. (I wrote this script using Perl, though there are other programming languages that could be used.) Note that some of the questions on the cover sheet form are “required” in the sense that if you don’t enter a value, or don’t enter the proper type of value, the script will prompt you to return and fill it in correctly. (The amount of this so-called “form validation” is fairly minimal for this script, though more can always be added.) Once all of the required values are properly filled in, the script stores them to a text file and then displays the final cover sheet, which can be printed by selecting File, Print from your browser menu bar.

One of the features the client wanted for their online cover sheet was for their data-entry volunteers to enter the number of people at their worksite who were eligible to participate in the survey (Question 11), and the total number who actually completed a survey form (Question 12), and then have the survey response rate automatically calculated and displayed. (They had done this in a previous project in which a similar cover sheet form was implemented using Microsoft Access.) SurveyMonkey isn’t designed to do this sort of interactive calculation, but it’s easy to do with the html form and script.

The client also wanted their data-entry volunteers to be able to print out a hardcopy of their completed Cover Sheet Form. While SurveyMonkey does provide the ability for account administrators to download data in a “Summary Report,” there’s little flexibility in how these pre-formatted data are presented. Again, with this html form and script, you can format the printable version of the cover sheet any way you like. The script can also automatically save all of the cover sheet data to a single file in CSV, or comma-separated values, format. This format is widely used, and files which contain data formatted in this way are easy to import into almost any data analysis software (e.g., SPSS or Microsoft Excel).

This html form and script can be modified and used in a number of other ways, including online applications, online course or seminar registration, requests for information, etc. It can also be modified to display the output using fancier formatting or graphics, or to send you an email with the data whenever someone submits a form.

Creating an online Cover Sheet Form is relatively simple for almost anyone, even an individual or small business. You don’t need to work for a large company or university that has a big IT department. You would need the following:

1. A basic understanding of HTML coding;

2. A basic understanding of Perl coding; and

3. A web hosting site to store your HTML, Perl, and data files, and a basic understanding of how to upload and download files to and from your host site.

For more information on all three of these, a good place to start is R. Chris Fraley’s book How to Conduct Behavioral Research Over the Internet: A Beginner’s Guide to HTML and CGI/Perl (2004). It has a lot of good info for researchers and others who aren’t professional programmers, yet still have a need to use the internet to collect data.

Alternatively, you can hire someone to perform the HTML and Perl coding and store your files on their web host. Just give them a copy of this article and tell them, “I want something like this.” They’ll know what to do.

3 Responses to “A Simple Online Data Collection System: SurveyMonkey vs. A Custom Solution”

  1. Sounds great! Thanks for the idea here, its very informative. Kudos for sharing!
    .-= Basic Bookkeeping Online´s last blog ..Apr 13, Bookkeeping Basics =-.

  2. Lance Bledsoe says:

    Hi Frankie,

    If your script is a Perl script and it’s named xxx.dl instead of xxx.pl, it may be that your server doesn’t know what to do with it since it doesn’t have the correct suffix. Try changing the .dl to a .pl and let me know if that fixes it.


  3. Anonymous says:


    Interesting way (and actually very easy to catch) to help dummies like me!

    Now i have a small question. When i click on the submit button, my browser shows the text of the script…

    How do i get the data processed by the script?
    (my script is: xxx.dl and located in the same folder as the yyy.html)

    Thanks for help!

Leave a Reply

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

Powered by WordPress | Designed by Elegant Themes