See how easy it is to create a Questionnaire in DataWinners. Use a template from our Template Library. Copy an existing questionnaire. Create Advanced Questionnaires with XLSForms. Collect media files (images, sound, videos, signatures) in your questionnaires.

Guides and Tutorials

Create Questionnaires

With DataWinners, you can create an unlimited number of Questionnaires quickly and easily. Every Questionnaire has a unique code. Data Senders start their SMS message with this code in order for DataWinners to identify which Questionnaire the Data Sender is answering. This code can be a combination of numbers and letters.

Yes. You can build your questionnaire in any language. Questions may be entered in any language or script (for example, Thai or Khmer). It is up to you to determine what language best apply to your Questionnaire and Data Senders.

Questionnaire Builder

Click to enlarge

Yes. DataWinners application for Android is build on ODK platform and we can handle 100-200 questions Questionnaires without any problem.

Yes. Questionnaires are editable.

To do so:

  1. Select your Questionnaire on the Dashboard page or on the Questionnaires page
  2. Then click on the “Questionnaire” tab
  3. Make the changes you want and click on “Save”

No. It’s not possible with a simple Questionnaire; all questions are mandatory.

If you want to make a question optional, use XLSForm to create your Questionnaire and do not put “yes” in the required column.

Yes. With Advanced Questionnaires (XLSForm), you can include skip logic and many other advanced features such as repeated set of Questions, required and hints, cascading select, grouping, and more.

Skip Logic

Click to enlarge

Yes, you can use branching logic using XLSForm. To learn more on XLSForm, please read the XLSForms Documentation or watch our video tutorial.

For data validation, you can set constraints in your Questionnaire, based on answers previously provided by your Data Sender, in the same Questionnaire.

Yes. With DataWinners’ advanced Questionnaires, you can collect media files, including photos, videos, audio files and signatures.

Watch our tutorial videos to learn more:

  1. How to Collect Media Files (how to insert the media files questions in the Questionnaire)
  2. How to Collect Media Files (using the DataWinners Smartphone App)

You can create your Questionnaire in any language and even using scripts. You just need to input your questions label in your language or script of your choice.

If you plan to use the SMS channel, you can also use any language for the automatic reply SMS.

Simply select GPS Coordinates as an answer type when creating your Questionnaires.

GPS Location

Click to enlarge

With DataWinners, you do not need to activate your Questionnaire to start collecting data. Once a Questionnaire is created, it’s automatically active. When you are ready to collect real data, delete your test data on the Submission Log page and you can start with a clean database.

No. You cannot deactivate a Questionnaire. However, you can unlink all the Data Senders from the Questionnaire so they won’t be able to send in data anymore.

To do so, please follow the steps below:

  1. Click on the Contacts button,
  2. Search for the Questionnaire you want to unlink the Data Senders from,
  3. Select all the Data Senders linked to it,
  4. Select “Remove from Questionnaire” in the Actions dropdown list,
  5. Confirm

No, for now, it is not yet possible to add a logo on the Questionnaires.

Yes. In DataWinners, you can duplicate your existing Questionnaire and edit questions inside according to the new Questionnaire specific needs.


I would like to create a new Questionnaire but when I’m logged in, I can only see the data submission page from which I can either make a submission or import submissions

You are logged in as a Data Sender, not a User. Please contact your account administrator.


Yes, DataWinners allows you to have skip logic. A question can be skipped or displayed depending on a previous answer.

You can use “count()” when you want to know and display the number of times a series of questions is repeated.


Click to enlarge

If you don’t wish to use groups to skip a series of questions, you’ll have to repeat the skip syntax in the “Relevant” column of each row.

We recommend to always use groups when doing so in order to author the skip syntax only one time, in the group header row.

There should be a space before and after the period “.” The syntax should read as follow: if(($(technique) = ‘none’), . >=0,. >0)


When you want to refer to a question or choice name, use brackets { } instead of parenthesis ( ).

The syntax should read as follow: not(${technique} = ‘none’)


This constraint doesn’t allow a certain combination of answers – if one of the answers is “I don’t Know” it can not be combined with “House Tap” or “Bottled Water” or “Other”. Remaining combinations are allowed.

Example: not(selected(., ‘dk’) and (selected(.,’house_tap’) or selected(.,’bottled’) or selected(.,’other’) or selected (.,’private_tap’) or selected (.,’public_tap’) or selected (.,’neighbor_tap’) or selected (.,’rain_collect’)  or selected (.,’river’) or selected (.,’spring’) or selected (.,’ref_station’)))


