- Posts: 85
- Thank you received: 9
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Preventing Repeat / Fraudulent Applications
- marcgold
- Topic Author
- Offline
- Premium Member
Your LimeSurvey version: Currently 3.28.30 (But currently evaluating V5)
Own server or LimeSurvey hosting: Own Server
Survey theme/template: Fruity
==================
This is a hot subject at the moment within the research industry here in the UK, where we have a fair number of people that are completing multiple application/surveys for multiple payments.
We have built some scripts that verify ip addresses, locations, vpn's using the iPGeolocation service and this does help, but would like to take things a little further and not sure how to implement this.
We have some unique data within our panel (not an LS panel - it's external) that is parsed for every survey. This data is a Unique ID for each registered person.
I have a question at the end of every application that is only triggered if they are out of quota - done using Conditions.
My thinking is to count the number of times an ID has been used (in total) across all responses and if it >=2 then trigger the Out of Quota Question.
The problem is this would require querying the DB Table directly, which you can't do with standard LS, as far as I can tell conditions are related to that particular surveyID. I'm assuming this could be done with JS or maybe as a Plugin but both are beyond my capabilities and would need to get this coded.
What does the forum think? Is there anyway of simply doing something like this?
Looking forward to your thoughts.
Marc
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11702
- Thank you received: 2755
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Please Log in to join the conversation.
- jelo
- Offline
- Platinum Member
- Posts: 5034
- Thank you received: 1257
I don't see how that will help to tackle the issue of multiparticipation via different panels.With token based surveys you can send an individual link to each of your respondents in the panel.
The idea to create a unique identifier from panel data to ensure unique participants is hard and cheating is still possible.
The case here is that a unique identifier is provided from external source and part of the response set.
And every new response needs to be checked against the existing responses. If there the unique identifier is found more than once in the responses the survey should trigger a routine to preven t the completion of the survey.
If LimeSurvey 5 is possible, I would take a look at the statfunctions. The statCountIf function seem to be the way to go.
manual.limesurvey.org/StatFunctions
The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 13045
- Thank you received: 4014
[url] forums.limesurvey.org/forum/can-i-do-thi...as-already-filled-in [/url]
Count the entries in one question?
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- marcgold
- Topic Author
- Offline
- Premium Member
- Posts: 85
- Thank you received: 9
Jelo is right the token based won't be effective for exactly the reasons mentioned, it was one of the first things i looked at.
Joffm> You hit the nail on the head, yes its almost exactly the same as forums.limesurvey.org/forum/can-i-do-thi...as-already-filled-in
There is a little more logic to the function, but I can handle that.
Is the Statcountif only available in LS5 or will I be able to use it in LS3.28
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11702
- Thank you received: 2755
I don't see how that will help to tackle the issue of multiparticipation via different panels.
Well, I must have understood the task wrong then.
I didn't read anything about multiple panels into this, as it is only talking about a UniqueID within their panel:
This is a hot subject at the moment within the research industry here in the UK, where we have a fair number of people that are completing multiple application/surveys for multiple payments.
We have built some scripts that verify ip addresses, locations, vpn's using the iPGeolocation service and this does help, but would like to take things a little further and not sure how to implement this.
We have some unique data within our panel (not an LS panel - it's external) that is parsed for every survey. This data is a Unique ID for each registered person.
So I assumed Marc is talking about how to avoid that a respondent starts a survey, get's screened out and starts it new trying to get around the screening criteria.
Of course, if this is about avoiding the same person participating in the same survey via different panels, then the tokens don't prevent anything.
We always try to stick to just one panel for each survey, just because of this.
Having a UniqueID only helps if this UniqueID has the same structure over several panels. Either an official ID for each citizen (e.g. Tax Number) or an ID that is based on several variables of the persons that can't be easily changed. But I guess both options wouldn't work because of data protection laws.
If the UniqueID only exists in their panel, I don't see how this is different to tokens then.
Wondering about how the panels have a unique ID over several panels in the UK.
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Please Log in to join the conversation.
- marcgold
- Topic Author
- Offline
- Premium Member
- Posts: 85
- Thank you received: 9
You have a very good point. And yes they are separate panels but the UID is consistent across all panels. So participant registers at a central point which is where the UID is created and then is placed on 1 or more panel depending on criteria. Its probably easier to think of this as one panel though.
But is not the token system run within LS, How would I generate an anonymous survey that was token based, where the token is being provided by a 3rd party in the URL as a post variable?
I must be missing something.
Please Log in to join the conversation.
- marcgold
- Topic Author
- Offline
- Premium Member
- Posts: 85
- Thank you received: 9
In this instance, the survey would not be complete and the Used flag on the token wouldn't be set to 1.
How would we get round this?
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11702
- Thank you received: 2755
How would we get round this?
By using "zero" quotas (a quota with the value of 0) to screen people out. In my opinion the cleanest way to do screenouts in Limesurvey, because as you said, if you do it the described way, the survey has not been closed/finished.
You can add a custom message for each screenout or you can use a custom end url and redirect your participants back to the panel so the screenout is registered in the panel.
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11702
- Thank you received: 2755
But is not the token system run within LS, How would I generate an anonymous survey that was token based, where the token is being provided by a 3rd party in the URL as a post variable?
I am not really getting the system applied here, so it is difficult to give any good recommendations.
So participant registers at a central point which is where the UID is created and then is placed on 1 or more panel depending on criteria. Its probably easier to think of this as one panel though.
So what is it, one panel or several panels? I am confused.
Afaik, (Limesurvey) tokens can't be passed into a survey via a link, they must be created in the participant / token table. Either manually one by one, via upload of a CSV file or via API.
I assume you want to automate this as much as possible. So you probably would have to go down the API route. Actually, your unique ID could be the token. You could create a new participant in the participant table by using the uniqueID as the token (depends if the uniqueID can fit the LS requirements for tokens though).
But as long as I don't have a clear understanding of the process of this UniqueID, it is difficult to give better advice, it is all a little bit of guesswork.
I assume you have no influence on the creation of the UniqueID whatsoever, right? I assume this is a central organization that does this and gives the panels the respondents?
In your panel, besides the different socio demographic data of the participants you also save this UniqueID, correct? But you have access to this panel and could trigger an API call from there to Limesurvey, correct?
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11702
- Thank you received: 2755
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Please Log in to join the conversation.
- jelo
- Offline
- Platinum Member
- Posts: 5034
- Thank you received: 1257
You will need LS5. If you want to screenout when the is more than one occurrence, you will need to ensure that people don't start a survey two times. If that is the case, a legit respondent could trigger the screenout too. Cause the ID is saved in both surveys, but only one might be completed.Is the Statcountif only available in LS5 or will I be able to use it in LS3.28
I think we might need an count routine for completed responses.
@holch: These magic technologies around identifying multipanel users are no longer in the news. The hype is over. The consolidation in the panel market might be one driver.
And professional fakers will get around most of these routines. They create complete alter egos.
RelevantID is a scoring system, which can be used in survey tools.
E.g. www.qualtrics.com/support/survey-platfor...etection/#RelevantID
The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
Please Log in to join the conversation.