====== Mehrwellige Befragungen bei Selbstrekrutierung ======

Für eine mehrwellige Befragung ist es i.d.R. notwendig, die E-Mail-Adressen der Teilnehmer zu kennen. Schließlich muss man die Befragten irgendwann zu einer späteren Befragungswelle einladen. Falls die Teilnehmer allerdings durch Links auf einer Website, in sozialen Medien oder via Werbebanner rekrutiert werden, sind deren E-Mail-Adressen vorab nicht bekannt. Dieses Kapitel erläutert technische Lösungen, welche die Anonymität der Befragten gewährleisten.

Die beiden Möglichkeiten unterscheiden sich darin, wann der Teilnehmer seine E-Mail-Adresse preisgeben muss: Entweder man fragt die Teilnehmer zu Beginn nach der E-Mail-Adresse oder am Schluss des ersten Fragebogens.

Wenn sich die Teilnehmer vorab für die Studie "registrieren" müssen, so ist das eine gewisse Hürde. Es besteht die Gefahr, dass viele Teilnehmer aus Sorge um die Anonymität gar nicht erst teilnehmen. Vorteil der a-priori-Abfrage ist aber, dass die Teilnahme erst nach Angabe einer gültigen E-Mail-Adresse möglich ist -- wer sich vertippt oder gar keine E-Mail-Adresse angeben will, kommt gar nicht zum ersten Fragebogen. Es springen also weniger Teilnehmer zwischen den Befragungswellen ab (Drop-Out).

Ein weiterer Vorteil der Vorab-Abfrage ist, dass Sie mit ''[[:de:create:functions:mailresume|mailResume()]]'' und Unterbrecher-Seiten arbeiten können. Das erlaubt es, alle Angaben eines Teilnehmers gleich in einer Datenzeile zu sammeln.

===== Übersicht =====

Benötigt werden drei Fragebögen, nachfolgend als "A1", "A2" (für die erste Welle) und "B" bezeichnet (welche Kennungen die Fragebögen tatsächlich tragen, ist unerheblich).

  - Der erste Fragebogen (A1) dient zur Rekrutierung und enhält eine Frage vom Typ [[:de:create:questions:opt-in]]. Unter "Datenschutz" im Reiter "Einstellungen für die Frage" muss hier "Pseudonym" eingetragen werden.
  - Der zweite Fragebogen (A2) wird im Rahmen der Rekrutierung aufgerufen und enthält den Befehl ''[[:de:create:functions:mailschedule]]'', um die Einladung zur zweiten Befragungswelle zeitgesteuert zu versenden
  - Ein dritter Fragebogen (B) enthält die Fragen für die zweite Befragungswelle. Wenn weitere Befragungswellen geplant sind, benötigt man ggf. weitere Fragebögen.

Die Fragen für Welle 1 können nach Belieben auf "A1" und "A2" verteilt werden. Auch kann die Opt-In-Frage in "A1" an beliebiger Stelle platziert werden.

Die Fragebögen "A2" und "B" sollten den [[:de:create:access|Zugriffsmodus]] "Serienmail" verwenden. So ist sichergestellt, dass sich nicht isoliert aufgerufen werden können.

Weiterhin werden zwei [[:de:survey:mailing|Serienmails]] benötigt:

  - Die Serienmail Nr. 1 dient lediglich dem Aufruf des Fragebogens "A2". Sie wird nie wirklich verschickt, d.h., der Inhalt ist nicht weiter relevant. Wichtig ist aber, dass im Karteireiter "Link zum Fragebogen" der Fragebogen "A2" ausgewählt wird.
  - Die Serienmail Nr. 2 ist die Einladung zur zweiten Befragungswelle. Sie wird zeitversetzt verschickt und ihre Nummer (z.B. 2) wird als zweiter Parameter in ''[[:de:create:functions:mailschedule]]'' in Fragebogen "A2" eingetragen.

Der Ablauf ist wie folgt:

  - Der Teilnehmer ruft "A1" auf. Der Fragebogen "A1" sollte unter **Fragebogen zusammenstellen** -> //Weitere Fragebögen// -> //Standard-Fragebogen// als Standard einstellt sein.
  - 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.
  - Der Teilnehmer erhält die Bestätigungsmail und klickt dort auf den Bestätigungslink.
  - Der Link leitet den Teilnehmer direkt zum Fragebogen "A2", wo ''[[:de:create:functions:mailschedule]]'' die Serienmail Nr. 2 zum Versand vorbereitet. Eventuell beantwortet der Teilnehmer auch in "A2" noch weitere Fragen.
  - 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.

