Welcome to the LimeSurvey Community Forum

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

GET parameter not processed for 2% of participants

  • jonas_kl
  • jonas_kl's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 4 months ago #161206 by jonas_kl
Hi everybody,

I have a strange issue: In my survey, 250 participants were able to start the survey, but some (6 so far) not.

This is the invitation I sent out:

Email template: @@SURVEYURL@@&855997X437X3980={ATTRIBUTE_1}&lang={ATTRIBUTE_2}
Resolved to: https://**company**/index.php/855997?token=JdVToxNA8ITqcf4&lang=en&855997X437X3980=KU&lang=en

What the blue GET parameter does is to pre-fill the first (hidden) question. From this, further questions are determined.

For the 6 participants, the GET parameter is not processed and the hidden question does not receive a value. Hence the survey is ended.

My mitigation attempts so far:
  1. I cannot see the mail logs, so I don't know if the URL is not resolved correctly.
  2. I have manually edited the participants' details: completed=no (was yes), uses left=3 (was 0).
  3. Then I manually generated the URL with the according token and entered it in my browser. The survey was not accepting the GET parameter any more, even not after clicking "exit and clear"
  4. I turned on "allow multiple responses or update responses with one token" and repeated step 3.

All of my attempts so far failed. Should I re-generate tokens for the affected users and just try to send the email again?

Since the survey in production with >2000 participants, I don't want to disturb them more than absolutely required...

Thanks a lot for any ideas!
Jonas
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 4 months ago #161212 by holch
If you are obviously using tokens anyway, why not include the attribute into the token table as a custom attribute and you wouldn't need to pass anything via the URL?

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • jonas_kl
  • jonas_kl's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 4 months ago - 6 years 4 months ago #161214 by jonas_kl
Solved! @Deusdeorum gave me the missing hint: Clear browser cache!

These steps helped me to reset the survey for all affected users:
1. Delete all responses with the affected tokens
2. Reset participant's details: completed=no, uses left=1
3. Ask user to clear browser cache & restart browser
4. Ask user to click on original invitation link again.

@Holch, good question -- in fact I already have these as custom attributes in the participants table.
Are you saying, I can achieve the same result better by using a different question type or scripting? It would be great if you could point me to the according manual page!
Last edit: 6 years 4 months ago by jonas_kl.
The topic has been locked.
More
6 years 4 months ago #161217 by jelo

jonas_kl wrote: @Holch, good question -- in fact I already have these as custom attributes in the participants table.

You have the attributes in the tokenlist. So holch is asking, why you don't access the value from the tokenlist. There seems to be no need to put a get parameter in the invitation which only makes the URL longer than needed. These user defined attributes can be accessed via EM.

manual.limesurvey.org/Survey_participant...ned_attribute_fields

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The topic has been locked.
  • jonas_kl
  • jonas_kl's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 4 months ago #161221 by jonas_kl

jelo wrote: These user defined attributes can be accessed via EM

Maybe I'm slow, but HOW exactly can I use them? Let's say I have 3 different sample groups - how to separate their responses in the later evaluation?

Option 1 Conditionally displayed questions: I've already tested this successfully (e.g. Relevance equation: ((TOKEN:ATTRIBUTE_1== "group1"))), but I don't want to create every question 3 times (for each sample group).

Option 2 Hidden pre-filled question: The first question is a hidden text field that is pre-filled from token. E.g. default answer option is {TOKEN:ATTRIBUTE_1}. I tried it, but I'm getting this error message: "undefined variable"

Option 3 Token attribute added to response: This would be my preferred solution: For every completed survey, not only the responses are saved but also selected token attributes.

Are option 2 and 3 possible? I was not able to get that working...
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 4 months ago #161222 by holch
You can use the Attributes just like anything else.

You can use them in EM to show and hide questions, you can display tem in the survey, you can pipe it in and you can export everything that is in the token table into the results table when exporting.

I am not sure what you are currently doing with the variable that you are passing via the URL, but anything you can do with a variable that is passed via the URL you should be able to do with a custom attribute.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 4 months ago #161224 by tpartner
Depending on the hidden question type, you may be able to use something like this as the default answer setting - {TOKEN:ATTRIBUTE_1}

Also, have a look at setting it with an equation question an the Expression Manager assignment operator - manual.limesurvey.org/Expression_Manager...t_Operator_.28.3D.29

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 4 months ago #161226 by holch
Oh, by the way: Of course this only works if the survey is not annonymous, because otherwise the token table and the results table are totally independent and can not be connected.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 4 months ago #161227 by tpartner
Yes, good point Holch.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
More
6 years 4 months ago #161228 by jelo

jonas_kl wrote: Option 3 Token attribute added to response: This would be my preferred solution: For every completed survey, not only the responses are saved but also selected token attributes.

What version/build of LimeSurvey is used?

You might provide a complete example of how the GET data is currently used in questions.
"Save selected token attributes" is too abstract for me. In your first post you stated :

hidden question does not receive a value.

What happens with the hidden question? If there is no interaction with the respondent, I wonder what purpose the additional get parameter has (only purpose I can think of is circumvention of anonymous mode with token)?

You have user defined token attributes for every respondent. You have this data already matched to the respondent.
So what kind of transformation takes place in the survey, which you not already aware of ex-ante?

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 4 months ago #161232 by tpartner

So what kind of transformation takes place in the survey, which you not already aware of ex-ante?

Maybe for filtering in the statistics view?

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.
  • jonas_kl
  • jonas_kl's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 4 months ago #161273 by jonas_kl
Hi guys, first of all thanks a lot for your answers so far! It's great so see so much support!

jelo wrote: What version/build of LimeSurvey is used?

I'm using version 2.55.2+161103

jelo wrote: You might provide a complete example of how the GET data is currently used in questions. [...] So what kind of transformation takes place in the survey, which you not already aware of ex-ante?

Ok, so this what I want to achieve:
  • I have 2000 participants divided in 3 sample groups. Sample group 1 and 2 will see the same questions (one is the treatment group, one the controll group), Sample group 3 will only be displayed a smaller subset of the questionaire
  • All participants answer the same survey, but see different questions based on their belonging to one of the three sample groups
  • For the questions that are asked to all 3 sample groups, I need to be able to compare the results (e.g. is sample group 1 more happy than sample group 2?)

This is how I implemented it:
  • I am using a non-anoymized, token based survey.
  • I could have created 3 separate surveys, but for maintenance reasons I wanted that all participants fill in the same survey. So I defined some questions to be hidden based on the condition of belonging to one of the groups. As I learnt from you, I should have used a token based relevance equation like ((TOKEN:SAMPLE_GROUP == "group1")), but I used a different way:
  • I pre-filled the first question "which sample group do you belong to?" with the according value for every participant by generating URL links which contain this information. So Bob from group1 receives this URL [URL]...&855997X437X3980=group1[/URL] and Alice from group2 this: [URL]...&855997X437X3980=group2[/URL]
  • This first question is hidden, so the participant will not recognize it. If it is not answered, a error message will be displayed and I need to manually get back to those participants.
  • If the first question is filled, then the answer is used as a condition for all later questions, e.g. relevance equation for second question: ((855997X437X3980 == "group1")).


As I see it, even though my approach is far from being perfect, it still gets the work done - unless (and this is the reason for opening this thread) the URL GET parameter is not accepted. My feeling is that my approach is causing problems whenever a earlier survey has not been completed properly or there are cookies left, because this will interfere or alter the URL or something like that.

So I'd love to hear:
  1. What is the best practice to achieve my above described goal?
  2. It is possible to make these changes while running an active survey?
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose