6

I am creating a survey in Google Forms and I'm going to that use inside our organization. I am going to send the form link to everybody inside organization using their internal email. The form will not require Google login to participate, but I need to get only one response per person (one response per one emp-email-id).

If the same employee trying to participate in the survey for the second time the form should able to identify that he is already participated in the survey and prevent the second submission.

To solve this issue I planned to do three things

  1. Applying unique id for each link which I am sending to employee and recording the unique id after submission and if the person trying to participate in the survey with same unique id link crosschecking the recorded unique id should be able to stop the second submission.

  2. Recording their IP address instead of unique id and doing crosscheck to prevent second submission.

  3. Recording their email id and doing crosscheck second submission.

On the three things which one is possible? I am very new to Google Forms.

3 Answers 3

5

You can apply unique id to each link you send out, using pre-filled links.

  1. Add one more field to the form, e.g., "user token".

  2. Follow the instructions for getting a pre-filled link, entering something like "qwerty" in the "token" field.

  3. Inspect the pre-filled link that you get: it will look like https://docs.../viewform?entry.123456789=qwerty (there may be other entry.something parameters, corresponding to the field you left blank. You can delete those)

  4. In the spreadsheet, append random-looking numbers instead of "qwerty". For example,

Column A: =floor((2+sin(sqrt(5)*pi()*row()))*1e9)

Column B: ="https://docs.../viewform?entry.123456789=" & A2

Here I used some math to quickly get a bunch of 10-digit integers that look random but are not.

  1. Email these links to recipients; an Apps Script can help with this, if emails are entered in the same sheet.

  2. After form submissions arrive, use vlookup or match to cross-check them against your list of token numbers. For example, if the Ids are in column F, then using =isna(match(F2, F$1:F1, 0)) in 2nd row and copying it down will show the repeated submissions as FALSE. Also, use match to check tokens against the column in which you computed them originally; this will detect any users who made up a token.

1
4

I do not believe that any of those things are possible using Google Forms - at least not automatically.

Google Forms has a feature that you can turn on to prevent more than one response per Google Account (they say "person" in their help, but really it means per account). To use this feature:

  1. Edit the form.
  2. Click the Settings bar
  3. Turn on the "Allow only one response per user" option.

However there are various limitations of this - the main one being that everyone who responds needs to have a Google account. (More about these here.)

Another option is for you to email your people a unique code - which is visible inside their email - and have a field on your form for people to enter this code into. You would have to tell them that only responses with the correct code will be counted, and so they must manually copy-and-paste the value across. (This isn't a great option, I know, but it's the best that Forms has, currently)

4
  • Now it's possible. See my answer. Commented Dec 16, 2016 at 14:13
  • But there is nothing to stop an indvidual from having more than one Google account, and signing in several times. Commented Dec 16, 2016 at 22:59
  • If the form owners use G Suite, the administrator could tell them if there are individuals with more than one account on their organization. Commented Dec 16, 2016 at 23:02
  • Anyway, I'm sorry, even I read the whole answer, I only keep the first statement. Commented Dec 16, 2016 at 23:16
1

Google Forms now have a limit to one answer by respondent. It requires that the user sign-in using a Google account. For details see the official help article: Send your form to people

In certain situations you could be 100% sure that the employees will only be able to submit one response in other you should measure the risks and evaluate the use of Google Forms considering them.

If the form owners organization has G Suite, they could ask the organization administrator if there are individuals with more than one account. In small organizations it's very rare that an individual has more than one account, I think.

If the form owners are using consumer accounts (usually they have an gmail.com email address) you should know the employees to properly evaluate the probabilities of having more than one response by employee.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.