Im Fragebogen "A1" sollten Sie den Teilnehmer auf Folgendes hinweisen:

  * Je nachdem, welchen Provider oder Mailserver der Teilnehmer verwendet, kann sich die Zustellung der Bestätigungsmail verzögern -- üblich sind bis zu 30 Minuten.
  * Manchmal verfangen sich Bestätigungsmails im Spam-Filter.
  * Zur Fortsetzung der Befragung ist es notwendig, in der Bestätigungsmail auf den Bestätigungslink zu klicken. Falls man den Link nicht direkt anklicken kann (sehr selten), muss man ihn evtl. in die Adresszeile des Internet-Browsers kopieren.

Im Datensatz haben Sie am Ende pro Teilnehmer drei Datenzeilen -- zumindest wenn der Teilnehmer eine gültige E-Mail-Adresse angegeben und die Links in beiden E-Mails angeklickt hat:

  - Antworten auf "A1" -- die Kennung des Teilnehmers ist hier in der Variable der Opt-In-Frage vermerkt.
  - Antworten auf "A2" -- die Kennung steht hier in der Variable //SERIAL//.
  - Antworten auf "B" -- die Kennung steht hier erneut in //SERIAL//.

Wenn alle Antworten später in der Statistik-Software zu einer Datenzeile verschmolzen werden sollen (MERGE), dann ist es zweckmäßig, in allen drei Fragebögen unterschiedliche Fragen zu verwenden, sodass die Variablen unterschiedliche Kennungen bekommen. Falls Fragen sowohl in "A" wie auch in "B" abgefragt werden sollen, kopieren Sie einfach die entsprechende Rubrik.


**Hinweis:** Damit nach dem Opt-In und via Serienmail ein Fragebogen aufgerufen werden kann ("A2" und "B"), muss der Fragebogen außerhalb der Projektverwaltung aufrufbar sein. Dafür muss in den **Projekt-Einstellungen** ein Befragungszeitraum eingestellt sein, der das aktuelle Datum umfasst -- der Fragebogen muss also zum Testen der Funktionalität im Feld sein.

**Hinweis:** Man kann die Registrierung mit einer E-Mail-Adresse beliebig oft testen, sofern man die Adresse anschließend wieder aus der Adressliste löscht (**Einladungen verschicken** -> **Adressliste**). Eine E-Mail-Adresse ist nach Versand der Opt-In-Mail für 10 Minuten blockiert, bevor eine weitere Opt-In-Mail versandt werden kann.


===== Manueller Versand der Einladungen (Variante 1) =====

Als Alternative zur automatisierten Vorbereitung des Versands von Serienmail Nr. 2 können Sie diese Serienmail auch manuell versenden -- ''mailSchedule()'' fällt dann weg und eventuell auch Fragebogen "A2".

Dieses Vorgehen ist sinnvoll, wenn alle Teilnehmer den Fragebogen ungefähr zur selben Zeit ausfüllen sollen. Zwar erstreckt sich der Erhebungszeitraum weiterhin über mehrere Tage, weil nicht jeder sofort auf die E-Mail reagiert -- gerade bei einer längeren Rekrutierung sind die Daten aber in zeitlicher Hinsicht besser vergleichbar als beim automatischen Versand (wo dafür der Zeitabstand zwischen den beiden Erhebungswellen gleich ist).

  * Es werden eine Weile Adressen gesammelt -- und wenn genug Adressen in der **Adressliste** liegen, wird die Serienmail Nr. 2 (Einladung zum Fragebogen "B") an alle verschickt.
  * Sollte die Rekrutierung danach noch forgesetzt werden, kann die Serienmail nach Bedarf erneut verschickt werden. Teilnehmer, welche die Serienmail schon erhalten haben, erhalten sie __nicht__ erneut. Sofern weitere Befragungswellen erfolgen sollen, können weitere Serienmails verschickt werden.

===== Daten in einer Datenzeile (Variante 2) =====

