1. Create a project
  2. Add a task pool
  3. Upload tasks
  4. Start the pool and get the results

Run the project in the Sandbox first. This helps you avoid making mistakes and spending money on a task that isn't working right.

Walking (field) surveys are completed in the Toloka mobile apps for Android and iOS. A performer chooses a point on the map where they need to go to check something and take photos.

You may need additional projects for your task, such as dataset pre-check or checking performers' responses. Learn more about this in Designing the solution architecture.

This template helps solve such tasks as:

  • Identifying product flaws.
  • Loyalty evaluation.
  • Getting feedback.
  • Identifying key features as in the example.

To do this, create this task: the performer will need to come to the point, find the respondents according to the given description (and among them those who agree to pass the survey), ask questions according to the questionnaire and confirm the respondent identity with a phone number or a photo.

Example of a prepared task

To run tasks and get responses, follow the instructions:

Create a project

The project defines what the task will look like for a performer.

  1. Click the + Create a project button and choose the Survey template in the field task block.

  2. Enter a clear name and a short description for the project. Performers will see this in the task list.

  3. Write short and comprehensive instructions (see recommendations). Use HTML tags to insert links, pictures, and so on. Instructions for the field survey should be easy to read, even on a mobile phone screen.
  4. In the template, the Map option is enabled automatically. So a user will see tasks as points on the map and be able to choose any.

    Address and Coordinates will be displayed when the performer chooses a point on the map. These fields contain an input field that will be changed later.

  5. To show the name and description of the point, edit the fields:
    • Address: {{inputParams["address"]}};
    • Description: Location: {{inputParams["coordinates"]}} .
  6. Note. This tutorial shows how to create a task interface in the HTML/JS/CSS editor. You can also try creating a task interface in the Template Builder.
    Define which objects you are going to pass to the performers and receive from them in response. To do this, add input and output fields in the Data specification section.
    What are input and output data?

    Input data is types of objects that are passed to the performer for completing the task. For example, this could be a text, an image, or geographic coordinates.

    Output data is types of objects that you receive after the task is completed. For example, this could be one of several response options, typed text, or an uploaded file.

    Learn more about input and output data fields.

    The template includes the fields:

    1. Input data fields:
      • address — The address in the task.
      • coordinates — Coordinates of the point where toloker should come.
    2. Output data fields:
      • photos – Array of files. Photos uploaded by the performer.
      • answers – A JSON file with performer's responses.
      • address — The address in the task.
      • coordinates — The coordinates in the task.
      • worker_coordinates — The performer coordinates at the moment of task completion, with the Current location option turned on.
  7. The task interface describes where the task elements should be arrange, what they should look like, and what logic they should follow.

    You can use standard HTML tags and special expressions in double curly brackets for input and output data fields in the HTML block. HTML describes how the task elements should be arranged in the task.

    JS is used to describe the task logic. Also, the main content of this task is embedded in JS for ease of editing.

    In this project, the translates variable stores all texts from the task suite.

    Here you can add, delete, or change survey items.


    var translates = {
        'header': 'Fill out the form below',
        'surveyConfirmation': 'Survey confirmation',
        'firstName': 'Your name',
        'photo': 'Photo',
        'responseTextPlaceholder': 'Response text',
        'phone': 'Your mobile number',
        'phoneExamplePlaceholder': '+79000000000',
        'petPreferences': 'Which of these pets do you like?',
        'petsList': [
        'petHave': 'Do you have a pet?',
        'petName': 'What is your pet's name?',
        'yes': 'Yes',
        'no': 'No',
        'user': 'Performer',
        'placeOfSurvey': 'Survey location',
        //validation errors
        'firstNameEmpty': 'Enter the respondent's name',
        'surveyConfirmationProofsMissing': 'You didn't confirm that the survey was conducted',
        'petNameEmpty': 'Enter the pet's name',
        'firstNameIncorrect': 'The respondent name must contain only Cyrillic letters',
        'phoneIncorrect': 'The phone number you entered is incorrect',
        'tooFar': 'You are too far from the polling place'

    The template already contains CSS styles, you don't need to change them.

    The MAX_DISTANCE variable specifies the maximum distance in kilometers from a designated point that the performer must stay within during task completion.

    The template logic includes checking the respondent's phone or photo. This means that the performer will have to enter the respondent's phone number or take a photo.

  8. Click the Preview button to see the performer's view of the task.
  9. Save the project.

Add a task pool

A pool is a set of paid tasks sent out for completion at the same time.

  1. Open the project and click Add pool.
  2. Give the pool any convenient name and description. The pool info is only available to you. Performers can view only the project name and description.
  3. Set the price per task, for example $0.2. For field surveys, always add one task per page.
    What is a task suite?

    A page can contain one or several tasks. If the tasks are simple, you can add 10-20 tasks per page. Don't make pages too long because it slows down loading speed for performers.

    Performers get paid for completing the whole page.

    The number of tasks on the page is set when uploading tasks.

    What is the fair price for a task suite?

    The general rule of pricing is the more time the performer spends to complete the task, the higher the price is.

    You can register in Toloka as a performer and find out how much other requesters pay for tasks, or see examples of cost for different types of tasks.

  4. Set the Time allowed for completing a task suite. It should be enough to get to the place, find the specified point and upload photos. For field surveys, we recommend allocating a day — 86,400 seconds.
  5. Set Overlap, which is the number of performers to complete the same task. For field surveys, it is usually 1.
  6. Turn on the Non-automatic acceptance option and enter the number of days for checking the task in the Deadline field (for example, 7).
    What is non-automatic acceptance (assignment review)?

    The non-automatic acceptance option allows you to review completed task suites before accepting them and paying for them. If the performer didn't follow instructions, you can reject the task. The maximum allowed period for the review is set in the Deadline field.

  7. Add Filters to select performers. To make your tasks available in the Toloka mobile app to English-speaking performers located in Moscow, set the language and region.
  8. Save the pool.

Upload tasks

  1. Click Upload. In the window that opens, you can also download a sample TSV file by clicking Sample file for uploading tasks.

    What is TSV?
    A TSV file presents a table as a text file in which columns are separated by tabs.
    You can work with it both in a table editor and a text editor, and then save it to the desired format. More about working with a TSV file. There is a CSV format that is similar to TSV, but you should use a TSV file for uploading.
    Note. Before uploading the file, make sure it is saved in UTF-8 encoding.
  2. Add input data in it. The header of the input data column contains the word INPUT. For field surveys, you also need to specify the latitude AI:latitude and longitude AI:longitude of the point. You can use a service like Yandex.Maps to get the coordinates
  3. Upload the tasks by choosing Set manually and set 1 task per page.

Start the pool and get the results

  1. Start the pool by clicking .
  2. Track the completion of tasks in the Pool statistics section.
  3. When the first results come in, you can start reviewing.

    To review assignments, go to the pool and click Download results. To download attachments, click the button next to and choose Download attachments.

    Note. After the specified time period, all responses are automatically accepted, regardless of their quality.