Tuesday, August 19, 2014

How to Block Past Workers from Doing Surveys

This is an update about the current and easiest ways to ensure you recieve unique results for your surveys.

Republishing credit to Spamgirl from Turkernation

How to block past workers from doing your new HITs (API & GUI instructions) 

 Through the API: https://github.com/leeper/MTurkR/wik...ions-as-Blocks
Through the RUI/GUI

 1. Create a Qualification

Go here.

Click on .

Friendly Name: I'd recommend using your requester name, date and HIT type. For example, Spamgirl 12.8.13 Block Past Workers
Description: Describe the work this qualification entitles the Worker to do. For example, Workers with this qualification have already done my HITs before, so I'm using this qualification instead of blocking.

2. Assign Qualifications

Go here.

Click on the first Worker ID you'd like to give the qual to. Click .

Check the box next to your new Qualification, then click on .

Repeat for every Worker on your list.

3. Create your HITs

Go here.

Choose a template of your choice. Note that you cannot use your qualification with the Categorization or Sentiment templates as they don't allow you to change your qualifications, they force you to use the expensive Masters qualification. For categorization or sentiment HITs, use the Other custom template instead. Click Create Project.

The only settings which matter towards using your qualification are found when you click the Advanced >> link at the bottom right corner of the big gray area. Next, click the Worker Requirements >> link.

Worker Requirements: Choose Customize worker requirements.

Click Remove twice. On the last row, click Clear.

In the first drop down box, choose your qualification under Qualification Types you have created.
In the second drop down box, choose has not been granted.

Require qualification for preview: Yes.

Everything else is up to you.

Repeat step 2 every time your HITs are completed as you will need to give the qualification to all new people who do your HITs. Be sure to do this before reposting your HITs to ensure they can't retake it.


Why this is your best bet:

1) If a worker has to accept a HIT and then submit their ID, or try to remember if they've done it before (trust me, they won't), they'll get upset and your Turk Opticon rating will suffer.

2) Asking a worker to email you to find out if they've done it before is time consuming and more than any Turker will want to bother with for one HIT.

3) Putting a PUBLIC list of worker IDs online and asking Turkers to see if their ID is there IS A BIG NO-NO! This exposes their ID and all associated data, such as their wish list and any demographic information listed there, to the world. If you take this route, reputation damage will be swift and severe. On top of that, websites aren't 100% reliable, so they may not even be able to access the list.

4) Blocks put workers' accounts in jeopardy of suspension, so using them will totally ruin your reputation. Here is the hard block email text they receive when you block them:

Greetings from Mechanical Turk. We regret to inform you that you were blocked from working on HITs by the following requester(s): (That's YOU)

Requesters typically block Workers who submit poor quality work.

Requesters rely on Mechanical Turk for high quality work results. In order to maintain quality, we continuously monitor service activity. Should additional Requesters block you in the future, we may suspend your account. Please ensure your work quality is at a high standard. We encourage you to read the HIT instructions and follow them carefully.

We realize that this block may be a onetime occurrence for you. Should you maintain high work quality with no further complaints for the next few months we will dismiss this event.

Regards, The Mechanical Turk Team

If your survey will only be posted once, the best way to ensure Turkers only complete it once is to post a single HIT and specify how many workers you want to do it. For example, 1 HIT, 100 Turkers. This can be done through the GUI, Command Line Tools and API.

You can also use Qualtrics and other third-party services to do the work for you, but that will cost you money.

The best, easiest and most effective way to ensure no retakes is a qualification, though, so check out the link at the beginning of this post!



  1. No need to assign qualifications one by one. After creating the qualification as described go to Manage -> Workers -> Download CSV. In the downloaded file you will find a column where you can assign (update) values (0-100) to each of your workers. Make sure to upload the file when done.

  2. But if you have many workers, the CSV method doesn't work (the file is too large to upload). I wish I could use CSV instead of doing it one by one!