0 votes
in SoSci Survey (dt.) by s101482 (230 points)

Ich habe dementsprechend einen Opt-In-Fragebogen, der mit einer Seite die Mailadresse abfragt. Über der Opt-In-Frage hängt noch etwas Begrüßungstext.

Die Opt-In-Frage steht in ihren Einstellungen auf direkt speichern und personenbezogen. Zudem verweist sie in Bestätigung/Fragebogen-Link auf die Serienmail ID4.

In der Serienmail ID4 ist unter Fragebogen-Link ebenfalls der FB ausgewählt auf den es direkt gehen soll.

Ich weiß nicht, wo der Fehler sein soll... jemand eine Idee? Verpass grad meine Deadline, weil das seit 9 Stunden nicht funktioniert :-(

by SoSci Survey (327k points)
Damit ich es korrekt verstehe: Die Serienmail 4 verweist auf einen Fragebogen X - aber nach der Bestätigung des Opt-In-Links kommt man zu einem anderen Fragebogen Y?
by SoSci Survey (327k points)
Wenn dem so ist: Würde es Ihnen etwas ausmachen, einen Pretest-Link direkt zur Seite mit der Opt-In-Frage zu posten? Dann kann ich mir das Ganze einmal ansehen.
by s101482 (230 points)
Nicht ganz. Fragebogen Opt-In fragt die Mailadresse ab und schickt zu Serienmail 4. Serien mail 4 schickt zu Fragebogen "AmpA" ( so heißt der bei mir).
Aber anstelle des Fragebogens AmpA kommt eine Standard-Meldung "Vielen Dank, Sie können den Browser jetzt schließen".
Pretest-Link gerne:
Für Option 1: https://www.soscisurvey.de/fahrrad/?act=AEFoinZFywQBQifWxUKTAwL8 (Ist Opt-In Version für AmpA (Version 1))
Für Option 2: https://www.soscisurvey.de/fahrrad/?act=QpP0zJbLcDb95FPJUrFXxv8f (Ist Opt-In-Version für AmpU (Version 2))
by s101482 (230 points)
Ich verstehe es echt nicht. Ich bin mir total sicher, dass eigentlich alles stimmen muss...
Projekt in online, Verknüpfungen passen... kp woran es noch liegen soll...
...vielleicht kommt ja mit den Links oben Licht ins Dunkel...
by SoSci Survey (327k points)
Verwenden Sie zwei unterschiedliche Fragebögen für Zeitpunkt 1 und Zeitpunkt 2 (und passend dazu mailSchedule()) oder verwenden Sie einen langen Fragebogen mit Unterbrecherseite (und passend dazu mailResume())?
by s101482 (230 points)
Ich verwende einen Fragebogen (analog Link) für die Opt-In.
Der sollte dann auf den Hauptfragebogen verweisen (der arbeitet dann mit Unterbrecherseite Zwischen Vor- und Nachbefragung).
Aktuell komme ich ja aber nicht mal in den Hauptfragebogen, um rauszufinden ob die Unterbrecherseite ihren Job tuen würde. Die Unterbrecherseite ist aktuell auch nicht mehr spezifiziert, da sie nur Fehlermeldungen produzierte "Dieses Interview wurde nicht in Verbindung mit einer Serienmail begonnen, daher kann mailResume() den passenden Adressaten nicht ermitteln".... das ist dann das nächste Problem. So weit bin ich jedoch leider noch nicht mal...
by SoSci Survey (327k points)
Auch wenn Sie diese Frage nicht beantwortet haben: Ich denke, Sie verwenden mailResume() -- für den Start des Hauptfragebogens benötigen Sie aber mailSchedule(). Und das mailSchedule() sollte in dem Fragebogen stehen, den die Opt-In-Frage nach der Bestätigung der Mailadresse direkt aufruft (vgl. https://www.soscisurvey.de/help/doku.php/de:survey:opt-in-live).

Wie entstehen denn ihre beiden Gruppen? Ist das eine experimentelle Zuordnung? Oder geht es um unterschiedliche Zielgruppen? Im zweiten Fall sollten Sie beim Opt-In gleich eine Teilgruppe setzen (also zwei Opt-In-Fragen mit jeweils einer Teilgruppe) - und unterschiedliche Serienmails verwenden, damit man nach der Bestätigung der Mailadresse zum jeweils passenden Fragebogen kommt.
by s101482 (230 points)
edited by s101482
Aha...
Also ich habe 2 Stichproben und dort jeweils einen Opt-In und einen Hauptfragebogen mit Unterbrechungsseite. Das bedeutet:
Version A: Opt-In-FB-A -> Serienmail 4 -> Haupt-FB mit Unterbrechungsseite VersionA
Version B: Opt-In-FB-B -> Serienmail 5 -> Haupt-FB mit Unterbrechungsseite VersionB

Das Spannende aber:
Im Haupt-FB verwende ich Resume, klar.
Aber im Opt-In steht gar nichts. Da habe ich eben genau die Opt-In Frage und die dazugehörende Serienmail... muss ich da mailSchedule zusatzlich auch noch spezifizieren? Das steht nämlich in keiner Anleitung und ich wüsste gar nicht wo :-O
Ich will ja, dass sofort ohne Bestätigung vom Opt-In-FB auf den Haupt-FB geleitet wird. Da muss ich noch mehr spezifizieren außer "Direkt Speichern" und die Serienmail in der Opt-In-Frage + Den Verweis auf welchen Haupt-FB in der entsprechenden Serienmail?

UPDATE: Gerade ausprobiert: Füge ich  ein php mailschedule (false...) nach der Mailabfrage ein, bekomme ich auch hier wieder die tolle Fehlermeldung "Dieses Interview wurde nicht in Verbindung mit einer Serienmail begonnen, daher kann mailSchedule() den passenden Adressaten nicht ermitteln." Das isses ja dann schonmal nicht..

UPDATE2: Wenn ich ein php mit
$personID = value('XX01');  [XX01 ist die Opn-In]
mailSchedule($personID, 4, 3);
bekomme ich folgendes Protokoll
[Information]    Interview Nummer 80 wird fortgesetzt
[Information]    Der Fragebogen Opt-In-A im Projekt fahrrad wird verwendet
[Verarbeitung]    Lese Antworten von Seite 1
[Information]    Die Verweildauer auf Seite 1 war 15 Sekunden
[Information]    Antwort auf XX01 = RXPFB4K2HP
[Verarbeitung]    Erstelle Fragebogen-Seite Nr. 2
[Information]    value("XX01") = "RXPFB4K2HP"
[Information]    Serienmail ID 4 vorgemerkt für den Versand an fahrradtest5@nervmich.net am 07.09.2018, 10:48
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr.
[Verarbeitung]    Erstelle die letzte Seite des Fragebogens
Sagt uns das etwas?^^

1 Answer

0 votes
by SoSci Survey (327k points)

Ich will ja, dass sofort ohne Bestätigung vom Opt-In-FB auf den Haupt-FB geleitet wird.

Aha :) Also ein Single-Opt-In, nicht der Standard Double-Opt-In.

In diesem Fall müssen Sie irgendwie vom Opt-In-Fragebogen zum Hauptfragebogen kommen. Ich denke, hier liegt der Knackpunkt - denn nur wenn dafür ein Serienmail-Link verwendet wird, weißt der Hauptfragebogen, wer da gerade teilnimmt. Wie machen Sie das im Moment?

by s101482 (230 points)
edited by s101482
Eigentlich dachte ich das funktioniert wenn ich die Serienmail auf den Haupt-FB verlinke und den Opn-In-FB auf die Serienmail.

Gerade versuche ich noch ein php einzufügen und es zum Laufen zu bekommen, klappt aber auch nicht:

UPDATE: Gerade ausprobiert: Füge ich  ein php mailschedule (false...) nach der Mailabfrage ein, bekomme ich auch hier wieder die tolle Fehlermeldung "Dieses Interview wurde nicht in Verbindung mit einer Serienmail begonnen, daher kann mailSchedule() den passenden Adressaten nicht ermitteln." Das isses ja dann schonmal nicht..

UPDATE2: Wenn ich ein php mit
$personID = value('XX01');  [XX01 ist die Opn-In]
mailSchedule($personID, 4, 3);
bekomme ich folgendes Protokoll
[Information]    Interview Nummer 80 wird fortgesetzt
[Information]    Der Fragebogen Opt-In-A im Projekt fahrrad wird verwendet
[Verarbeitung]    Lese Antworten von Seite 1
[Information]    Die Verweildauer auf Seite 1 war 15 Sekunden
[Information]    Antwort auf XX01 = RXPFB4K2HP
[Verarbeitung]    Erstelle Fragebogen-Seite Nr. 2
[Information]    value("XX01") = "RXPFB4K2HP"
[Information]    Serienmail ID 4 vorgemerkt für den Versand an fahrradtest5@nervmich.net am 07.09.2018, 10:48
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr.
[Verarbeitung]    Erstelle die letzte Seite des Fragebogens


Und jetzt geht es fast. Ich bekomme nur blöderweise jetzt die Mail mit dem Link zum draufklicken, aber ich will ja die direkte Weiterleitung. Die ist auch aktiviert... der php-Code
$personID = value('XX01');  [XX01 ist die Opn-In]
mailSchedule($personID, 4, 3);
scheint schonmal was zu bringen...

Eine Idee?
by s101482 (230 points)
Die Frage ist weiterhin offen. Die Verlinkung funktioniert nicht.
Eingestellt ist:
1. Opt-In-Frage in eigenem Fragebogen:
-Opt-In E-Mail: direkt speichern
-Bestätigung: Kein Text und Fragebogen Link aus Serienmail 4
2. Serienmail 4:
-Inhalt: %salut%, hier geht es zum Fragebogen: %link%
-Es ist keine Erinnerung/Folgemail
-Fragebogenlink: Fragebogen AmpA (Das ist der auf den die Opt-In direkt gehen soll)
3. Im Opt-FB der dem eigenltichen AmpA vorgeschaltet ist:
-Seite 1: Begrüßungstextfeld und Opt-In-Frage
-Seite 2: folgender php-Code:
$personID = value('XX01');
mailSchedule($personID, 4, 3);

ENDE

Anstatt mich im Testlauf nach der Maileingabe direkt weiterzuleiten (so wie es eingestellt ist!!!), sendet er mir eine Bestätigungsmail.

Warum? Warum?
Warum? :-(
Vielleicht brech ich mein Studium hier leichter ab und studier erstmal noch Informatik :-P

Kann mir jemand helfen?
by SoSci Survey (327k points)
Also ... die direkte Weiterleitung ist bisher nur für das Double-Opt-In implementiert - es ist ja eine Weiterleitung nach Klick auf den Bestätigungslink (und den gibt es beim Single-Opt-In natürlich nicht). Auch wäre es beim Single-Opt-In etwas irreführend, wenn der aktuelle Fragebogen nach dem "Weiter"-Klick abgebrochen wird.

Eigentlich wäre es in Ihrem Fall am einfachsten, wenn Sie die Opt-In-Frage direkt in den ersten Teil Ihres Hauptfragebogens packen - und dann bei mailResume() als ersten Parameter (wie oben von Ihnen geschildert) die Personenkennung aus der Opt-In-Frage verwenden.

Dann haben Sie nur einen Fragebogen (pro Gruppe) und deutlich weniger Sorgen :)
by s101482 (230 points)
Okay, habe ich jetzt mal so eingebaut. Aber die Serienmail 4 fragt mich natürlich zurecht auf welche Mail sie eine Folgemail sein soll. es gab ja vorher keine... Wie löse ich das? Ist es dann vllt doch eher mailSchedule()?
by s101482 (230 points)
Sieht jetzt besser schlimm aus^^.

Also ich habe jetzt 2 Fragebögen AmpA und AmpU.
Auf denen komme ich auch bis zur Opt-In-Frage kurz vor Ende des ersten Teils.
Die Mailadresse kann ich eingeben, dann kommt die Unterbrechungsseite.
Es kommt sogar (!) nur (!) die richtige Erinnerungsmail mit diesem 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 14 Tagen senden
  // Der Zeitabstand wird jeweils in Sekunden angegeben: 14 x 24 x 3600 Sekunden = 14 Tage
  mailSchedule(value('XX01'), 1, 1 * 1 * 102);
 
  // Erste Erinnerungsmail mit Serienmail ID 2 nach 16 Tagen senden
  // (d.h. zwei Tage nach der ersten Einladung zum zweiten Messzeitpunkt)
  mailResume(value('XX01'), 2, 16 * 24 * 3600);
 
  // Zweite Erinnerungsmail mit Serienmail ID 3 nach 18 Tagen senden
  // (d.h. vier Tage nach der ersten Einladung)
  mailResume(value('XX01'), 3, 18 * 24 * 3600);
}
 
