This article provides comprehensive information about creating and managing questionnaires in EFS (Enterprise Feedback Suite). It covers various aspects of questionnaire design, including creating questions, implementing plausibility checks, and using triggers for advanced functionality.
Questions
Via the list view, you can create the questions that are to appear on the new questionnaire page. Click the split button + New question directly or select “New question”.
Creating new questions
Please proceed as follows:
- Alternatively, use “Import questions” to copy a specific question from an existing questionnaire.
- If you want to re-use questions based on classic EFS question types, you may select the options “Paste from Word” or “Question library”.
- Enter the question title. It is used for orientation when working in EFS, the surveyparticipants cannot see it.
- Select a fitting category first, then select the appropriate question type.
- The preview displays screenshots of the selected question types.
- Only in “Responsive layout” surveys: If you activate Dynamic, the question type will be displayed realistically. Click into it and you’ll see e.g. how the form elements behave.
- Only in “Responsive layout” surveys: You may try what the selected question type will look like on mobile devices, tablet or desktop. Simply resize the width of your browser window: the dynamic question preview will adapt automatically.
- Select the appropriate saving process:
- Save will route you back to the list view and you can create the next question.
- Save and edit will bring you to the detail view, where you can configure the new question.
Changing question properties
You can change the title and type of a question retrospectively
- Changing the question title: Switch to the detail view. In the head section, you can change the title.
- Only suitable for classic question types: Changing question type:
- From EFS 10.3: Switch to the detail view and click on the Change question type icon.
- Until EFS 10.2: Switch to the detail view and click on the Change question type tab.
Please note:
- Various special settings cannot be transferred when changing the question type. For example, hiding conditions and type checks will be lost.
- Question type 911 cannot be converted into any other question type.
- For several of the more recent “Responsive layout” question types, conversion is not possible.
Copying or moving questions
Questions can be copied and/or from EFS 10.3 moved to other pages. To do so, in the questionnaire view or list view, click on the Copy icon of the desired question, select the target page and specify the desired action, i.e. “Copy” or “Move”.
Deleting questions
Questions already created can be removed by clicking on the Delete icon in the list view.
Editing Questions
If you wish to edit an existing question, simply click on its title in the list view.
In the detail view, which can contain different input fields and functions depending on the question type, you can enter your question text and answer options and configure all question-specific settings.
Using HTML in Questions
You can use HTML in the question text, fill-in instructions, help text and answer options to layout the text or to insert images.
You should use the option to manually format individual questions with care. Wherever possible, use the layout features of standard and pro editor instead: it increases uniform appearance and reduces the maintenance effort in case of changes.
Also, please be aware, that while it is possible to use any HTML tag in any part of the questionnaire, this not always leads to the desired outcome. Please test your surveys in different browsers and revert the HTML changes if any display errors occur.
In question types “(113) Single response list (scale above, wrapping)”, “(111) Single response list (horizontal)” with Text alignment set to Top in the Detail configuration and “(311) Accordion” with Control elements set to Bottom in the Detail configuration spaces around the tag might not be displayed correctly when using HTML tags in answer options. The answer option “I <b>don’t</b> agree” would, for example, be displayed as follows:
Idon’tagree
To solve this problem, just insert non-breaking spaces around the tag by using the code . Our example sentence should now be displayed correctly and would look like this:
I <b>don’t</b> agree.
For question type “(311) Accordion” you can also set the option Below under Control elements → Detail configuration to fully support HTML in answer options.
Paste from word
EFS allows you to paste several questions at once from such a draft into the questionnaire editor. To do so, you merely need to arrange the contents of your draft according to certain rules, in order for EFS to differentiate between question texts, answers, and scale characteristics.
Please note: This import feature cannot be used for all question types. The drop-down list in the second dialog offers the question types that are permitted for the respective layout generation.
Formatting the draft
The questions must be formatted in the draft according to the following pattern:
Formatted Question | Question Element | Question Type to be generated |
---|---|---|
How often do you use the following leisure information? | Question text | 311 |
You can make several statements. | Fill-in instruction | |
Never – seldom – 1x a week – daily | Categories | |
MagazinesTVRadio | Answers | |
Blank row to next question | ||
Please state your area of employment. | Question text | 111 |
Fill-in instruction (may be left blank) | ||
Categories (may be left blank) | ||
MarketingTrainingAdministration | Answers | |
Blank row to next question | ||
How do you feel in your team? | Question text | 340 |
Fill-in instruction | ||
1- 2- 3- 4- 5 | Categories | |
left – right | Answers |
Pasting the draft texts
Please proceed as follows:
- In the page view, open the + New question split button and select the option “Paste from Word”. (Previously, the feature was accessed via a tab in the questionnaire view.)
- Highlight the questions in your draft file and right-click to save them to the cache. Then right-click on the question import input field and insert the questions.
- Then click on Next.
- In the next dialog, specify the question type.
- Use the “New page” column to determine whether the questions are to appear on one page or whether and where additional pages should be created.
- Confirm by clicking Save.
Pasting Batches of Answer and Scale Options
If you require a large number of answer options or scale options for a certain question, you can simply paste the whole batch from your draft document into EFS. All you need to do is simply copy out a block of options and paste it into the respective dialog.
Example:
Software
Consulting
The Company
Service
The answer or scale options are created automatically.
Particularities of specific question types
Please mind the following particularities of specific question types:
- When mass-importing the answer options of a semantic differential, use a vertical line to separate the left- and right-hand pole texts. Example: left|right Example with code: 1;left|right
- You can create answer options with your own alternative text and code for multimedia question types 511, 521 and 522; you must, however, upload and select the multimedia elements manually.
Formatting the draft
The desired options are listed one below the other.
Software
Consulting
The company
Service
Each row in the input field is interpreted as an answer option. During import, the options are automatically numbered and encoded.
Optionally, you can specify the codes yourself. To do so, enter the desired code before each answer option, using a semicolon as the separator:
1;Software
2;Consulting
3;The company
4;Service
Pasting the draft texts
Please proceed as follows:
- Open the question view.
- Click on the Paste from Word button in the “Answers” section (or “Scale” resp.).
- The input dialog will be displayed directly in the question view.
- Enter the options as explained above. Each option must be entered in a separate row.
- Trigger the creation by clicking on the Paste from Word button.
- The imported options will be listed in the “New” section. Check the data, and make any necessary changes. If you wish to manually add more options, click on the [+] icon to open additional “New” rows.
- Confirm by clicking on Save. The options are now finally created.
- Finally, delete all the default options you do not need.
Import questions
The feature Import questions can be invoked via the split button + Question in the list view.
Question library
You can use the question library to reduce tiresome routine operations. It is located in the Libraries → Question library menu, but can also be accessed from the questionnaire editor. It can be used to store frequently used questions for insertion in other projects in the installation later on.
- The library category structure allows you to arrange the questions entered, e.g. according to projects of topics, in order to improve clarity.
- The external variable names are stored in the library. When loading the archived questions into a questionnaire, the system ensures uniqueness of the variable names: If a variable name does already exist, a prefix “dupl1_”, “dupl2_”… will be inserted.
Please note: The question library does not support “Responsive Layout” question types. Please use page import instead.
The Question Library Structure
Invoking the question library in the Libraries menu will take you to the Overview tab. The so-called category tree is displayed on the left-hand side of this tab, the contents of the currently opened category are displayed on the right-hand side.
- The category tree displays the question library structure. The category system is similar to the file tree on a hard disk with main directories and subdirectories. Here, categories correspond to folders.
- The main directory in an empty library is called “root”. Below “root” you can create main categories, which in turn can be followed by specific subcategories.
- A flashing red cursor at the right-hand side displays the category you are currently in.
- To the right of the overview, the “Content of the category” table displays the questions in the opened categories.
Working with the Question Library
The following section will illustrate the executable actions in connection with the question library:
- Adding a question to the library
- Loading a question from the library into a questionnaire
- Moving and deleting questions
- Using categories for organizing
- Deleting categories
- Assigning access rights for library categories
Adding a question to the library
- To add a question to the library, switch to the Questionnaire editor. Select the page that contains the question you wish to add to the library.
- Select the question you wish to add to the library.
- Click on Add to Library in the editor.
- The question library will open.
- Select the category in which the question is to be filed. The question will be copied into the library automatically.
Loading a question from the library into the questionnaire
- To add a question from the library to a questionnaire, switch to the Questionnaire editor.
- In the editor, choose the page into which you wish to insert the question.
- Select + Question → Question library.
- In the library, you can search for and select the desired question in the individual categories.
- Tick the checkboxes of the questions you wish to incorporate into the questionnaire page.
- Confirm by clicking on Choose.
- The selected questions will be inserted into your questionnaire.
Moving and deleting questions
In addition to choosing questions for insertion into a project, you can perform several other useful functions by clicking on the icons in the “Actions” column:
- Checkbox: This function allows you to choose a question, as described in the previous paragraph.
- Move: This function allows you to move a question into another category.
- Delete: Clicking on this icon will delete the selected question.
- Copy: This function allows you to copy a question into a category of your choice.
Using categories for organizing
- You can access the question library either from the questionnaire editor or via Libraries->Question Library.
- Use the category tree to locate the new category. To create main categories, click on the root folder. To create subfolders, click on the respective main folder.
- Click on the Add Category tab.
- Give your category a name.
- Click on Add category.
Deleting categories
- Select the category you wish to delete from the category tree.
- Click on the Delete category tab.
- A dialog containing a warning message will open. Clicking on OK in the dialog will delete the category.
Caution: You may only delete empty categories. Prior to deleting, the remaining questions must be moved to higher categories or deleted, and subcategories must be deleted.
Assigning access rights for library categories
It is possible to assign different access rights for the various main categories in the library to the user teams in an EFS installation. To do so, please proceed as follows:
- Select the respective main categories.
- Click on the Folder rights tab.
- The object rights dialog is opened. Assign “read” and/or “write” rights to the appropriate teams.
- Confirm your selection by clicking on Change rights.
Please note that you may only assign access rights for main categories including all underlying subcategories, not for all subcategories individually.
All users have access to the root category.
Properties
Standard pages are configured in the Properties submenu. To open it, click on the page title in the questionnaire view, then select the submenu.
Standard Pages
Standard pages are configured in the Properties submenu. To open it, from EFS 10.2 click on the page title in the questionnaire view, then select the submenu. The table provides an overview. The page properties are explained in detail in the following chapters.
Property | Explanation |
---|---|
Only in projects with classic system layout: Layout width and height | The breadth and the width of the layout can be modified for a particular page.If you want the layout on a certain page to be particularly narrow, you can, for example, enter the number “100” (for 100 pixels) in this field. On the next page, the questionnaire’s layout will then revert to the standard width. |
Layout template for page | This option allows to specify a dedicated main template for the current page.If nothing is selected, for standard pages the template “main.tpl” will be used as usual, for mixed-external pages the template “mixedextern.tpl” will be used.The option is available for standard pages and mixed-external pages. |
Layout template for displaying questions | This option allows to modify the positioning of the questions on the current page via a dedicated template. In the long run, this feature will replace the mixed-external pages.If nothing is selected, EFS will output the questions of this page one below the other, as usual.If a special template is selected, it will control the output.The option is only available for standard pages, not for mixed-external pages.Ready-made templates for two-column layouts are available in “Responsive layout”projects: from EFS 10.0 “layout_t- wo_column_page.tpl” which was renamed to “questioncontainer_two_column_v1.tpl” in EFS 10.1, and the enhanced “questioncontainer_two_column_v2.tpl” from EFS 10.1. |
Page is submitted automatically after completion of all questions | The page is submitted automatically as soon as the respondent has answered all of the questions. |
Hide Submit button | This option allows you to hide the Submit button permanently or temporarily. |
Send page automatically | The page will be sent automatically after a defined time span. |
Hide Back button | This option allows you to hide the Back button. |
Add Cancel button | This option allows you to display a Cancel button. |
JavaScript code to be executed when the user clicks on the Submit button | Here you can insert JavaScript code which will be executed when the page is submitted, provided that JavaScript is enabled in the respondent’s browser. |
Header section, footer section | This feature allows you to insert JavaScript and CSS directly in the header or footer section of the page. |
Check internal quotas | If you are using quotas, this option allows you to mark the page where the checking for internal quotas is to take place. |
Set variable page marker to fill the variable rate within the field report | The so-called variable page marker (until EFS 10.1 “universal page marker”) allows you to determine, and show in the field report, how many people have completed the survey up to a specific questionnaire page X. |
Force a character set for this page | This option allows you to assign to the page a different character set other than the general character set of the survey or the character sets for the various language versions of a multilingual project. |
Automatically Submitting a Completed Page
If you check the box in the “Page is submitted automatically after completion of all questions” field, the questionnaire page is submitted as soon as the respondent has answered all the questions in full.
This feature functions on all questionnaire pages which contain only combinations of the following question types: 111, 112, 113, 131, 411, 311, 312, 313, 321, 322, 340, 351, and 511. On pages with multiple response questions and text entries, it is not triggered, as it cannot be automatically recognized at what point the participant has completed their input.
There will be no check as to whether the questionnaire page contains HTML and image-type elements. Please ensure therefore that such elements are not located at the end of the page: In this case, autosubmit would prevent the participant from seeing the text or the image.
The function assumes that JavaScript is enabled in the respondent’s browser.
Please note that it is risky to hide the Submit button when using the Autosubmit function (see next section). Example: If the respondent uses the Back button of the browser to go back and make a change, the Autosubmit function will not be reactivated. At the same time, however, there is no way to re-send the pages using the Submit button.
Automatically Submitting a Page after a Defined Period of Time
The “Send page automatically” function is often used in combination with the hiding of the Submit button described in the following Chapter. The following options are available in a drop-down list:
- Do not send automatically: This is the default setting.
- Send automatically after x seconds: The period of time lies between 0 seconds and two minutes and can be adjusted exactly to the second.
The function assumes that JavaScript is enabled in the respondent’s browser.
Hiding or deactivating the Submit Button
You can use this function to hide the submit button temporarily or always. Thus only the questions and answers will be output on the questionnaire page, the continue button will appear not at all or only after a time. You may also deactivate the submit button for a specific amount of time.
You can choose from the following options:
- Always show Submit button: This is the default setting.
- Always hide Submit button: The Submit button will not appear on this page. Please remember when using this setting to incorporate another form element that can be used to trigger the Submit process or activate a function for automatic sending. The combination of hidden Submit button and automatic page down is useful, for example, with cover tests, in which media is only shown briefly.
- Show after x seconds: You can choose periods from between one second and two minutes. This setting is advisable if you wish to make sure that the respondents look closely at a picture or text.
- Select Disable instead of hiding submit button in combination with an option from the Hide submit button drop-down menu, e. g. Show after 11 seconds. The submit button will only be visible after a countdown of 11 seconds.
The function assumes that JavaScript is enabled in the respondent’s browser.
Inserting a Cancel Button
This option allows you to insert an additional image on the respective page. If the participant clicks on this image, the survey window will be closed. Upload the appropriate image via the media library.
Please note: You can only use this function if you have activated graphical form elements.
This option does not work with all browsers for the following reason: JavaScript has a security setting that prevents windows from being closed via JavaScript if they were not opened with JavaScript. EFS Survey is not opened using JavaScript, therefore it is also not possible to close it using JavaScript. Many browsers, such as Internet Explorer do not adhere to this security setting entirely, instead, they display a confirmation window that queries the surfer as to whether he would really like to close the window: With these browsers the Cancel button functions as expected – the respondent can close it after confirming the window. With browsers that follow the security settings closely, such as Mozilla Firefox, the Cancel button will not work.
You can test this function in productive mode, not in the preview: The preview is opened via JavaScript, therefore the browser-specific behavior described cannot be observed.
Defining Page-Specific JavaScript Actions
You have the option of inserting JavaScript code which will be executed once the page is sent. For this feature, it is required that JavaScript is enabled in the respondent’s browser.
Example: alert(‘Please read the question text carefully’);
In this case, for example, a small message window with the corresponding text will be output once the page has been sent.
Please Note: Only single quotation marks (‘) are permitted. If double quotation marks are used, the feature won’t work.
Customizing a Specific Page with JavaScript or CSS
Sometimes it is necessary to create a different design for a particular questionnaire page or to implement a page-specific JavaScript function. This is frequently realized using a specific template or an “if” construct in the main template. But you can also upload JavaScript and CSS in a dedicated file and integrate it into the header or footer section of the desired page.
To do so, please proceed as follows:
- Upload the desired files via Pro editor → Upload.
- Open the Page Properties menu for the desired questionnaire page. The file lists in the fields “Header section” and “Footer section” contain all files with the extensions .js and .css which were uploaded.
- Select the desired files and Save.
Please Note: In RFS 10.2, the feature described above replaces an older feature with the same purpose. In existing projects, the older version will stay available as long as its entry field contains custom code. Only if you delete the custom code, the old field will be deactivated and the new features displayed.
Assigning a Differing Character Set to a Specific Page
You can assign an individual questionnaire page a character set that differs from the general character set of the survey or from the character sets for the language versions of a multilingual project. This function can be employed, for example, if the start page used by all participants of a multilingual survey where there is a language selection question, is to be displayed in a different character set than the other various questionnaires.
If you specify a character set in the “Force a character set for this page”, the character set of the survey will be overwritten with the specified character set for this one questionnaire page, and for all existing language versions. By default, the “Don’t force a character set” option is preset.
Triggers
You may often wish to link certain actions to specific events. For example, in a customer satisfaction survey, customers can report negative experiences. Now, you wish to automatically e-mail the customer’s report to your customer center. In another survey, a respondent may request additional information material. In this case, it would be helpful if the respondent’s address data (as far as they have been voluntarily submitted) were directly transferred to your sales department or if the submission of the corresponding information material was triggered automatically. Using triggers you can (if applicable) enter additional information on the respondent into the survey at runtime and make it available to the respondent as context information, or make the route through the questionnaire dependent on the value of this information.
Creating triggers
You can use triggers to perform these tasks by selecting and configuring the appropriate actions and associating them with specific variable values within the questionnaire.
Basic notes on triggers
- You can specify whether to execute the trigger more than once in a survey session. To do so, tick the checkbox labeled “Execute this trigger multiple times in one survey session” in the trigger editor.
- You are able to choose whether triggers will be executed or disabled in the preview. For example, it would make sense to disable the random trigger, in order to facilitate repeated testing under constant conditions. This function is activated by ticking the checkbox labeled “Also execute trigger in preview mode” in the trigger editor. By default, this function is not activated.
- In principle, triggers can be created on all survey page types. However some trigger types are destined for use on specific page types, e.g. final pages.
- On each page, you can create as many triggers as required. Please mind, though, that trigger actions require a lot of server resources, i.e. they affect the performance of the questionnaire. Therefore, it is recommended to use not more than 50 triggers per page.
- You can use Drag&Drop to change the sequence of triggers on a page, which may be relevant to the order of execution.
- Triggers are associated with a variable on the page. If the page does not contain any variable, use a dummy variable: Create a question of the type “911 – User-defined” to register a variable with the system. Write the variable onto the form as a hidden variable: “<input type=hidden name=V_NAME_AUS_911 value=1>”. This will transfer a fixed value to the trigger.
- When a page is sent, the EFS routing engine goes through various tasks: It reviews plausibility checks, saves the data, searches for the next page, and displays it. The execution position determines the point in the process at which the trigger is executed. The following execution positions are possible and only those which make sense for the current trigger type are available for selection in the trigger editor.
- Select “Execution position = Directly”, if you want the trigger to be executed first, before the page on which the trigger is defined will be output. Do not use this setting on the first page of a survey.
- If you select “Execution position = After submitting page, before filter”, the trigger will be executed after the page has been submitted, but before a filter that immediately follows it. Select this option if you want to use the result returned by the trigger for filtering (for example, if the trigger result fulfills a user-defined variable being used as a filter). This execution position is not available on the final pages, independent of the trigger type. For page trigger, logout trigger, and reinvitation trigger, it is disabled completely.
- If you select “Execution position = After submitting page, after filter”, the trigger will be executed after the page has been submitted. You can use this option if the trigger returns a result that you only want to use after the filter has been applied, i.e. the next page has been determined. For example, it is imaginable that you want to overwrite a user-defined variable, but only after the trigger has been executed.
- You can create triggers with the execution position “Directly” right on the first questionnaire page. The conditions of such a trigger can contain participant variables, URL parameters, and user-defined variables. Project variables cannot be used in such a trigger because they will not be available until after the first page has been sent, i.e. on the second questionnaire page.
- Some trigger types create contents to be saved in the survey result data, e.g. calculating formulas or saving parameters. For this purpose, user-defined variables.
- The runtime check, originally introduced for LUA filters, notes when a trigger cannot be executed, e.g. because an e-mail cannot be dispatched due to a broken if condition.
- Only for installations with EFS SMS Extension: It is not possible to dispatch SMS via triggers.
You will usually be on the safe side if you select the “Execution position = After submitting page, before filter” option!
Make sure you adjust the type of the user-defined variable (Labels and data type link) if you do not want to save integers to the variable. If necessary, change the type to Text or Decimal.
Condition editor
In the condition editor, you specify for which event the trigger will be activated/executed. The following operators can be used.
Operator | Symbol | Meaning |
---|---|---|
greater | > | Greater than “answer value x” |
greater equal | >= | Greater than or equal to “answer value x” |
equal | == | Equal to “answer value x” |
less equal | <= | Less than or equal to “answer value x” |
less | < | Less than “answer value x” |
unequal | != | Unequal (“answer value x” is excepted) |
contains | contains | Used primarily for filtering via texts, see the following notes on coding when filtering via content from the participant administration. Produces all texts that contain the entered text element, for example when filtering for “cd” “abcde” will also be filtered out. Filtering is case sensitive, blank spaces will be regarded as an incorrect entry. Umlauts can be used. |
contains any | contains any | Firstly, you can use this condition to check whether an entry contains one of several specified elements. Example: Entering “22” would fulfill the condition “contains any = 11,22,33”, whereas entering “123” or “122” would not. Secondly, you can use this condition to identify a specific element in an entry that consists of multiple elements, such as a phone number. Example: Entering “0229-1234” would fulfill the condition “contains any = 1234”, whereas entering “0229-12345” would not. Acceptable separators are comma, apostrophe, “- “ and “|”. |
matches regex | matches regex | Regular expressions can be used in the filter condition. They must be enclosed in slashes.The following check, for example, allows to detect 98% of mobile devices: /Mobile|iP(hone|od|ad)|Android|Black-Berry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/ |
in(for employee surveys) | in | The variable selected must contain the organizational unit named in the “code” field. |
in or below(for employee surveys) | in or below | The variable selected must contain either the unit named in the “code” field or one of its subunits. |
in branch(for employee surveys) | in branch | The variable selected must contain either the unit named in the “code” field or any other unit from the complete branch (from the root unit down to the lowest level). This operator is usually not used for routing purposes in the questionnaire but for report definitions. |
Basic steps
The basic steps to creating a trigger are identical for all trigger types:
- Create a questionnaire page.
- Create a question of the type of your choice.
- Select the desired trigger type.
- Specify the execution position.
- Select the variable (question) with which you want to associate the trigger.
- Specify the answer value at which the trigger is to be activated.
- Specify the trigger’s detail properties (select a mail template, etc.)
Example: Using a Trigger for Sending Feedback Mails
In many questionnaires, it is considered polite to have a final open-ended question at the end of the questionnaire and ask the respondent if they have anything else to say. Especially if you design a survey in the form of a conversation, it is to be expected that not all the thoughts the respondent has developed while answering the questionnaire will be revealed with the help of closed-ended questions. In order to give the respondent the opportunity to round off the conversation from their point of view, they are allowed to enter information. The survey manager has this sent to himself directly in order to have the option of reacting directly to events in the field.
Below, a mail trigger for a personalized survey is created to trigger the dispatch of such a participant’s comment to the survey manager.
Creating a Mail Trigger
In the first step, you create the trigger:
- In the Questionnaire editor, open the page containing the open-ended question.
- Click on the Triggers menu
- Click on the + Trigger button.
- Enter the title of the new trigger.
- Select the “Mail trigger” trigger type.
- Confirm with Create.
- The edit dialog for the new trigger opens.
Making Basic Settings
On the first tab, settings must be made which are required for all trigger types.
- Enter a description.
- In the “Execution position” field, select the “After submitting page, after filter” option.
- If you only wish to send the mail when the respondent has actually made a comment, then you must define the corresponding conditions:
- Click on the Edit link in the “Condition” field.
- Enter the desired definition in the condition editor. In this example the mail should only be sent out if the text field with the variable name “v_11” is filled in, i.e. not empty. The corresponding condition is: “v_11 greater ”, i.e. you leave the “Code” field empty.
- Confirm with Save.
- Next, switch back to the mail trigger by clicking on Back.
- Optionally, you can execute the triggers in the questionnaire preview. For mail triggers, testing in the preview is not really useful. “u_e-mail” or any project variables used are not replaced correctly: they cannot be allocated to a participant account in the preview. Therefore, keep the checkbox deactivated. Instead, create a test participant with an e-mail address to which you have access and use this account to test the questionnaire in productive mode.
- You may also also optionally execute the trigger multiple times in one survey. This doesn’t make any sense in this example, therefore don’t activate the checkbox.
- Save the settings.
Configuring Details
In the final step configure the mail to be sent.
- Open the Detail configuration tab: It contains mail trigger-specific options.
- Optionally, you can use a mail template of type “Standard mail”, filled according to the instructions below. If you choose this option, select the template first, then upload by clicking Apply mail template.
- As this is a personalized survey, you can select the “u_email” wildcard from the drop-down list in the “mail dynamically from” field. If participants fill in the comment field, the wildcard will be replaced with the e-mail address that was saved for them in participant administration.
- Enter the survey manager as the mail recipient.
- In the “Subject” field, enter the title “Employee survey feedback”.
- In the “Mail text” field, enter the variable for the comment field “v_11”, enclosed by two hash signs (#). During the course of the survey, this wildcard will be replaced with the participant’s entry
- Leave the default setting for the dispatch date unchanged.
- Confirm with Save.
Triggers in detail
The following table provides an overview of the different trigger types.
Trigger | Properties | Project type | Page type |
---|---|---|---|
Mail trigger | Upon occurrence of the event to be defined, an e-mail with predefined or dynamically generated content will be sent to an e-mail address that was either defined in advance or collected during the survey. | all | all |
Page trigger | Upon occurrence of the event to be defined, the respondent will be directed to a certain page of the survey. | all | all |
Logout trigger | Upon occurrence of the event to be defined, the respondent will be directed to the final page. | all | all |
Sample trigger | Upon occurrence of the event to be defined, the respondent will be registered in a sample of the target survey and will be invited via e-mail.The sample trigger can be set up and executed in all quantitative survey types (AN, PE, PA, MD, ES, MSF). For target survey, you can use all survey types with participant administration, | all | all |
Reinvitation trigger | The trigger reinvites the participant to take part in the same survey. This feature can be used if, for example, the respondent does not want to fill in the survey now but agrees to be reminded of it via e-mail. | PE, PA, MD, ES, MSF | Final pages, system final pages |
Variable split trigger | The trigger reads cookies and Get parameters, respectively, and writes them into user-defined variables. It is able to use a split attribute to separate cookies and passed parameters into single variables. | all | all |
Recoding trigger | This trigger can be used to recode survey variables. The recoded values can, for example, be transferred from other variables or calculated on the basis of the entries made by participants | all | all |
Random trigger | This trigger can be used to generate a random number from a specified interval. | all | all |
List trigger | The list trigger allows you to transfer the contents of a list into userdefined variables. The contents of the user-defined variables can in turn be displayed in the questionnaire via wildcards. | all | all |
Bonus trigger(only on EFS People installations) | Upon occurrence of the event to be defined, the panelists will be credited with bonus points. Optionally, several bonus allocations per panelist are possible in one survey. | PA, MD | Final pages, system final pages |
Panel group trigger(only on EFS Panel installations) | Upon occurrence of the event to be defined, the trigger adds the participant to a specific panel group. | PA, MD | all |
Prequalification trigger | This type of trigger imports a participant as a panel-user | ||
Portal-action trigger | Creates action in portal action board. | ||
Special code trigger(Only in combination with special programming) | This trigger executes custom code. It is deployed on customer-specific installations in context of special programming.Please note: When importing this project to another installation, the custom code triggers will only be transferred correctly if the target installation is configured properly, i.e. if this trigger type is activated and the special programming files have been uploaded. In case of doubt, please ask your contact. | special programming | special programming |
Plausibility checks
Internet surveys permit quality checks and data checks as early as during entry. Minor errors and missing information can thus be noted immediately during entry. The respondent will receive a short message indicating that they may have overlooked something. You will not have to ask follow-up questions afterward but can correct the incorrect information immediately during entry instead. Checks for the correctness of answers are commonly referred to as “plausibility checks”. This term is also used in this manual.
Why plausibility checks?
Plausibility checks are used to ensure a certain level of data quality. Sometimes, respondents will overlook a question or commit minor errors when setting an answer. Sometimes, questions are also answered incompletely, if the respondent for example wants to get an overview of the questionnaire first or completes the questionnaire without serious interest. The information given should be checked especially if branchings at later stages in the questionnaire are based on the answers to preceding questions. Plausibility checks are advisable in the following cases:
- The answer to the question is taken up in later questions, either in a filter condition or in a display of dynamic questions.
- Assuring fill-in instructions, such as “Select the three most important properties of products xy”.
- Answers to a specific question are of particular interest for the evaluation.
- The internal consistency of the data is of particular importance for the evaluation.
- The data being queried already exists in participant administration.
Planning the Use of Plausibility Checks
Be aware of which answers are important for the routing of the survey and which data are central to the evaluation purpose. However, use plausibility checks with care. For the respondent, plausibility checks are, first and foremost, annoying and tiresome because their behavior is questioned and their progress through the survey is hindered. Too many plausibility checks will destroy the relationship of trust between you and the respondent. Also, take into consideration that respondents may not yet have formed an opinion on some questions. In such cases, you will often achieve better data quality by allowing incomplete information than by forcing the respondent to give an answer that might only be valid for the moment and not actually meant by the respondent.
Think about aspects such as the following:
- Which answers are indispensable for the routing of the survey?
- To which questions do you want to obtain answers from as many respondents as possible?
- How would you react if your answer to a question were rejected as incorrect by a survey system?
In addition to the psychological effects on the respondents, there are technical aspects as well:
- On each questionnaire page, you can create as many plausibility checks as required. But plausibility checks require a lot of server resources, i.e. they affect the performance of the questionnaire, similar to other checks and dynamic features. Therefore, it is recommended to use not more than 50 plausibility checks per page.
- For plausibility checks, no dedicated sort order is implemented. I.e. while you may arrange the checks on a specific page in a specific sequence, this order may get lost especially if copying or importing the project.
- The conditions of plausibility checks should refer only to variables that have a defined value. If condition variables are not filled at all or contain missings (e.g. because a question or answer option has been hidden or if a respondent hasn’t filled an entry field) the checks can have unexpected or even wrong results.
- Try to avoid complex plausibility check conditions or substitute them with multiple simple plausibility checks. This way it is easier to get an overview of the variables used in the plausibility check and to avoid unexpected results.
- If necessary, the pro editor (Chapter 6.4.8, p. 280) allows to define complex conditions.
- In general, it is recommended to abstain from applying both hiding conditions and plausibility checks to the same variables.
- When dealing with question types whose variables have characteristics (e. g. single response list), please note: As soon as a single answer option of the question, i.e. one characteristic of the variable, is hidden, the variable will be defined as “missing” when used in a plausibility check. Therefore, in this case, the actual value of the variable cannot be determined by means of a plausibility check. If you cannot or do not want to work without the plausibility check, you might want to consider using a list instead of hiding conditions.
- If a plausibility check checks several variables, and only one or a few of these are affected by hiding conditions, it may make sense to deploy the option “Execute check if one or more items are blinded out?”. If this option is activated, the variables affected by the hiding condition will simply be skipped when executing the check. Mind that if all variables of the check are affected, it will not be executed, to prevent those participants get stuck on the page.
Example: Plausibility Check
Let’s assume that you ask the participants of your survey to enter their year of birth into an open entry field. You want to ensure that they enter only reasonable values: The values should be four-digit numbers inside a reasonable range, e.g. between 1900 and 2000. To realize this with a plausibility check, please proceed as follows:
- In the questionnaire editor, choose the page on which you want to perform the plausibility check. Click on the title of that page. The page view will open.
- Click on the Plausibility Checks menu
- The overview of plausibility checks is opened. No checks have been defined yet.
- Click on the + Plausibility check button.
- Enter the title.
- Select the “Range check” check type.
- Confirm with Proceed.
- The entry dialog is opened.
- In the “User may ignore this check” field, the “No” option should be activated. This means that the person completing the questionnaire must correct any incorrect entry. Otherwise, the next survey page will not be displayed.
- Only in projects with classic system layout: In the “Systems to use for check” field, the “Client (JavaScript) AND Server (PHP)” option should be activated.
- Do not change the setting of the field „Execute check if one or more items are hidden??“. In the current example situation, it does not matter as there are no hidden items.
- When executing JavaScript plausibility checks you may choose to let the participant neglect the plausibility check. In this case, check Yes with the option offered.
- Choose which system you would like to check in the responsive layout: Client (JavaScript), Server (PHP), or Client (JavaScript) AND Server (PHP).
- In the following field, you can edit the message which is displayed if the check condition applies. Please replace the default message “An error occurred!” by “Please enter your year of birth as a four-digit number!”.
- Next, define the check condition itself: First, select the variable which you want to check.
- Then, enter the range within which the values are to be valid. In the example shown, “1900” is the minimum, “2000” is the maximum.
- Click on the Save button.
- To see the pop-up that will be displayed to the respondents, open the Page Preview tab and enter an erroneous value to trigger the check.
pop-up. - The new check is listed in the overview.
If you do not enter a message, a client-side JavaScript check will not be triggered!
Predefined Plausibility Checks (Plausibility Check Types)
The following plausibility check types are available by default.
Type | Parameter | Properties |
---|---|---|
Range check | Variable, “int” from, “int” to | Checks whether the value of the variable is a number between two values. |
E-mail address check | Variable | Checks whether the value of the variable is a valid email address. It will be checked for characters used, for the “@” character and for the period before the domain address. |
Standard check | Freely definable | Checks one or more variables using an operator. |
Format check | Variable, format | Checks a variable using predefined regular expressions (numbers only, letters only, etc.). |
RegEx check | Variable, regular expression | Checks a variable using a freely definable RegEx. |
NoRegEx check | Variable, regular expression | Checks a variable using a freely definable RegEx. Returns “true” if the expression was not successful. |
OnlyNumbers check | Variable | Checks whether a variable contains only numbers, commas and periods. |
Range check old | Variable, “int” from, “int” to | Checks whether the value of the variable is a number outside the range between two values. |
Combination check | Variable, “int” | For questions with multiple response lists, checks whether the required number of checkboxes has been ticked. |
Combination check (range | Variable, “int” from, “int” to | For questions with multiple response lists, checks whether the number of checkboxes ticked is within a preset range. |
Range Check
The range check checks whether the number entered by the survey participant is within the number range you set. Otherwise, the plausibility check will be triggered and report an error. For this, the preset limits are included in the permissible range of values. The check also works with negative numbers.
If you set up a range check to do a JavaScript plausibility check or a combined PHP plausibility check, please note: JavaScript gives a value of “0” to an empty string (nothing entered). That is, if a respondent enters nothing, it will not be seen as an incorrect entry, rather it will be given a value of “0”, which is either permitted or prohibited depending on how each area is defined. In order to prevent this kind of misevaluation, please run a separate OnlyNumbers check (do not use AND conjunctions with the Range check) on the input field.
E-mail Address Check
The e-mail address check checks the variable to be set for a correctly entered e-mail address. A correct e-mail address consists of four parts.
Example: tester@email.de
- An individual user name (tester in the example).
- The @ character.
- A domain name (email in the example).
- A country ID, separated from the domain name by a period (.de in the example).
The e-mail address check checks the four parts for the following form:
- The individual user name: The individual user name may contain letters and numbers as well as the characters “.”, “_” and “–”. Umlauts are not allowed.
- The domain name: The domain name may contain letters, numbers and periods. Umlauts are not allowed. The domain name can be subdivided by any number of periods.
- The country ID: The domain name may only contain letters, with a minimum of 2 and a maximum of 6 letters allowed. Umlauts are not allowed.
Standard Check
The standard check checks the variable to be set to see whether it meets a condition set through the mathematical operators (= , < , > , <= , >= , !=).
- Select the variable you want to check.
- Select the mathematical operator you want to use to check the variable.
- Enter the value of the variable for which the check is to be performed.
Format Check
The format check checks the variable to be set to see whether it complies with a format, also set by you. You have the choice of the following formats:
- Checking to see whether the field contains no numbers.
- Checking to see whether the field contains only uppercase letters.
- Checking to see whether the field contains only lowercase letters.
- Checking to see whether the field contains only numbers with periods or commas.
- Checking to see whether the field contains only numbers with or without periods.
- Checking to see whether the field contains only numbers with or without commas.
To create the format check, please proceed as follows:
- Select the variable you want to check.
- Select the format for which you want to check the variable you previously set.
RegEx Check and NoRegEx Check
The RegEx and NoRegEx checks check the variable to be set to see whether it complies with a regular expression, also set by you. Regular expressions are defined as follows:
- Regular expressions, or RegEx for short, are used to check strings. They are used very frequently, especially in the UNIX environment, and make it easier to check strings containing many conditions.
- There are two possible types of RegEx:
- RegEx check
- NoRegEx check
- If a RegEx check returns “true”, an error message is output. The logic of the NoRegEx check is exactly the other way around.
- RegEx checks are enclosed in “/”. Optionally, a so-called pattern modifier can be placed at the end. Please note that RegEx checks in PHP and JS may show a differing behavior. For JS checks, the results might even differ among various browsers. Because of the complexity of regular expressions, we recommend testing the check in the system first.
- Examples:
- Zip code check => /^[0-9]{5}$/ (exactly 5 digits)
- Money field => /^[0-9]+ (EUR|USD)$/ (as many numbers as required + currency, either EUR or USD)
- Examples:
- References: http://www.php.net/manual/en/ref.pcre.php
Complications can arise when in a survey that is encoded in UTF-8 RegEx checks with JavaScript or JavaScript and PHP are carried out in order to compare strings containing more than just numbers: JavaScript is unable to recognize umlauts or other special characters that are reproduced in UTF-8 as doublebyte character (thus takes up two characters).
To create a RegEx check, please proceed as follows:
- Select the variable you want to check.
- In the text field, specify the regular expression whose entry is to trigger the RegEx check.
To create a NoRegEx check, please proceed as follows:
- Select the variable you want to check.
- In the text field, specify the regular expression whose entry is not supposed to trigger the NoRegEx check. For all entries of other types in the field to be checked, the check will be triggered.
Range Check Old
In contrast to the range check explained above, the range check old checks the invalid range of the variable to be set. This means that the value entered by the participant must be outside the number range you set. Otherwise, the plausibility check will be triggered.
Combination Check and Combination Check (range)
Two other plausibility checks are available for questions with multiple response lists (question types 121, 122, 362, 521, 522, 621):
- The combination check allows you to check whether a respondent has ticked a required number of checkboxes.
- The combination check (range) checks whether the number of checkboxes ticked is within a preset range.
FAQ
What is the maximum number of plausibility checks per page?
It is recommended to use not more than 50 plausibility checks per page to maintain optimal performance.
Can I use HTML formatting in all parts of a question?
While it is possible to use HTML tags in any part of the questionnaire, it may not always lead to the desired outcome. It’s recommended to test your surveys in different browsers and use HTML formatting cautiously.
How can I ensure that respondents answer all questions on a page?
You can use the “Page is submitted automatically after completion of all questions” option in the page properties to ensure all questions are answered before proceeding.