Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Preventing do an anonymous survey multiple times

More
2 years 7 months ago - 2 years 7 months ago #239855 by Dezember
Please help us help you and fill where relevant:
Your LimeSurvey version: [see right hand bottom of your LimeSurvey admin screen]
Own server or LimeSurvey hosting:
Survey theme/template:
==================
I have a survey with a prize draw. It will have two databases: one for responses, another for participants' emails. I want to do it with an END link as in this example forums.limesurvey.org/forum/can-i-do-thi...ng-be-adjusted#72962
However, I noticed that this link could be abused: someone could pass it on several times and send anonymously different emails. Is there a way to prevent this?
Last edit: 2 years 7 months ago by Dezember.

Please Log in to join the conversation.

More
2 years 7 months ago #239857 by holch
There is no way to avoid 100% that someone doesn't take a anonymous survey more than once.

If they are clever, they get the end link to the second survey somehow and fill in just this survey as many times as possible. You could avoid / control this by passing on the SavedID from the first survey to the second survey. But then you could just keep the two surveys together as one anyway, because you could connect the responses from the first survey with the responses to the second survey via the SavedID.

In theory you can prevent the participation via a cookie, but cookies can be deleted easily. Same for IP. I have easy access to 4 different IPs right now:
1. Work IP 1
2. Work IP 2
3. Home IP
4. Mobile IP

So you can't really guarantee that someone won't cheat your system.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

More
2 years 7 months ago #239858 by Dezember
Okay, let's imagine that I want to create a system with survey 1 generating random ID, which should be written in the survey 2? How this token generation could be done?

Please Log in to join the conversation.

More
2 years 7 months ago #239859 by holch
What would the random ID help compared to the SavedID that is already created by the system? If you don't save the random ID in the first survey, it is no solution.

If you save the random ID in the first survey and pass it on to the second, there is no difference in terms anonymity to pass the savedID from Survey 1 to Survey 2.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

More
2 years 7 months ago - 2 years 7 months ago #239862 by Dezember
Okay, let's say I want to have a system with SavedID (what is that, by the way?). How could I show it to the participants and connect it to the second survey?

I agree with your concerns about anonymity, but let's say that this is a necessary formality.
Last edit: 2 years 7 months ago by Dezember.

Please Log in to join the conversation.

More
2 years 7 months ago #239863 by Joffm
Hi,
you do not show it, but pass it via the end-url to the next survey, where you capture it.

SAVEDID:
[url] www.limesurvey.org/manual/URL_fields/en [/url]

Now, if a participant uses this link several times you will notice it.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
2 years 7 months ago #239865 by holch
SavedID is an ID that any survey response receives. You can find it in any response table. If someone opens the link and enters the questionaire, a SavedID is created for this response. It is a unique identifier in a survey for any response (completed or not).

And you wouldn't show it to anyone. You would pass it via the END URL and save it in the second response table (in a hidden questin). If this ID has been saved more than once in the second response table, you know that something fishy is going on. Or if there is an ID saved in the second survey that doesn't exist in the first survey you also know that something fishy is going on.

The rest Joffm explained.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

More
2 years 7 months ago - 2 years 7 months ago #239878 by Dezember
 
Thanks for your reply!
Ok, I made this kind of endlink: www.limesurvey.org/test.php?var1={SAVEDID }
Actual link: survey.hcics.simtech.uni-stuttgart.de/in...ang=en&var1={SAVEDID }  
I tried to use the link at the end of the first survey several times (cheat 1, 2, 3)... and this ID kept changing. Or is it recorded somewhere else?
Last edit: 2 years 7 months ago by Dezember.

Please Log in to join the conversation.

More
2 years 7 months ago #239881 by holch

and this ID kept changing.


Of course the ID is always changing, that is the correct behaviour and this is what you need. As explained before:

1. Whenever someone opens a survey link on Limesurvey, the system creates an ID for this respondent. This is the SavedID. This ID is unique for each respondent to a survey and as you can see it is counting up. This ID exists no matter if someone completes the survey or not.

2. If you pass this SavedID from your first survey to the second survey and save it in a hidden question, you have the possibility to match survey 1 responses with survey 2 responses. It will not prevent people from filling the surveys twice, but it will show you if someone is trying to cheat in survey 2 by using the link to the second survey more than once to increase chances (if there is the same ID more than once saved in the hidden question of survey 2) or if someone is trying to cheat in another way (e.g. if there is an ID in the hidden question 2 that does not exist as saved ID in the first survey). Maybe, you might want to add something else to that SAVEDID to make it no so easy to guess and cheat.