// Prüfen, wie viel Zeit seit dem ersten Aufruf der Seite vergangen ist
if ((time() - $timepart1) < 1 * 1 * 120) {
  // Unterbrecherseite anzeigen falls es weniger als 14 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('unterbrechungsseite');  // Evtl. eine Verabschiedung zum ersten Fragebogen-Teil anzeigen
} else {
  // Ist der Teilnehmer nach 14 Tagen zurückgekehrt und somit die aktuelle Zeit minus die neue Zeit-Variable
  // größer als 14 Tage ist, dann wird die Befragung auf der nächsten Seite fortgesetzt
  goToPage('next');
}

-->Die 14 Tage sind der Plan, aktuell ist das auf kurzer gesetzt, um es testen zu können.
Problem jetzt ist: Es klappt fast alles, allerdings komme ich, wenn ich auf den Link in der Erinnerungsmail (Serienmail 1) klicke nicht an die Stelle nach der Unterbrechungsseite sondern es geht wieder von vorne los...

Schaffen wir das auch noch zu beheben? Dann bin ich glücklich! :-D
by SoSci Survey (327k points)
> Aber die Serienmail 4 fragt mich natürlich zurecht auf welche Mail sie eine Folgemail sein soll. es gab ja vorher keine...

Das ist ein berechtigter Einwand. Allerdings ... legen Sie bitte testweise mal eine Dummy-Mail an und machen Sie Serienmail 4 zu deren Erinnerung. Ehrlich gesagt muss ich nochmal im Code prüfen, warum mailResume() eine Erinnerungsmail haben möchte.