Statt unterschiedliche Fragebögen für "A2" und "B" (und "C", "D", ...) zu verwenden, kann man die Fragen auch in einem Fragebogen platzieren und mit Unterbrecherseiten arbeiten. Das hat den Vorteil, dass die Daten in einer Datenzeile im Datensatz gespeichert werden und dass in "B" auf Antworten aus "A2" zurückgegriffen werden kann (z.B. für Filter). In diesem Fall kommt ''[[:de:create:functions:mailresume|mailResume()]]'' statt ''mailSchedule()'' zum Einsatz.

Das folgende Beispiel demonstriert die Verwendung von ''[[:de:create:functions:mailresume|mailResume()]]'' und ''[[:de:create:functions:mailrevoke|mailRevoke()]]'' für eine Erhebung mit drei Messzeitpunkten, wobei alle Daten eines Teilnehmers in derselben Datenzeile gespeichert werden. Mögliche Einsatzbereiche sind z.B. eine Verlaufsmessung, Interventionsstudie oder Prä-/Post-Untersuchungen.


==== Funktionen ====

  * Teilnehmer erhalten automatisch nach einer bestimmter Zeit die Einladung zum nächsten Messzeitpunkt (nächsten Fragebogenteil) und sollen vor Ablauf dieser Zeit auch keinen Zugriff auf die Fragen des nächsten Fragebogenteils haben.
  * Teilnehmer erhalten automatische Erinnerungsmails, falls sie nicht innerhalb einer bestimmten Zeit auf die erste Einladung zum nächsten Messzeitpunkt reagieren.

==== Vorbereitungen ====

Alle Fragebogen-Teile werden in einem Fragebogen hintereinander angeordnet. Als Zugriffsmodus für den Fragebogen wird "Serienmail" eingestellt.

Falls die E-Mail-Adressen der Teilnehmer __nicht__ vorab bekannt sind, wird ein zweiter Fragebogen mit einer Frage [[:de:create:questions:opt-in|Opt-In für E-Mail-Verteiler]] erstellt. Für diesen Fragebogen wird der Zugriffsmodus "öffentlich" eingestellt.

Legen Sie eine Serienmail (im Beispiel ID 1) an, welche nach 7 Tagen als Einladung für den Messzeitpunkt 2 verschickt werden soll. Im Karteireiter "Erinnerungen/Folgemail" wird unter "Art der Folgemail“ eingestellt, dass es eine Erinnerung oder Fortsetzung ist. Im Text der E-Mail muss (wie üblich) der Platzhalter %link% verwendet werden.

Legen Sie zwei weitere Serienmails (im Beispiel ID 2 und 3) an. Diese dienen als Erinnerung, wenn der Teilnehmer den zweiten Fragebogen-Teil nach 9 bzw. 11 Tagen noch noch ausgefüllt hat (Einstellungen wie bei der Serienmail 1).

Legen Sie drei weitere Serienmails (im Beispiel ID 4-6) an: Eine Einladung zum dritten Teil und zwei Erinnerungen (Einstellungen wie bei der Serienmail 1).


==== PHP-Code für Zeitpunkt 1 ====

Die Werte (Zahlen) im PHP-Code sind entsprechend der jeweiligen Studie anzupassen, insbesondere Zeitabstände und die Serienmail-IDs.

Zwischen dem ersten und zweiten Fragebogen-Teil wird beim Fragebogen zusammenstellen eine zusätzlich Seite eingefügt (Unterbrecherseite). Die Unterbrecherseite hat folgende Funktion:

  * Sie versendet mittels ''mailResume()'' die Einladung zum nächsten Fragebogen Teil.
  * Wenn der Teilnehmer die Seite erstmals aufruft (am Ende des ersten Fragebogen-Teils), zeigt sie eine Verabschiedung.
  * Wenn der Teilnehmer die Seite erneut aufruft (nachdem er die Einladung zum zweiten Fragebogen-Teil bekommen hat) leitet sie direkt weiter zur nächsten Seite.

**Wichtig:** Der Teilnehmer muss sich tatsächlich bis zu der Seite auf welcher der PHP-Code eingefügt wurde durchklicken. Ansonsten wird keine Einladungsmail verschickt. Ist die letzte Seite des ersten Fragebogens bereits eine Verabschiedung, kann auch diese Seite als Unterbrecherseite dienen. In diesem Fall benötigen Sie keine weitere Seite zwischen den beiden Fragebogen-Teilen. Beachten Sie dann aber bitte, dass die Verabschiedung __nicht__ "in die Seite gezogen", sondern mit dem Befehl ''text()'' im PHP-Code angezeigt wird. Falls der Text bereits auf die Seite gezogen wurde, entfernen Sie ihn von der Seite bevor (oder nachdem) Sie den PHP-Code einfügen.