No. It’s not possible to reference a variable for two different forms. DataWinners uses a flat database, and each Questionnaire is independent.  If you want to use calculation, for example, the variable you reference should be in the same XLSForm file.

You can limit the number of answers which can be selected for a multiple choice question by adding the following syntax in the related constraint column:


In the above example the maximum is 3.


For example: With two variables a1 and a2, where you want a2 to be lesser than a1, you can enter the following syntax in the constraint column of the a2 question:

. < ${a1}.

Note: When you want to refer to a specific question, always put the name between {} and preceded by a $.


In your DataWinners account, click on the Questionnaire, then on the blue tab « My data ».The Questionnaire code will be displayed in the URL.


To link an Identification Number type to an XLSForm, follow these steps:

  1. Create your Identification Number Type,
  2. Enter “dw_idnr” under Type column
  3. Enter the Identification Number type name under the “constraint” column

Screen Shot 2016-01-22 at 2.00.12 PM

XLSForm is still in beta version in DataWinners.

A future release may have ability to retain data after a questionnaire has been updated.

With XLSForm, do not use special characters in the Name column.

“Autocomplete” is a widget used in XLSforms. It helps you find the Identification Number or the choice you need without a lot of scrolling.

When the Data Sender starts typing the code or the name of a choice represented by an Identification Number or select_one question type, the options that contain those contiguous letters or digits will be predicted and displayed. By using “autocomplete,” your Data Senders won’t be slowed down by long lists anymore. Learn more >>




This widget helps the Data Sender find an Identification Number or choice faster through a long list.
In your Identification Number or select_one row, enter “autocomplete” in the “appearance” column.


If you have a Questionnaire with a cascades list containing hundreds or thousands of choices, it slows down the loading process and has impact on your device’s performance. The External Selects function helps these lists load more quickly. It works the same way as cascades sheet but with an enhanced performance.

To use External Selects:

  1. For the first level, use select_one for the prompt type and list your “States” in the choices sheet as usual (Example: State),
  2. For each lower level:
    • In the survey sheet, use select_one_external for the prompt type (Examples: select_one_external counties, select_one_external cities),
    • Enter the reference to the cascade level in the choice_filter column (Examples: state=${state}, state=${state} and county=${county}),
    • In the external_choices sheet, enter your choices as shown below. A column is required for each level (Examples: state, city)

Download this external select form template for a sample scenario.

You can use the concat (concatenate) function to combine values from previous questions in the Questionnaire.

Example: Combine the interviewer code with the date and time the interview:



Yes. You can do so by using the “constraint” logic in XLS Upload.


Click to enlarge


You can use the following syntax under the constraint column: .>= 18 and .<= 100

Note: The spaces between the periods and the “<” and “>” signs. In this example, the answer must be a number between 18 and 100.


XLSForm: How to constrain a date to be an interval between two dates

To apply a constraint between two dates, enter the following syntax in the column constraint :

int(format-date(.,’%Y%m%d’)) > 20151231 and int(format-date(.,’%Y%m%d’)) < 20160201
Replace the integers by your own dates using the yyyymmdd format.


To calculate the number of months between two dates, enter the following syntax in the calculation column:

int((${today} – ${baby_birthdate}) div 30.44)

The result will be displayed in months. If you want to calculate the result in years, use 365.24 instead of 30.44


You can use “integer” as type and put the following constraint in the “constraint” column:

.>=9100000000 and .<9500000000


To limit the number of digits that can be entered, proceed as follow:

  1. Use “text” as “type”
  2. Enter the syntax regex(.,’^[0-9]{6}$’) in the “constraint” column to limit at 6 digits
  3. Enter “numbers” in the “appearance” column


Yes. Enter ‘likert’ in the “appearance” column for multiple choice questions.


No. Currently, only one answer is permitted in cascading select.

Yes. You can enter “month-year” in the appearance column to do so.


There is an empty “cascades” sheet in the XLSForm file. Delete the cascades sheet, save the file and upload your file again.