Das mit der ersten und zweiten Erinnerungsmail für den zweiten Teil könnte aber tatsählich zum Problem werden. Denn die Erinnerungsmail-Funktion ist nicht mit mailResume() kompatibel. mailResume() verweise nämlich einfach nur auf das laufende Interview und zeichnet keinen Klick o.ä. auf.

Ich schlage folgende Lösung vor: Verwenden Sie 3-mal mailResume() und auf der folgenden Seite dann mailRevoke(), um eventuelle überflüssige Erinnerungsmails wieder zu canceln.

Ach ja: mailSchedule() beginnt - wenn es nicht wirklich eine Erinnerungsmail ist - grundsätzlich immer einen neuen Fragebogen. Könnte man auch machen - dann aber nicht mit einem Fragebogen und Unterbrecherseite, sondern mit 2 getrennten Fragebögen. In Ihrem Fall scheint mir die Lösung Unterbrecherseite + mailResume() + mailRevoke() aber etwas eleganter.
by s101482 (230 points)
Habe mich für die 2 Fragebogen-Variante entschieden. Mit 3x mal mailSchedule. Alles andere funktioniert nicht. Jetzt kommen halt 3 Mails aber wenigstens läuft der FB durch und ich erhalte meine Daten. Oder gibt es eine Möglichkeit, dem FB zu erklären, dass die Erinnerung nicht versandt werden soll, wenn schon ausgefüllt?
MailResume und Serien als Folgemail von bringt nichts...
by SoSci Survey (327k points)
>  Jetzt kommen halt 3 Mails

