0 votes
in SoSci Survey (dt.) by s337594 (190 points)

Hallo,

für unsere längsschnittliche Studie wollen wir einen Fragebogen mit vier Messzeitpunkten je nach Interventionszeitpunkten (8 unterschiedliche Zeitpunkte) versenden. Damit die Teilnehmenden über SoScisurvey erinnert werden, wollen wir vorher ein opt in Verfahren zuvor nutzen.

Das heißt, im ersten Fragebogen wird angegeben, in welcher der 8 Interventiongruppen die Teilnehmenden sind. Dann soll der Fragebogen im entsprechenden Rythmus an die Teilnehmenden gesendet werden.

Ist das programmierbar mit mailschedule? Die genauen Zeitpunkte (8x4 Mzp) können wir jetzt schon genau festlegen. Können wir das in einem Fragebogen umsetzten oder brauchen wir pro Interventionsgruppe jeweils 4 Fragebögen, die angelegt werden?

Vielen Dank im Voraus!

1 Answer

0 votes
by SoSci Survey (371k points)

Ist das programmierbar mit mailschedule?

Ja.

Können wir das in einem Fragebogen umsetzten oder brauchen wir pro Interventionsgruppe jeweils 4 Fragebögen

Ich würde empfehlen, dass Sie 8 Opt-In-Fragen verwenden, in jeder eine andere Teilgruppe (ex1 bis ex8) eintragen, und abhängig von der Zufallsziehung die passende Opt-In-Frage anzeigen.

Das hat den Vorteil, dass Sie die Gruppenzuordnung in allen künftigen Wellen per panelData() abfragen können.

Ansonsten brauchen Sie nur den Rekrutierungsfragebogen (also jenen mit dem Opt-In) und einen zweiten Fragebogen, welcher nach der Bestätigung der E-Mail-Adresse die Planung der Versandzeitpunkte mittels mailSchedule() erledigt ... dabei verwenden Sie einfach einen PHP-Filter, der passend zur Gruppe die richtigen 4 Zeitpunkte definiert.

Wichtig: Testen Sie das Ganze vorab, evtl. auch mit kurzfristigen Versandzeitpunkten nur für den Test ... es gibt bei der Umsetzung mehrere Möglichkeiten, Fehler zu machen ;)

by s337594 (190 points)
Vielen Dank für die schnelle Antwort!

Wäre es auch denkbar einen opt in Fragebogen zu nutzen, in dem die TN in einem Item ihre Intervention auswählen? Die Werbung mit acht verschiedenen Links ist etwas kompliziert.
by SoSci Survey (371k points)
Ich ging bisher davon aus, dass Sie die Gruppe zufällig mittels Zufallsgenerator zuweisen möchten. Aber Sie können natürlich genauso eine Auswahlfrage nutzen - am PHP-Code ändert sich dadurch nichts.

Unterschiedliche Links wollte ich mit meiner Antwort definitiv nicht empfehlen :)
by s337594 (190 points)
Vielen Dank, das klingt noch besser.

Wenn ich den Php Code schreibe,wird der Versandzeitpunkt so korrekt dargestellt? Und werden die einzelnen If-Codes mit {} voneinander getrennt?

Vielen Dank im Voraus!

if (value('PI08') == 1) {mailSchedule(false, 1, strtotime("10 April2026, 10:00:00"); mailSchedule(false, 2, strtotime("11 April2026, 10:00:00")}

if (value('PI08') == 1) {mailSchedule(false, 1, strtotime("10 April2026, 10:00:00"); mailSchedule(false, 2, strtotime("11 April2026, 10:00:00")}

if (value('PI08') == 1) {mailSchedule(false, 1, strtotime("10 April2026, 10:00:00"); mailSchedule(false, 2, strtotime("11 April2026, 10:00:00")}

if (value('PI08') == 2) {mailSchedule(false, 1, strtotime("10 April2026, 10:00:00"); mailSchedule(false, 2, strtotime("11 April2026, 10:00:00")}
by SoSci Survey (371k points)
Die geschweiften Klammern definieren einen zusammengehörigen Code-Block. Normalerweise würde man es ein wenig anders formatieren - und es fehlt jeweils noch ein Strichpunkt am Ende vom zweiten mailSchedule()

Ach ja, das Datum sollten Sie im Format YYYY-MM-DD übergeben.

Warum Sie bei den ersten drei IF-Filter dieselbe Bedingung abfragen, kann ich nicht ganz nachvollziehen, ich vermute, das ist ein Typo?

if (value('PI08') == 1) {
    mailSchedule(false, 1, strtotime("2026-04-10 10:00:00");
    mailSchedule(false, 2, strtotime("2026-04-11 10:00:00");
}
if (value('PI08') == 2) {
    mailSchedule(false, 1, strtotime("2026-04-10 10:00:00");
    mailSchedule(false, 2, strtotime("2026-04-11 10:00:00");
}
u.s.w.
by s337594 (190 points)
Vielen Dank für die Antwort! Das hilft sehr.

Ist es möglich, diesen Php code im Opt-in Fragebogen auszuführen und im Folgefragebogen noch einmal anzupassen, falls jemand die Gruppe `PI08' wechselt?
by SoSci Survey (371k points)
Sie können geplante Aussendungstermine mittels mailRevoke() löschen und danach mittels mailSchedule() einen neuen Termin planen. Das mailRevoke() ist wichtig, sonst bleibt der "alte" Versandtermin erhalten und die Person erhält die E-Mail dann einfach zum ersten der beiden Zeitpunkte.
by s337594 (190 points)
Vielen Dank!
by s337594 (190 points)
Und ist es weiterhin möglich, wenn der MailSchedule Termin in der Vergangenheit liegt und der Opt-in Fragebogen nach dem Versandtermin des ersten Fragebogens ausgefüllt wird, dass mit der Funktion ['catch.up' => 1728000] die Einladung dennoch versendet wird?

Vielen Dank!
by SoSci Survey (371k points)
Ja, dafür wurde der catch up Parameter implementiert. Aber Sie sollte ausprobieren, ob die Funktion Ihren Vorstellunge entsprechend funktioniert.

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

...