0 votes
in SoSci Survey (dt.) by s343721 (140 points)

Liebes SoSci-Team,

wir nutzen für eine mehrwellige Befragung den Serienmailversand. Die Serienmails (2 E-Mails mit je 2 Erinnerungsmails) werden auf Basis eines voraussichtlichen Datums verschickt, dass die Teilnehmendem im ersten Fragebogen angeben. Das Datum ist aber geschätzt und ändert sich bei vielen noch (kann sowohl früher als auch später eintreten). Daher müssen wir das jeweilige Versanddatum der insgesamt 6 Serienmails bei vielen Personen im Nachhinein anpassen.

Wenn man im 2. Fragebogen erneut das Datum erfragt und wieder den selben PHP-Code laufen lässt, kann man damit die Versandtermine der 6 Serienmails damit einfach "überschreiben", oder doppeln sich die Emails dadurch? Gibt es sonst eine andere Möglichkeit, die schon vorbereiteten Serienmails je nach angegebenem Datum im 2. Fragebogen "automatisch" anpassen zu lassen? Danke!

Wir haben folgenden PHP-Code:

// Versandzeitpunkte definieren
$Entbindungsdatum = value('SD23_01');

$sendDateT2 = strtotime($Entbindungsdatum.' +8 weeks 08:00:00'); // T2
$sendDateT2b = strtotime($Entbindungsdatum.' +9 weeks 08:00:00'); // 1. Erinnerungsmail
$sendDateT2c = strtotime($Entbindungsdatum.' +10 weeks 08:00:00'); // 2. Erinnerungsmail

$sendDateT3 = strtotime($Entbindungsdatum.' +26 weeks 08:00:00'); // T3
$sendDateT3b = strtotime($Entbindungsdatum.' +27 weeks 08:00:00'); // 1. Erinnerungsmail
$sendDateT3c = strtotime($Entbindungsdatum.' +28 weeks 08:00:00'); // 2. Erinnerungsmail

// Einladungsmails verschicken
mailSchedule(false, 2, $sendDateT2);
mailSchedule(false, 3, $sendDateT3);

// Erinnerungsmails verschicken
mailSchedule(false, 4, $sendDateT2b, ['status' => 'no-response']);
mailSchedule(false, 5, $sendDateT2c, ['status' => 'no-response']);

mailSchedule(false, 6, $sendDateT3b, ['status' => 'no-response']);
mailSchedule(false, 7, $sendDateT3c, ['status' => 'no-response']);

1 Answer

0 votes
by SoSci Survey (365k points)

Wenn man im 2. Fragebogen erneut das Datum erfragt und wieder den selben PHP-Code laufen lässt, kann man damit die Versandtermine der 6 Serienmails damit einfach "überschreiben", oder doppeln sich die Emails dadurch?

Weder noch.

Was technisch passiert:

1) SoSci Survey trägt ein zweites Versanddatum ein.
2) Es wird aber nur eine Serienmail pro Adresseintrag verschickt (der zweite Versand wird dann ignoriert).

Das heißt: Wenn Sie ein freüheres Datum eintragen, dann wird die Serienmail zum richtigen Zeitpunkt verschickt, wenn Sie ein späteres eintragen, dann ändert sich nichts.

Die Lösung bestünde darin, dass Sie den ersten Versand zunächst mittels mailRevoke() aus dem Zeitplan nehmen und anschließend den neuen Versand mittels mailSchedule() eintragen.

by s343721 (140 points)
Vielen Dank für die Antwort. Leider bekommen wir die Fehlermeldung "Dieses Interview wurde nicht in Verbindung mit einer Serienmail begonnen, daher kann mailSchedule() den passenden Adressaten nicht ermitteln."

Der Fragebogen, in dem wir den Versandzeitpunkt der bestehenden Serienmails neu terminieren wollen, wird vor Ort ausgefüllt und wird daher nicht über die Serienmailfunktion, sondern über einen öffentlichen Link, geöffnet.

Der Angabe "false" in mailschedule() funktioniert dementsprechend nicht. Für die Teilnehmenden muss aber ja ein Adresseintrag/Personenkennung bestehen - gibt es einen Weg, diesen mittels PHP-Code abzurufen, vielleicht über die Datenbank für Inhalte? Welcher Wert müsste anstatt von "false" in mailschedule() eingegeben werden?

Vielen Dank im Voraus!
by SoSci Survey (365k points)
>  Für die Teilnehmenden muss aber ja ein Adresseintrag/Personenkennung bestehen

Nun ja, SoSci Survey muss irgendwie erfahren, zu welchem Adresseintrag denn die Person gehört, die den Fragebogen gerade ausfüllt. Normalerweise erfolgt das über den personalisierten Link in der Serienmail.

A welcher Stelle genau kommt denn die E-Mail-Adresse in die Adressliste. Passiert das beim Ausfüllen bei dem Termin, wo auch der obige PHP-Code laufen soll?
by s343721 (140 points)
Die E-Mail-Adresse kommt schon in der 1. Befragung  in die Adressliste, da fragen wir nach der Mail und sie wird mit double-opt in bestätigt. Da läuft der obige PHP code einmal, er soll aber später nochmal laufen, um den Versandzeitpunkt anzupassen.

Bei der 2. Befragung fragen wir nicht nochmal nach der E-Mail Adresse und der Link ist nicht personalisiert, weil sie den Fragebogen vor Ort bei uns in der Klinik ausfüllen. Trotzdem müssen wir zum 2. Zeitpunkt den Versand der späteren Serienmails bei vielen Teilnehmenden nochmal anpassen. Gibt es irgendeine Lösung?
by SoSci Survey (365k points)
> Bei der 2. Befragung fragen wir nicht nochmal nach der E-Mail Adresse und der Link ist nicht personalisiert, weil sie den Fragebogen vor Ort bei uns in der Klinik ausfüllen.

In diesem Fall müssen Sie sich eine andere Lösung zu überlegen, um dem Fragebogen zu verraten, wer ihn gerade ausfüllt...

Das kann ein persönlicher Code, ein Name, eine Nummer, ein Code den SoSci Survey im ersten Fragebogen anzeigt etc. sein.

Sie müssten diese Nummer bereits im ersten Fragebogen abfragen, dann die SERIAL der Person in der Datenbank für Inhalte ablegen, und dann im zweiten Fragebogen anhand der Nummer selbige wieder abrufen, und dem mailSchedule()-Befehl übergeben, damit SoSci Survey weiß, um wen es da konkret geht.

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

...