Verwenden Sie zu Beginn des zweiten Fragebogens (also wenn der Teilnehmer der Mail gefolgt ist) einfach noch mailRevoke(), um eventuelle Erinnerungen zu unterbinden.
by s101482 (230 points)
edited by s101482
Ich habe
Fragebogen 1, der per mailSchedule() 3x auf
-Serienmail 1 (Einladung zur Folge-Befragung)
-Serienmail 2 (Erinnerung 1)
-Serienmail 3 (Erinnerung 2)
und
Fragebogen 2, der per mailSchedule() 3x auf
-Serienmail 4 (Einladung zur Folge-Befragung)
-Serienmail 5 (Erinnerung 1)
-Serienmail 6 (Erinnerung 2)
Wie genau spezifiziere ich dann im Folge-Fragebogen jeweils das mailRevoke?
Einfach in beiden mailRevoke(false) und das war es?
by s101482 (230 points)
Scheint ja aber mit:
mailRevoke(false, 2);
mailRevoke(false, 3);
in FB1
und
mailRevoke(false, 5);
mailRevoke(false, 6);
in FB 2 zu klappen :-)
by SoSci Survey (327k points)
> Einfach in beiden mailRevoke(false) und das war es?

Auch das sollte bereits ausreichen, ja :)

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

...