Project 2. Find a similar item in an online store

  1. Project creation
  2. Pool creation
  3. Preparing and uploading the file with tasks

If you just started using Toloka, make sure that the English language is selected.

Project creation


In this particular example we ask the performers to search for the clothing items on ASOS. However, you can use any other online store. In this case you must change ASOS to the store of your choice in HTML and JS fields of the project.

  1. Click the + Create project button and choose the Product photo search template.

  2. Enter a clear project name and description. It will be shown to performers.

  3. Write short and simple instructions.
  4. Define specifications for the input and output data:


    • The image input data field with the link type will be used to pass the image links to the performers.
    • In the output field add found_image, to give the performers space to upload the image.
    • In the output field add button to check if the performer actually went to the required website.
    • In the output field add found_link, here we will check whether the pattern of the url from the required website (a.g. online store, ASOS) matches the pattern of the submitted link.

      If you have chosen a different store then change "pattern": "*", to "pattern": "your_store.*"

    The code for specifications is:

    Input data:

        "image": { 
            "type": "url",
            "hidden": false, 
            "required": true 
    Output data:
      "button": {
        "type": "boolean",
        "hidden": false,
        "required": true,
        "allowed_values": [
      "found_link": {
        "type": "string",
        "hidden": false,
        "pattern": "*",
        "required": true
      "found_image": {
        "type": "file",
        "hidden": false,
        "required": true
  5. Create the task interface.

    The editor for data search is automatically included in the template but you still need to add extra lines in the interface to adjust the template to your needs.

    • Delete the whole HTML code in the template, and instead add the following code to show the initial item to the performers:
      {{img src=image width="50%" height="400px"}}
      <div class='answers'>
       <p>Find the same <b>shoes</b> on ASOS</p>
       {{field type="button-clicked" name="button" label="ASOS" href="" action=true}}
       <p>Shoes must be the same color and the same style.</p>
       <p>Paste the link here</p>
       {{field width="100%" type="input" name="found_link"}}
       <p>Upload the image here</p>
       {{field width="100%" type="file-img" name="found_image" preview=true}}
  6. Now we need to check whether performer is going to submit a valid link and an image. To check it, do not delete any of JS code but change the following JS block on the 5th line :

    if (!solution.output_values.image && !solution.output_values.no_image) {


    if (!solution.output_values.found_image) {

    Be extra careful while changing the code! In case you are having trouble previewing call our team or check the expanded code in Appendix.

  7. Add the following code in CSS field to set the images sizes proportionally:
    .task {
      display: block;
      height: 500px;
      width: 800px;
    .img {
      float: left; 
      width: 50%;
    .answers {
      float: left; 
      width: 40%;
      margin: 5%;
  8. Click the Preview button to see the performer's view of the task.

    In this particular case you will not be able to submit the assignment in Preview as the image you will be trying to upload cannot be uploaded while the pool is still closed.

  9. Click Save button to save the project.

Pool creation

  1. Click Add pool.

  2. Give the pool any convenient name and description. You are the only one who can see them.
  3. Specify the pool parameters:
    • Price per task page (for example, $0.03).
    • Overlap. This is the number of users who will complete the same task. Put overlap at least 3 so that the performers can bring you different links and images.
    • Turn on the Non-automatics acceptance option and enter the number of days for checking in the Deadline field (for example, 7).
  4. Set up user filters.
    • Select English-speaking performers using the Language = English filter.

    • Create the Found_shoes skill that will be assigned to users after they complete the pool tasks. You will use this skill to prevent these users from checking tasks in the next project. Click Create skill:

    • Enter the skill name and add a description if desired. You are the only one who will see it. Leave the skill private, as it is by default and click Add.

      Optionally, specify the percentage of top-rated performers in the Speed/Quality ratio.


      This can slow down pool completion.

  5. Set up quality control:
    • Resend the rejected tasks for completion. Add the Recompletion of rejected assignments:

    • Submitted responses. Add a rule to mark users who completed at least one task in the pool.


      If the skill you created doesn't appear in the drop-down list, save the pool, and then open it for editing again.

    • Optionally, add other quality control rules.

      Control tasks and majority vote are not used in this type of project, because the links provided by the performers must exactly match the reference, which is practically impossible.

  6. Save the pool.

Preparing and uploading the file with tasks

  1. Open the file with aggregated results from the Project 1. Does the photo contain an item?.
  2. Select only images suitable for highlighting (OK answers or another value if you have changed it in the result field). Use a text editor or a spreadsheet editor.
  3. Copy the column with the selected links to a new page or document and give a name to the INPUT:image column.

    If you changed the input field name in the project to something other than image, change the name in the file as well: INPUT:<your field name>.

  4. Save the file in TSV format.
  5. Upload the file to the pool by selecting Set manually. Set 1 task per page.

  6. Start the pool.