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

MailSchedule in Verbindung mit Filterfragen

0 votes

Liebes Supportteam,

in meiner Studie gibt es verschiedene Pfade: Wenn ein Teilnehmer eine bestimmte Frage mit 'Ja' beantwortet, erhält er per mailSchedule () zu einem späteren Zeitpunkt den Link zu einem Fragebogen von Pfad 1, wenn er die Frage mit 'Nein' beantwortet, erhält er den Link zu einem Fragebogen von Pfad 2.

Bisher habe ich das so gelöst, dass mailSchedule Befehle für Pfad 1 und 2 auf verschiedenen Seiten standen und die jeweilige Seite per if (... == 1) goToPage (..) übersprungen wurde, je nachdem ob die vorherige Frage mit Ja oder Nein beantwortet wurde.
MailSchedule stand auf den Seiten in einem extra php-Fenster.

Bisher funktionierte das sehr gut: Wenn eine Seite übersprungen wurde, auf der Seite ein if (..) goToPage (...) Befehl stand, wurde der mailSchedule Befehl auf eben dieser Seite auch nicht ausgeführt.

Als ich es jedoch gerade ausprobierte wurden die mailSchedule Befehle der übersprungenen Seiten ausgeführt!
Ich habe den mailSchedule Befehl statt in ein eigenes php-Fenster nun in den if Befehl integriert:

if (value ('O104') == 1) {
  goToPage ('end');
} else {
  mailSchedule (false, 17,1);
}

Das hat funktioniert.

Was mich wundert ist, dass die andere Lösung vorher ebenfalls funktionierte, jetzt aber nicht mehr. Wurde etwas an der Funktionsweise von SoSciSurvey geändert?

asked Feb 10 in SoSci Survey (dt.) by s085548 (280 points)
edited Feb 10 by SoSci Survey
Ich muss mich korrigieren: Die geschilderte Lösung mit dem if-Befehl funktioniert doch nicht. Der Link wird trotz alledem versandt, wenn auch mit großer Verzögerung von über 1h.

1 Answer

0 votes

Ich würde vorschlagen, dass Sie je nach Filterbedingung einfach gleich das richtige mailSchedule() ausführen:

if (value ('O104') == 1) {
  mailSchedule(false, 16,1);
} else {
  mailSchedule(false, 17,1);
}

Beim Sringen mit goToPage() muss man immer ein wenig aufpassen, weil es nach dem Sprung ja "normal" weitergeht. Eventuell haben Sie also unbeabsichtigt beide Seiten angezeigt. Starten Sie den Fragebogen im Debug-Modus (gelber Pfeil) und verfolgen Sie rechts oben die Debug-Information, um das genauer anzusehen.

Ohne die PHP-Codes der anderen Seiten und die Debug-Informationen zu kennen, ist eine genauere Antwort leider nicht möglich.

answered Feb 10 by SoSci Survey (49,400 points)
Ich in Anlehnung an Ihren Code nun das folgende geschrieben:

if (value ('O104') == 2) {
mailSchedule (false, 17,1);
goToPage ('No Smartphone');
} else {
mailSchedule(false,16,1);
}

Frage O104 steht auf der vorhergehenden Seite.
Auf KEINER weiteren Seite im Fragebogen steht ein mailSchedule () Befehl.

Trotzdem werden beide Serienmails verschickt. Gibt es dafür eine Erklärung?

Zur Erläuterung:
Auf der Seite, auf der dieser Code steht, soll ein Gutscheincode für eine App angezeigt werden, sofern die Versuchsperson ein kompatibles Smartphone besitzt. Besitzt sie kein kompatibles Smartphone, wird die Seite übersprungen und die Serienmail 17 verschickt, die zu einem Fragebogen leitet, der auch ohne Smartphone arbeitet. Besitzt sie ein kompatibles Smartphone, bleibt sie auf der Seite, bekommt einen Code angezeigt und erhält Serienmail 16 mit einem Link zu einem Fragebogen, der mit Smartphoneergänzung arbeitet.
> Gibt es dafür eine Erklärung?

Nicht wirklich... Außer Sie haben den Fragebogen mit derselben Mailadresse einmal für jede Variante getestet. SoSci Survey zeigt die Vorbereitung einer Serienmail nun in der Debug-Information an. Könnten Sie bitte einmal überprüfen, was dort für die Seite mit dem Filter angezeigt wird?
Das Problem hat sich erledigt. In einem späteren Fragebogen stand noch ein mailSchedule () Befehl der dort nicht hingehörte und den zweiten Pfad immer wieder gestartet hat.

Dennoch vielen Dank für Ihre Hilfe!!!
...