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

0 votes

Ich plane eine Experience-Sampling-Erhebung, bei der Teilnehmer/-innen zunächst eine initiale "Intake"-Session bearbeiten. Anschließend sollen die Teilnehmer/-innen aus mehreren möglichen Tagen ihren präferierten Termin für den Start des zweiwöchigen mobilen Befragungsteils auswählen können. Ist dies technisch möglich?

Herzlichen Dank und viele Grüße!

in SoSci Survey (dt.) by s069508 (110 points)

1 Answer

0 votes

Kein Problem ... sobald Sie das Datum abgefragt haben, müssen Sie aus dem Antwort-Code erstmal den Unix-Zeitstempel zuweisen, der zum Code gehört. Dann knn etwa wie folgt aussehen:

$times = array(
  1 => strtotime('2019-01-10 10:00:00'),
  2 => strtotime('2019-01-11 10:30:00'),
  3 => strtotime('2019-01-12 11:00:00'),
  // u.s.w.
);
$start = $times[value('AB01')];

Und dann legen Sie mittels mailSchedule() fest, wann die einzelnen SMS verschickt werden sollen:

mailSchedule(false, 1, $start);
mailSchedule(false, 2, strtotime('+6 hours'));
mailSchedule(false, 3, strtotime('+1 day'));
by SoSci Survey (76.5k points)
Vielen Dank für die schnelle und äußerst hilfreiche Antwort!

Eine kleine Anmerkung:
Der von Ihnen vorgeschlagene Code führte bei mir dazu, dass der für die Nachrichten 2 und 3 gewählte zeitliche Abstand weiterhin in Relation zum Zeitpunkt des Anklickens der Ursprungsnachricht berechnet wurde.

Um den Abstand zum gewünschten Startdatum einzustellen, hat bei mir folgender Code funktioniert (Zeitangabe hier in Sekunden):

$times = array(
  1 => strtotime('2019-01-10 10:00:00'),
  2 => strtotime('2019-01-11 10:30:00'),
  3 => strtotime('2019-01-12 11:00:00')
);
$start = $times[value('AB01_01')];

mailSchedule(false, 1, $start);
mailSchedule(false, 2, strtotime($start + 21600));
mailSchedule(false, 3, strtotime($start + 86400));
Pardon, im strtotime() hatte noch das Ausgangsdatum gefehlt (s. dritter Parameter):

mailSchedule(false, 1, $start);
mailSchedule(false, 2, strtotime('+6 hours'), $start);
mailSchedule(false, 3, strtotime('+1 day'), $start);

Aber Ihre Lösung funktioniert natürlich auch :)
Vielen herzlichen Dank, Ihre Version ist natürlich noch deutlich eleganter! :)

Eine Anschlussfrage hätte ich noch:
Folgende Schritte (vgl. https://www.soscisurvey.de/help/doku.php/de:survey:opt-in-live) für mehrwellige Befragung bei Selbstrekrutierung funktionieren wunderbar:

1. Der Teilnehmer ruft „A1“ auf. Der Fragebogen „A1“ sollte unter Fragebogen zusammenstellen → Weitere Fragebögen → Standard-Fragebogen als Standard einstellt sein.
2.Der Teilnehmer gibt in „A1“ in der Opt-In-Frage seine E-Mail-Adresse an. Daraufhin schickt SoSci Survey eine Bestätigungsmail an den Teilnehmern. Eventuell beantwortet der Teilnehmer in „A1“ noch weitere Fragen.
3. Der Teilnehmer erhält die Bestätigungsmail und klickt dort auf den Bestätigungslink.
4. Der Link leitet den Teilnehmer direkt zum Fragebogen „A2“, wo mailSchedule() die Serienmail Nr. 2 zum Versand vorbereitet. Eventuell beantwortet der Teilnehmer auch in „A2“ noch weitere Fragen.
5. Nach dem in mailSchedule() definierten Zeitintervall verschickt SoSci Survey die Serienmail Nr. 2. Durch den Klick auf den personalisierten Link in der Serienmail wird Fragebogen „B“ gestartet.

Ist es in diesem Prozedere (A1-A2-B) möglich, die Mail, welche den Link zu A2 enthält, nach einem bestimmten Intervall automatisch erneut zu senden?
(Quasi als Schritt zwischen 3. und 4. und nur für diejenigen, die den Fragebogen A2 noch nicht (vollständig) beantwortet haben?)

Herzlichen Dank im Voraus!
> Ist es in diesem Prozedere (A1-A2-B) möglich, die Mail, welche den Link zu A2 enthält, nach einem bestimmten Intervall automatisch erneut zu senden?

Sie meinen die Opt-In-Bestätigungsmail? Nein, diese kann nicht zweimal geschickt werden, denn die Mailadresse wird datenschutzkonform nicht im E-Mail-Verteiler gespeichert, bevor sie nicht bestätigt wurde.

Was Sie machen können, ist die Opt-In-Frage vom Standard "Double Opt-In" auf ein "Single Opt-In" umzustellen. Damit fällt die Bestätigung weg.

> nur für diejenigen, die den Fragebogen A2 noch nicht (vollständig) beantwortet haben?

Sie können auch zu Beginn des Fragebogens eine Mail mittels mailSchedule() vorbereiten und am Ende mittels mailRevoke() diese Mail wieder canceln, weil sie dann ja nicht mehr benötigt wird.
...