E.g. you take a hidden equation question and create a more complex semi random number. E.g. 3 random letters, than the SAVEDID and than 2 random letters or something like that. Save this in the hidden equation and then pass this ID on to the second survey in a hidden question.

Also not sure what your screenshot is showing. Is this from survey 1, is it from survey 2, what do you want us to see?

The first column in your screenshot is the Savedid from the survey you are showing us (12, 13, 14, 15, etc). Now, each of the two surveys has their own Savedid of course. But for your problem the relevant Savedid is the one from survey 1, you pass it on to survey two and write it into a (later hidden) text question so that later you can be able to compare and see if someone is cheating. You can't prevent cheating, you can only identify cheating easier afterwards.

E.g. if your system automatically provides a voucher to respondents in the second survey, all this effort is in vain, because they will already have the voucher code. You will only know afterwards if they cheated.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

More
2 years 7 months ago #239882 by Dezember
Thank you very much for such deliberate answer!
it is Survey 2 on screenshot.

Please Log in to join the conversation.

More
2 years 7 months ago #239885 by holch
Ok, but where did you save the Savedid from survey 1? Can't see it in the screenshot. The "ID" you can see, is the savedid from survey 2. You don't need this one. You need to save the ID that you are passing from survey 1 to survey 2 somewhere in survey 2.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

More
2 years 7 months ago #239888 by Dezember
That's the Survey 1. Is it correct? You see here that responses in survey 1 ends on 11, while in Survey 2 - on 15.
I didn't do anything except changing the endlink. Should I do anything else?

Please Log in to join the conversation.

More
2 years 7 months ago #239889 by holch
I think you did not fully crasp the concept yet.

Survey 1 and survey 2 are completely independent surveys, their SavedIds purely depend on how often their link has been called. So of course the SavedID from Survey 1 and the SavedID from Survey 2 can be completely different.

In any way, in my opinion, if you pass an ID from survey 1 to survey 2, you could actually just ask the personaldate for the price draw in the first survey and you don't need the second one. Because if you can connect the two surveys via an ID, it is the same as asking the personal data in survey 1 already, annonymity wise it is the same. And you save yourself all this discussion here about how to pass an ID from survey 1 to survey 2.

But, to do so, what do you need to do?

1. In survey 1 you add an ID to the end url which calls survey 2
2. In survey 2 you need to add a question (usually text, which will be hidden after you tested everything and it works fine).
3. You need to read the ID passed on via the end url into your text question and store it there.
4. Now the ID that you passed from survey 1 to survey 2 should be stored as a "response" in that specific text question.

for testing, you can do it with anything, you cann just add a string instead of the Savedid, if this is confusing you at the moment. then you will see how things work. Because I have the impression that you do not fully understand what we are proposing here.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

More
2 years 7 months ago #239890 by Joffm
As @holch already said "You do not need the SAVEDID of survey 2.
And we use the SAVEDID of survey 1, because this is a unique value.

Now:
You add "var1={SAVEDID} to the end-url which is the start url of the second survey.

Now you have to capture this value (var1) in your second survey - to be able to compare.
I think you did not read this carefully
[url] www.limesurvey.org/manual/URL_fields/en#Start_URL [/url]

The very first example
  • Code:
    https://ls.example.org/1234?QTEXT=prefilled
     : Fill in the question with code QTEXT with 'prefilled'
In your case it is not "QTEXT=prefilled", but "var1=[value of SAVEDID]"
Meaning: You have to create a question ("short text") with question code "var1"

Here you will find the value of the SAVEDID.
Now, if a respondent uses the end link several times to call the second survey you can recognize and remove this responses.
The same if someone manipulates the link and you find values that are not existing in the first survey.

Unfortunately you ignored the initial questions about your LimeSurvey version.
Because using the function "statCount" you may check if a value was entered already and screen out this respondent. But depends on your version.

Joffm 


 

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
2 years 7 months ago #239891 by Dezember
Sorry, it is LimeSurvey Community Edition Version 5.4.7

Should it be Start URL form in Text elements? Because I can not find such field on that page. Only End URL and URL description:

Please Log in to join the conversation.

Moderators: tpartnerholch

Lime-years ahead

Online-surveys for every purse and purpose