You get this error message in your smartphone because “field-list” appearance cannot be used in subgroups.

  1. Put 0 as name value for No and 1 for Yes
  2. Add a calculate row to calculate the total of “yes”
  3. Add another calculate row to generate the scoring
    if (${total_score} = 4, ‘100%’, if (${total_score} = 3, ‘75%’, if (${total_score} = 2, ‘50%’, if (${total_score} = 1, ‘25%’, ‘NA’)))
  4. Display the result in a note.














Your image attachment is missing.

Please proceed as follows:

  1. Tap on “Edit Saved Questionnaire”
  2. Select the Questionnaire
  3. Identify the image question
  4. Re-attach the image by browsing in your image folder
  5. Submit your Questionnaire

To download a Simple Questionnaire to PDF, follow the steps below:

  1. From the Overview page, click on “Print your Questionnaire” blue link
  2. Then, on your right, click on “Print” and choose “Select as PDF” from the PDF dropdown list.
  • A Poll is a one-question survey whereas a Questionnaire can contain one or more questions.
  • A Poll doesn’t require a Questionnaire code and Poll recipients can submit their answer directly. No specific answer format is required.
  • For a Poll, no training for the Data Sender is needed as the instructions are directly in the SMS or broadcasted and any answer is allowed.
  • Poll answers can be submitted using SMS only.

A DataWinners Poll is ideal when you need to collect a little bit of information from a big group of people; when you want their short answers to a straightforward question: “Did you get the textbook shipment?  Please respond YES or NO.” You can also broadcast your open-ended question through other channels (for example: radio) and collect SMS responses: “Please send us information about any illegal poaching in your area.”


Click to enlarge

Yes, DataWinners has a Poll feature.
To know more: What is a Poll?

Poll SMS

Click to enlarge

You have two options:

  1. Send the Poll by SMS to a specific group of recipients. Only the recipients of the SMS can respond.
  2. Broadcast the Poll through other channels outside of DataWinners (Radio, TV shows, Billboards, etc.). Anyone can send an SMS response.
Poll Other Channels

Click to enlarge

When you send the Poll by SMS, you’ll be asked to define your Poll recipients. You can select Groups you’ve created on the Contacts page or Contacts linked to Questionnaires.

Later on, you can choose to send your Poll to more people by managing your Poll Recipients from the My Poll Recipients tab.

Poll Recipients

Click to enlarge

Yes. From the Poll tab, select your language from the dropdown list. If you want to add a new language, you can define it in the Languages page. To learn how, click here.

Reply SMS

Click to enlarge

Yes. To do so, please follow the steps below:

  1. Click on the Poll tab
  2. Click on the second expandable header “Automatic Reply SMS”
  3. Slide the switch to Off
  4. Click on the Save button
Turn Reply SMS On or Off

Click to enlarge

No. As we want this to be as easy as possible for the people sending in data there is no specific answer type. Everything is a valid answer which means all Submissions are considered as successful submissions and displayed in the Poll Data Analysis page.

Please let us know if you’d prefer to define a specific answer type for your Poll question. We welcome your feedback.

No. You may only have one active Poll at a time. To create a new Poll you must first deactivate your current Poll.

To extend the duration of your Poll, follow the steps below:

  1. Click on the ‘Poll’ tab
  2. Click on ‘Poll is active from to edit the period
  3. Click on ‘Change’

No. You’ll need to deactivate the active Poll first before creating a new Poll. A Poll is immediately activated when you create it, so you cannot set a future date for your Poll start date.

If you broadcast your Poll through other channels (example: radio), then anyone can submit answers. While this Poll is active, DataWinners will first examine the Questionnaire Code at the beginning of the SMS. If DataWinners does not recognize the code, it will consider the Submission a response to the open-ended Poll. As such, during the active period, if your Data Sender submits an incorrect code in response to another Questionnaire, DataWinners may incorrectly place this submission in the Poll database. To minimize this risk, select the minimum number of active days you require for your Poll.

The person who sends the SMS receives “Error, Questionnaire code is incorrect”. The Submission is logged under the “Failed Submissions” page.

Once your Questionnaire is created on DataWinners, you have three options to share it with your Data Senders:

  1. SMS: print the form and share it during the Data Senders training or print as pdf and send via email,
  2. Web: register your Data Senders’ email address in the Data Senders database. They’ll receive an activation email allowing them to access the Questionnaire(s) you granted them access to,
  3. Smartphone/Tablet: register your Data Senders’ email address in the Data Senders database. They’ll receive an activation email allowing them to access the Questionnaire(s) you gave them access to. Then they just need to download the form onto their mobile device.

No, it is not yet possible to send a link to people to invite them to answer the Questionnaire via Web, they need to be logged in to do so.

Two options:

  1. If you want your respondents to be identified, you can prepare a list of emails of the target people or even create email addresses, register these emails in your account as data senders and activate the accounts. Then you can send out the invitation to your target people along with their login information so they could submit data using the Web form.
  2. If it doesn’t matter that all respondents fill out the form using the same identifier, you can register only one email as a data sender and provide the login information in your invitation email.