0 votes
in SoSci Survey (dt.) by s094461 (110 points)
edited by s094461

Hallöchen!
Ich habe in den vergangenen Tagen versucht meinen Versuchsplan mittels SoSci Survey umzusetzen und bin trotz diverser SoSci-Hilfeseiten + Forum bisher daran gescheitert, einen funktionierenden Code zu implementieren. (Liegt vermutlich daran, dass ich kaum Ahnung von php und html habe ;) )

Ich habe versucht mich an folgenden Seiten entlang zu hangeln:

https://www.soscisurvey.de/help/doku.php/de:survey:opt-in-live
https://www.soscisurvey.de/help/doku.php/de:create:waves
https://www.soscisurvey.de/help/doku.php/de:create:questions:opt-in
https://www.soscisurvey.de/help/doku.php/de:create:random_questionnaire

(zur Erläuterung was ich in SoSci Survey umsetzen möchte)
Versuchsplan

1. Prätest (bestehend aus einem Fragebogen zu dem die Probanden mittels Link auf Flyern und co gelangen) - Stand: ist bereits implementiert, inkl. opt-in Funktion damit die Probanden ihre Email eintragen um damit zu Teil 2 der Studie zu gelangen (hier scheint es aber ein Problem zu geben, da lediglich eine Bestätigungsmail rausgeht, aber keine Email mit dem weiterführenden Link zum Training (siehe 2. Training)

2. Training (über 10 Tage, wobei es eine Kontroll- und eine Experimentalgruppe geben soll (wenn möglich gerne auch mit Zufallsziehung über SoSci Survey) - die Probanden sollen einen Tag nach dem Prätest einen Link zu einem Training erhalten, diesen Link sollen sie jeden Tag aufrufen können um einen neuen Trainingsbaustein bearbeiten zu können - Stand ich habe bereits die opt-in Funktion implementiert und bekomme beim Testen auch eine Bestätigungsemail, leider bekomme ich dann aber keine weitere Email mit dem Link zu dem Training für die nachfolgenden Tage (auch keine der Erinnerungsemails, ebenfalls über Serienmails umgesetzt)

3. Posttest (bestehend aus den gleichen Fragebögen wie beim Prätest) - Stand auch hier fehlt die Emailweiterleitung eines Links, der die Probanden zu diesem Teil der Studie leitet (trotz Umsetzung in den Serienmails)

Mein SoSci Survey-Aufbau
Zum Testen habe ich derzeit einen Fragebogen erstellt, in dem die Probanden durch den opt-in Befehl gebeten werden ihre Email einzutragen (Bestätigungs-Email geht daraufhin auch wie gewollt raus) - allerdings ist der Weiter-Button weiterhin klickbar (+ es folgt auch nach Ablauf der Zeit (derzeit 100 Sekunden)) keine weitere Email.

Seite 1
Opt-In Baustein:

Seite 2
Textfeld (lediglich zum Testen) mit Eintrag: Ende Teil 1

Seite 3
Unterbrechercode:

    // Die Zeit des ersten Aufrufs der Unterbrecherseite wird in Variable $timepart1 gespeichert
// isset() und registerVariable() verhindern, dass diese Zeit beim erneuten Aufruf der Seite (z.B. Neuladen der Seite) geändert wird und/oder dass E-Mails doppelt geplant werden
if (!isset($timepart1)) {
  // Zeit speichern
  $timepart1 = time();
  registerVariable($timepart1);
 
  // Einladung mit der Serienmail ID 1 zum zweiten Messzeitpunkt nach 7 Tagen senden
  // Der Zeitabstand wird jeweils in Sekunden angegeben: 7 x 24 x 3600 Sekunden = 7 Tage
  mailResume(false, 1, 1 * 1 * 100);
 
  // Erste Erinnerungsmail mit Serienmail ID 2 nach 9 Tagen senden
  // (d.h. zwei Tage nach der ersten Einladung zum zweiten Messzeitpunkt)
  mailResume(false, 2, 1 * 1 * 200);
 
  // Zweite Erinnerungsmail mit Serienmail ID 3 nach 11 Tagen senden
  // (d.h. vier Tage nach der ersten Einladung)
  mailResume(false, 3, 1 * 1 * 400);
} 
 
// Prüfen, wie viel Zeit seit dem ersten Aufruf der Seite vergangen ist
if ((time() - $timepart1) < 1 * 1 * 1000) {
  // Unterbrecherseite anzeigen falls es weniger als 7 Tage sind,
  // damit Teilnehmer nicht schon früher die Fragen des zweiten Messzeitpunkts sehen können.
  option('resume', true); // Kein Hinweis, dass das Interview fortgesetzt wird
  option('nextbutton', false); // Weiter-Knopf ausblenden (Interview unterbrechen)
  text('ende1');  // Evtl. eine Verabschiedung zum ersten Fragebogen-Teil anzeigen
} else {
  // Ist der Teilnehmer nach 7 Tagen zurückgekehrt und somit die aktuelle Zeit minus die neue Zeit-Variable
  // größer als 7 Tage ist, dann wird die Befragung auf der nächsten Seite fortgesetzt
  goToPage('next');
}

Seite 4
Textfeld (lediglich zum Testen) mit Eintrag: Ende Teil 2

Seite 5
Unterbrechercode:

    // Neue Zeit-Variable für die zweiten Zeitpunkt
if (!isset($timepart2)) {
  $timepart2 = time();
  registerVariable($timepart2);
  // Erinnerungsmails löschen, falls diese noch ausstehen
  mailRevoke(false, 2);
  mailRevoke(false, 3);
 
  // Einladung zum dritten Messzeitpunkt mit der Serienmail ID 4 nach 7 Tagen senden
  mailResume(false, 4, 1 * 1 * 200);
 
  // Erste Erinnerungsmail nach 9 Tagen
  mailResume(false, 5, 1 * 1 * 400);
 
  // Zweite Erinnerungsmail nach 11 Tagen
  mailResume(false, 6, 1 * 1 * 500);
} 
 
// Unterbrechung für 7 Tage
if ((time() - $timepart2) < 1 * 1 * 2000) {
  option('resume', true);
  option('nextbutton', false);
} else {
  goToPage('next');
}

Seite 6
Email-Erinnerungen-Abschalten mit folgendem Code:

    mailRevoke(false, 5);
 mailRevoke(false, 6);

Seite 7
Textfeld (lediglich zum Testen) mit Eintrag: Ende Teil 3

End Seite
Textfeld (lediglich zum Testen) mit Eintrag: Bedankung für Teilnahme


Ich habe versucht die Schritt für Schritt Anleitungen nachzuvollziehen, bin aber wohl daran gescheitert die unterschiedlichen Bausteine sinngemäß aneinander zu reihen, ich würde mich sehr freuen wenn mir jemand helfen könnte.
Wenn ich wichtige Details noch nicht genannt habe, reiche ich diese selbstverständlich gerne nach!

1 Answer

0 votes
by SoSci Survey (304k points)

Fangen wir vielleicht erstmal mit einem Punkt an.

Prätest (bestehend aus einem Fragebogen zu dem die Probanden mittels Link auf Flyern und co gelangen) - Stand: ist bereits
implementiert, inkl. opt-in Funktion damit die Probanden ihre Email
eintragen um damit zu Teil 2 der Studie zu gelangen (hier scheint es
aber ein Problem zu geben, da lediglich eine Bestätigungsmail
rausgeht, aber keine Email mit dem weiterführenden Link zum Training

Opt-In ist schön und gut - aber diese Frage kümmert sich eben tatsächlich nur darum, dass eine Adresse im Adressverteiler landet. Was anschließend damit passiert, müssen Sie selbst entscheiden. Entweder Sie versenden nach einer Weile selbst (manuell) eine Serienmail an die Adressen oder Sie zeigen direkt nach der Bestätigung einen weiteren Fragebogen. Dieser (nicht der ursprüngliche Fragebogen) muss dann mailSchedule() verwenden, um den Versand der Serienmail zu planen. Sie können mailSchedule() auch mehrfach aufrufen, um gleich für mehrere (unterschiedliche!) Serienmails den Versand festzulegen.

Das mailResume(), welches Sie verwenden, ist nur geeignet, wenn Sie einen Fragebogen mit Unterbrecherseite verwenden und (!) wenn der Fragebogen schon weiß, wer da teilnimmt. Aber das ist nur dann der Fall, wenn der Teilnehmer den Fragebogen via Serienmail-Link aufgerufen hat. Und überhaupt - ich glaube, mit mailSchedule() und getrennten Fragebogen sind Sie in diesem Projekt deutlich besser dran.

by s094461 (110 points)
Vielen dank für die schnelle Hilfe!

Nach Ihrem Vorschlag habe ich nun mit zwei unterschiedlichen Fragebögen gearbeitet:

1. Fragebogen enthält den opt-in Befehl
2. Fragebogen enthält den mailSchedule() Befehl

Dies funktioniert auch - habe ich es nun richtig verstanden, dass ich durch den mailSchedule() Befehl keine Unterbrecherseiten einfügen kann, sondern für jeden Trainingstag einen seperaten Fragebogen anlegen muss + die Teilnehmer jeden Tag einen neuen Link (der via Serienmail eingeht) nutzen müssen?
by SoSci Survey (304k points)
Man kann - sobald die Teilnehmer einmal per individualisiertem Link teilgenommen haben (also ab der Opt-In-Bestätigung) auch mit mailResume() und Unterbrecherseiten arbeiten.

Aber mehr als zwei Fragebögen sind Unterbrecherseiten etwas "wacklig", weil man sich um die Situationen kümmern muss, wenn ein Teilnehmer einen Fragebogen auslässt oder einen nicht bis zur nächsten Unterbrecherseite abschließt.
by s094461 (110 points)
Vielen dank für ihre Antwort! Ich habe in meinem Code nun auf ihre Empfehlung hin mailSchedule() verwendet.

Erstmal nur noch eine Frage:
Wie kann ich den Fortschritt meiner Probanden 'speichern' - derzeit ergibt sich das Problem, dass die Versuchspersonen bei jedem neuen Trainingsabschnitt wieder komplett am Anfang des Fragebogens starten, Teile also mehrmals angezeigt werden.

Ihrer Empfehlung nach sollte ich nun aber wohl ohnehin nicht mehr mit Unterbrecherseiten arbeiten, sondern mit mehreren Fragebögen - heißt das, dass ich den Probanden jeden Tag eine Email mit neuem Link von SoSci Survey zukommen lassen muss? (Und wenn ja, wie setze ich das um?)
by SoSci Survey (304k points)
Aus den meisten mehrwelligen Erhebungen kenne ich es so, dass man an einem definierten Tag einen definierten Abschnitt bearbeiten soll. Wenn man das braucht, ist mailSchedule() und getrennte Fragebögen die Lösung der Wahl. Sie müssten dann nur ggf. weitere Fragebögen anlegen, die eben nicht alles beinhalten - oder den bestehenden Fragebogen in mehrere zerlegen.

Wenn man es den Teilnehmern offen lassen möchte, wie weit sie bearbeiten, dann wäre mailResume() die bessere Variante.

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

...