Beim **Fragebogen zusammenstellen** wird auf der Unterbrecherseite folgender PHP-Code platziert:

<code php>
// 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, 7 * 24 * 3600);

  // Erste Erinnerungsmail mit Serienmail ID 2 nach 9 Tagen senden
  // (d.h. zwei Tage nach der ersten Einladung zum zweiten Messzeitpunkt)
  mailResume(false, 2, 9 * 24 * 3600);

  // Zweite Erinnerungsmail mit Serienmail ID 3 nach 11 Tagen senden
  // (d.h. vier Tage nach der ersten Einladung)
  mailResume(false, 3, 11 * 24 * 3600);
} 

// Prüfen, wie viel Zeit seit dem ersten Aufruf der Seite vergangen ist
if ((time() - $timepart1) < 7 * 24 * 3600) {
  // 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');
}
</code>


==== PHP-Code für Zeitpunkt 2 ====

Zwischen dem zweiten und dritten Fragebogen-Teil wird erneut eine Unterbrecherseite platziert oder alternativ auf der letzten Seite des zweiten Fragebogen-Teils. Der PHP-Code entspricht weitgehend dem obigen Code. Allerdings sorgt mailRevoke() dafür, dass eventuell noch ausstehende Erinnerungen (Serienmails ID 2 und 3) nicht mehr versendet werden.

<code php>
// 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, 7 * 24 * 3600);

  // Erste Erinnerungsmail nach 9 Tagen
  mailResume(false, 5, 9 * 24 * 3600);

  // Zweite Erinnerungsmail nach 11 Tagen
  mailResume(false, 6, 11 * 24 * 3600);
} 

// Unterbrechung für 7 Tage
if ((time() - $timepart2) < 7 * 24 * 3600) {
  option('resume', true);
  option('nextbutton', false);
} else {
  goToPage('next');
}
</code>

==== PHP-Code für Zeitpunkt 3 ====

Auf der vorletzten Seite des Fragebogens müssen noch die eventuell ausstehenden Erinnerungsmails gelöscht werden.

<code php>
  mailRevoke(false, 5);
  mailRevoke(false, 6);      
</code>

==== Hinweise ====

**Wichtig:** Platzieren Sie auf den Unterbrecherseiten keine Fragen -- der PHP-Code oben sieht lediglich einen Text vor (Danke, Verabschiedung und Hinweis auf den nächsten Messzeitpunkt).

**Hinweis:** Die Einladung zum dritten Fragebogen-Teil erfolgt relativ zu dem Zeitpunkt, wenn der Teilnehmer der Einladung zu Teil 2 gefolgt ist. Wenn er also Teil 2 erst 10 Tage nach Teil 1 ausfüllt, dann wird die Einladung zu Teil 3 erst 17 Tage nach dem Ausfüllen von Teil 1 verschickt. Alternativ könnte man alle (!) Einladungen und Erinnerungen gleich am Ende von Teil 1 einplanen. Der Filter am Ende von Teil 2 müsste sich dann auf ''$timepart1'' statt ''$timepart2'' beziehen.

**Hinweis:** In der Adressliste ist der Teilnahmestatus für die Fortsetzungs- und Erinnerungs-Serienmails __nicht__ ersichtlich (graue Markierung für die Serienmails). Der Teilnahmestatus wird nur für eine eventuelle Opt-in Serienmail angezeigt. Um den Teilnahmestatus jedoch nachzuvollziehen kann man sich die bereits erhobenen Daten ansehen. Eine individuelle Zuordnung anhand der Variable SERIAL ist allerdings nur möglich, wenn die E-Mail-Adresse mit der Einstellung "Personalisierter Eintrag" für "Anonymität" importiert wurden.

**Tipp:** Man kann dieselben Erinnerungsmails mehrfach verwenden (mit einem allgemein gefassten Erinnerungstext). Im obigen Beispiel könnte man z.B. Serienmail ID 2 für alle Erinnerungen (also statt den Serienmails ID 3, 5 und 5) senden.