MAKE ROOM FOR HONESTY

Create your survey.

Template Library

Browse ready-made surveys and customize the questions.
Understand plausible deniability → (opens in a new tab)

For small stores, combine areas with few respondents or omit the store-area question to reduce the chance of identifying individual respondents. Do not request names or identifying incident details. The employee-involvement question measures awareness; several respondents may be referring to the same incident, so the results do not count incidents or employees involved.

Upload or download Markdown

Save or load the title, introduction, questions and routing. Sender details, survey information and response periods are set separately.

Survey syntax (opens in a new tab)

Offline SurveyToGo package

Download this questionnaire as a self-contained ZIP for offline collection. No publication or integration code is needed. Answers stay in SurveyToGo; voice results and analysis are not available for this package.

Unverified on SurveyToGo devices · Setup and limitations

Include the study contact, voluntary participation, protection of answers, host identifiers, storage, retention and deletion procedure. This script is bundled with the questionnaire.

Unfinished drafts are saved only on this browser.

Shown to respondents with “not verified”.

Survey settings

Starts when you publish. You can change the closing date later on the survey’s management page.

Required answer default

Used only for new questions. Reset all to apply this default to existing questions.

Variables and treatments optional

Define values once at the start of each submission. Reuse them in question and explanation text with $name or ${name}, and in control logic or skip rules. Write $$ for a literal dollar sign. Answer labels, the title and introduction stay fixed.

For embedded surveys, read host data with enumerator_id = host("enumerator_id", ""). The second argument is the default for standalone links and previews. Use the resulting variable in text or routing; host data is fixed when the interview starts.

Use Python arithmetic, comparisons, booleans, lists and dictionaries; abs, min, max, sum, len and round; math.sqrt, log, exp, floor, ceil; and np.array, mean, sum, clip, random.choice, random.uniform and random.normal. numpy also works. Definitions can use earlier variables. Conditions must return True or False; random draws belong in definitions.

Language reference and limits

Operators: + - * / // % **, comparisons == != < <= > >=, in, not in, and, or, not, and a if condition else b. Values include numbers, strings, True, False, None, lists and dictionaries with string keys. Indexing is supported.

  • abs(x), min(values) / min(a, b, …), max(values) / max(a, b, …), sum(values, start=0), len(x), round(number, ndigits=0).
  • math.sqrt(x), math.log(x, base=math.e), math.exp(x), math.floor(x), math.ceil(x); constants math.pi, math.e, math.tau.
  • np.array(values), np.mean(values, axis=None), np.sum(values, axis=None), np.clip(values, a_min, a_max).
  • np.random.choice(a, size=None, replace=True, p=None), np.random.uniform(low=0, high=1, size=None), np.random.normal(loc=0, scale=1, size=None). Choice weights must sum to one. Distribution parameters are scalar; sample size is an integer. Omitting size draws one value.

At most 50 variables. Numbers must be finite within ±1e100; exponents and rounding precision within ±100. Collections and random samples have at most 256 entries; arrays have at most two dimensions. Definitions cannot import modules, read files, loop, mutate values or redefine names. This is a limited expression language, not all of Python or NumPy.

Recorded answers in conditions

Use answers["q1"] == "Yes" for a recorded choice, or answers["q2"] > 10 for a number. Multiple selections are lists of labels. Guard skipped questions with "q1" in answers and answers["q1"] == "Yes". Conditions can use earlier answers; skip rules can also use the current answer. Original protected selections are never available.

Add survey item

Results remain available. Publishing fixes the questions. You can change survey settings later or make an editable copy.