0 votes
ago in SoSci Survey (English) by s361394 (110 points)

I'm running a recurring, ongoing survey (new participants are added every semester) where the questionnaire is always accessed via one static, non-personalized link, distributed as a QR code (never via personalized invitation e-mails or serial mail). Within the questionnaire, participants provide their e-mail address via a single "Opt-In E-Mail-Verteiler" question. The e-mail address itself is correctly stored in the List of Contacts.

My goal is to later match a person's records across different time points/waves based solely on the e-mail address they enter. I do not need or want to see the SERIAL–e-mail mapping myself (I understand that's kept anonymous by design, which is fine).

The problem: since the questionnaire is always started via the same open/public link rather than a personalized one, the SERIAL variable stays empty in every record. I understand this is because SERIAL is only populated when a run is started via a personalized link, not when an e-mail is simply entered during the survey via the opt-in question.

My question: is there any supported way to have SoSci Survey, at the moment the e-mail address is entered, check whether that address already has an existing personal key from a previous submission, and write the corresponding identifier into the current record — automatically, and without ever sending an actual e-mail to the participant (e.g. via the API access / "Send Invitations → API access" feature called from within the questionnaire)? Or is matching via e-mail simply not possible with a static/QR-code link, meaning the only supported options are (a) switching to personalized invitation links (mailSchedule()/mailResume(), serial mail), or (b) using a self-generated "personal code" instead of the e-mail address?

I'd like to keep the single static QR-code link and the e-mail opt-in if at all possible, since re-sending personalized invitation links isn't practical for our setup with continuously incoming new cohorts.

Thank you very much for any help!

1 Answer

0 votes
ago by SoSci Survey (379k points)

My goal is to later match a person's records across different time points/waves based solely on the e-mail address they enter.

One option is to use the opt-in question and configure it to avoid duplicates. If people enter the same email adress twice, the sme code will be stored in the opt-in variable.

Another option was to create a hash value from the email adress and store that in the dataset. Make sure to normalize the adress (remove whitespace and strtolower()) in advance.

ago by s361394 (110 points)
Thank you, that helped me find the right column in my dataset! I enabled the "allow the same e-mail address to be used again" setting on the opt-in question and then ran through the questionnaire twice with exactly the same e-mail address, in two separate interviews. Instead of getting the same code the second time, two different codes were generated.

Could you explain what this setting actually does? Does it only prevent the address from being rejected, without reusing the existing code? Is there another setting needed so that the same e-mail address really results in the same code across separate interviews? And is there any way to retroactively match records that already have different codes despite sharing the same e-mail address, for example through the internal contact list?
ago by SoSci Survey (379k points)
edited ago by SoSci Survey
> "allow the same e-mail address to be used again" setting

This setting must be disabled, or SoSci Survey will create a new address entry with a new SERIAL the second time.

If you do not allow to register the same email address twice, SoSci Survey will create no new entry, but will simply re-use the existing one (unless you explicitly disallow that).

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...