Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:survey:panels [20.11.2014 21:31] adminde:survey:panels [04.03.2024 11:49] (aktuell) – [Kommunikation zwischen Panel und Fragebogen] m.alber.makeopinion
Zeile 2: Zeile 2:
  
 Sofern Sie die Teilnehmer Ihrer Befragung über einen Panel-Anbieter rekrutieren, müssen Sie mit IDs, Backlinks, Exit-Links und Redirects arbeiten. Dieser Abschnitt beschreibt, wie Sie das mit SoSci Survey elegant implementieren. Sofern Sie die Teilnehmer Ihrer Befragung über einen Panel-Anbieter rekrutieren, müssen Sie mit IDs, Backlinks, Exit-Links und Redirects arbeiten. Dieser Abschnitt beschreibt, wie Sie das mit SoSci Survey elegant implementieren.
 +
 +
 +===== Kurzfassung =====
 +
 +In den meisten Fällen reicht es aus, wenn Sie die folgenden Schritte verwenden.
 +
 +Unten wird genauer dargelegt, was es mit den unterschiedlichen Links auf sich hat.
 +
 +**Wichtig:** In mehrweilligen Befragungen sind diese Schritte __nicht__ ausreichend, dort muss zusätzlich noch eine Personenkennung gespeichert werden.
 +
 +
 +==== Link mitteilen ====
 +
 +Teilen Sie dem Panel-Anbieter den Link zum Fragebogen mit und hängen Sie ein ''?r=[panelID]'' an.
 +
 +Wenn Ihr Link zum Fragebogen ''%%https://s2survey.net/project/%%'' lautet, so teilen Sie dem Panel-Anbieter mit, dass der Link zum Fragebogen wie folgt lautet:
 +
 +<code>
 +https://s2survey.net/project/?r=[panelID]
 +</code>
 +
 +==== Complete-Redirect einfügen ====
 +
 +Sie haben vom Panel-Anbieter wahrscheinlich Redirects für 3 oder 4 verschiedene Szenarien erhalten:
 +
 +  * Complete -- der Teilnehmer hat den Fragebogen vollständig abgeschlossen
 +  * Screenout -- der Teilnehmer ist aufgrund im Fragebogen abgefragter Eigenschaften nicht für die Erhebung geeignet
 +  * QuotaFull -- für die demografische Gruppe(n) des Teilnehmers liegen bereits ausreichend Fragebögen vor
 +  * Quality -- aufgrund der Antworten (Kontrollfragen, Bogus Items) oder der Antwortgeschwindigkeit müssen Sie davon ausgehen, dass der Fragebogen nicht sinnvoll ausgefüllt wurde
 +
 +Im einfachsten Fall verwenden Sie die Complete-URL. Diese könnte z.B. lauten:
 +
 +<code>
 +https://www.panelanbieter.de/complete?xyz=ABCDEF&uid=[panelID]
 +</code>
 +
 +Fügen Sie unter **Fragebogen zusammenstellen** vor der "letzten Seite" im Fragebogen eine zusätzliche Seite ein. Dort platzieren Sie folgenden PHP-Code.
 +
 +<code php>
 +redirect('https://www.panelanbieter.de/complete?xyz=ABCDEF&uid=%reference%');
 +</code>
 +
 +**Wichtig:** Beachten Sie, dass der Platzhalter ''[panelID]'' im ursprünglichen Redirect (dieser kann auch anders lauten) durch einen [[:de:create:placeholders|SoSci-Platzhalter]] ''%reference%'' ersetzt werden muss.
 +
 +==== Screenout etc. ====
 +
 +Sie können an anderer Stelle im Fragebogen noch die anderen Redirects platzieren, wenn Sie möchten. Die Verwendung von Quotenstopps und Screenout ist im Kapitel [[:de:survey:quota]] beschrieben. Eine Qualitätsprüfung am Ende könnte wie folgt aussehen -- zu platzieren direkt oberhalb des Complete-Redirects.
 +
 +<code php>
 +if ((value('MISSING') > 20) || (caseTime('begin') < 300)) {
 +  redirect('https://www.panelanbieter.de/quality?xyz=DEFGHI&uid=%reference%');
 +}
 +</code>
 +
 +Die weitere Anleitung erklärt die Hintergründe zum Complete-Redirect.
 +
  
 ===== Der Sinn hinter den vielen Links ===== ===== Der Sinn hinter den vielen Links =====
  
-Sofern der Anbieter eines Panels den Teilnehmern eine Vergütung zahlt, möchte er natürlich gerne wissen, wer den Fragebogen überhaupt vollständig ausgefüllt hat. Dazu muss er den einzelnen Teilnehmer "verfolgen".+Sofern der Anbieter eines Panels den Teilnehmern eine Vergütung zahlt, möchte er natürlich gerne wissen, wer den Fragebogen überhaupt vollständig ausgefüllt hat. Dazu werden mithilfe der Links einige Daten zwischen dem Panel-Anbieter und SoSci Survey übermittelt. Dieses sind: 
 + 
 +  * Eine Teinahme-ID (TIC)\\ Wann immer der Panel-Anbieter Einladungen für Ihren Fragebogen verschickt, erstellt er für jede:n Panelist:in eine einmalige, individuelle Kennung. Intern speichert der Panel-Anbieter diese Kennungen und welche E-Mail-Adresse zu welchem Fragebogen eingeladen wurde. Die Kennung ''ABCDEF9876'' könnte z.B. dafür stehen, dass Panelist:in ''12345'' zum Fragebogen ''XYZ'' eingeladen wurde. 
 +  * Eine Personenkennung (optional, INFO)\\ Diese Kennung ist in mehrwelligen Erhebungen relevant, sie bezeichnet eindeutig die Panelist:in, an welche die Einladung verschickt wurde. Die Kennung ''GHIJ765'' könnte also in Ihrer Erhebung die Panelist:in ''12345'' bezeichnen. Aus Datenschutzgründen bekommen dieselben Personen in unterschiedlichen Studien u.U. unterschiedliche Personenkennungen zugewiesen. 
 + 
 + 
 +==== Daten in Internetadressen ==== 
 + 
 +Die Kommunikation zwischen Panel und SoSci Survey erfolgt (meistens) über GET-Parameter in den URLs. Zu den URLs ([[:de:survey:url]] und Redirect-Links) gleich noch mehr. Wesentlich ist zunächst, dass eine Internetadresse mehrere Bestandteile haben kann: 
 + 
 +{{:de:survey:fig.panel.url.png?nolink|Bestandteile einer URL}} 
 + 
 +Da ist zunächst die eigentliche Internetadresse (die ihrerseits nochmal unterschiedliche Bestandteile hat). An diese können aber -- getrennt durch ein Fragezeichen -- weitere Daten angehängt werden. Diese Daten sind jeweils Paare aus einem Namen (key) und einem Wert (value), wobei zwischen Name und Wert ein Gleichheitszeichen steht. Mehrere solcher Paare werden mit einem kaufmännischen Und (''&'') getrennt. Im obigen Beispiel werden also die Paare ''tic=ABCDEF9876'' und ''pid=GHIJ765'' an die Adresse ''%%https://www.soscisurvey.de/project/%%'' übermittelt. 
 + 
 +Das bedeutet: Wenn eine Person diese URL im Browser öffnet, dann werden an den Fragebogen ''www.soscisurvey.de/project'' zwei Werte übermittelt. Allerdings werden diese Werte zunächst nicht im Datensatz gespeichert. 
 + 
 + 
 +==== Kommunikation zwischen Panel und Fragebogen ==== 
 + 
 +Der Panel-Anbieter muss abrechnen, wenn eine Panelist:in den Fragebogen ausgefüllt hat. Ob der Fragebogen ausgefüllt wurde, muss der Fragebogen dem Panel mitteilen. Die Kommunikation läuft dabei über den Browser der Panelist:in. Spoiler vorweg: Wenn die Panelist:in die Redirect-URL (URL/R) und die Teilnahme-ID (TIC) an den Panel-Anbieter übermittelt, dann wird das als erfolgreiche Teilnahme gezählt und abgerechnet. 
 + 
 +{{:de:survey:fig.panel.links.png?nolink|Kommunikation zwischen Panel und Fragebogen}} 
 + 
 +  * (1) Nach der Buchung eines Samples beim Panel-Anbieter erhält man in aller Regel einen Redirect-Link. Genau genommen nicht nur einen, sondern unterschiedliche für erfolgreiche Teilnahmen (complete), für ungeeignete Teilnehmer:innen (screenout/quotafull) und für schlampige Teilnehmer:innen (quality/qualityfail). 
 +  * (2) Diese Links müssen Sie an geeigneter Stelle in den Fragebogen einbauen. Wie das funktioniert, wird in dieser Anleitung erklärt. 
 +  * (3) Weiterhin müssen Sie dem Panel-Anbieter den Link zum Fragebogen mitteilen. Außerdem müssen Sie sich mit dem Panel-Anbieter abstimmen, welche Namen die Parameter für die Teilnehmer-ID (TIC) und für eventuelle weitere Daten haben sollen. Wenn Sie für die Teilnahme-ID den Namen ''r'' verwenden, sparen Sie sich etwas Arbeit (siehe oben). Im Beispiel hier wurde der Name ''tic'' verwendet. Für gewöhnlich teilen Sie dem Panel-Anbieter gleich eine Internetadresse mit, welche Ihre Fragebogen-URL ([[:de:survey:url]]) und einen Platzhalter für die TIC enthält (siehe oben). 
 + 
 +GET-Daten mit dem Namen ''r'' werden automatisch als Referenz (REF) im Datensatz gespeichert ([[:de:survey:url#einen_link_markieren_r|Der Link zum Fragebogen]]). Um Daten mit einem anderen Namen zu speichern benötigen Sie eine Frage vom Typ [[:de:create:questions:client|Gerät und übermittelte Variablen]] erstellen. 
 + 
 +Nach einigen Tests durch Sie und den Panel-Anbieter kann die Studie dann ins Feld starten. Nun sucht der Panel-Anbieter (hoffentlich) geeignete Personen für die Studie heraus und erzeugt für jede Person eine einmalige Teilnehmer-ID (TIC). 
 + 
 +  * (4a) In den Fragebogen-Link (URL/F) setzt der Panel-Anbieter für jede Panelist:in eine andere Teilnahme-ID (TIC) ein. Diesen Link sendet der Panel-Anbieter dann an die Panelist:in oder bietet ihr den Link auf der eigenen Website an.  Wie die Panelist:in an die URL kommt, ist für die Befragung irrelevant -- wesentlich ist, dass die Panelist:in den Link anklickt. 
 +  * (4b) Durch Klick auf die Internetadresse wird diese im Browser geöffnet. Das bedeutet, dass der Browser der Panelis:in die Daten im Link an die im Link angegebene Adresse sendet. Die Adresse gehört zu Ihrem Fragebogen, also werden die Daten (TIC und ggf. INFO) an Ihren Fragebogen übermittelt. Dort müssen die Daten entgegengenommen und gespeichert werden. 
 + 
 +Nun startet erst einmal das Interview und die Panelist:in füllt die Seiten des Fragebogens aus. Früher (Screenout/[[:de:survey:quota|Quotenstop]]) oder später kommt sie dann auf die Seite mit dem ''[[:de:create:functions:redirect]]''
 + 
 +  * (5a) Die Funktion ''redirect()'' sendet dem Browser der Panelist:in die Aufforderung, eine neue URL aufzurufen, nämlich die Redirect-URL (URL-R) zusammen mit der Teilnehmer-ID (TIC). Diese Internetadresse bauen Sie auf Basis der Informationen vom Panel (URL-R) und der vorher empfangenen Teilnehmer-ID (TIC) zusammen. 
 +  * (5b) Der Browser erhält vom Fragebogen die Aufforderung und ruft entsprechend die Adresse auf. Dadurch werden die Daten (TIC) an den Panel-Anbieter zurück übermittelt. 
 + 
 +Der Panel-Anbieter registriert nun den Aufruf seiner Redirect-URL mit der spezifischen TIC. Dadurch weiß er, dass die Panelist:in den Fragebogen ausgefüllt hat. Oder dass sie durch einen Screenout abgewiesen wurde, je nachdem welche Redirect-URL aufgerufen wurde. 
 + 
 +Was hat es mit den zusätzlichen Daten (INFO) auf sich? Das kann zum Beispiel eine Personenkennung sein oder es können demografische Daten zur Panelist:in sein. Diese Daten übermittelt der Panel-Anbieter eventuell gemeinsam mit der TIC und Sie müssen dafür sorgen, dass die Daten im Datensatz gespeichert werden. 
 + 
 +  * (6) Nach der Erhebung stehen alle Daten im Fragebogen zur Verfügung, welche Sie vom Panel-Anbieter übermittelt bekommen __und__ gespeichert haben. Prüfen Sie auf alle Fälle direkt nach den ersten Tests, ob alle notwendigen Daten (in mehrwelligen Erhebungen insbesondere eine Personenkennung) im Datensatz vorliegen.
  
-Es funktioniert so: Jeder Teilnehmer bekommt einen personalisierten Link. Beim Anklicken dieses Links wird eine Kennung (ID oder Teilnehmer-ID) an oFb übermittelt. Am Schluss der Befragung muss oFb nun dem Anbieter mitteilen, dass der Teilnehmer den Fragebogen ausgefüllt hat. Dafür wird die Kennung wiederum an den Anbieter zurück übermittelt. Dazu dient der Back- oder Exit-Link. 
  
 ===== Personalisierte Links zum Fragebogen ===== ===== Personalisierte Links zum Fragebogen =====
Zeile 28: Zeile 126:
 ''%%http://www.anbieter.com/p9815245/exit.php?id=%reference%%%'' ''%%http://www.anbieter.com/p9815245/exit.php?id=%reference%%%''
  
-Jetzt muss man den Befragten nur noch umleiten -- das so genannte Redirect. Dazu gibt es die Funktion ''[[:de:create:functions-base#redirect|redirect()]]''. Allerdings bricht diese die Befragung sofort ab und leitet den Teilnehmer auf eine andere Website um. Man muss also im Fragebogen selbst vor dem Ende eine leere Seite einfügen, dort //PHP-Code/// einfügen und dort den ''redirect()''-Befehl:+Jetzt muss man den Befragten nur noch umleiten -- das so genannte Redirect. Dazu gibt es die Funktion ''[[:de:create:functions:redirect|redirect()]]''. Allerdings bricht diese die Befragung sofort ab und leitet den Teilnehmer auf eine andere Website um. Man muss also im Fragebogen selbst vor dem Ende eine leere Seite einfügen, dort //PHP-Code// einfügen und dort den ''redirect()''-Befehl:
  
 <code php> <code php>
Zeile 46: Zeile 144:
 ===== Der Anbieter verwendet eine andere Variable als "r" ===== ===== Der Anbieter verwendet eine andere Variable als "r" =====
  
-Falls der Anbieter im Link kein ''r'' verwenden kann oder will und auf eine Variable wie z.B. ''susid'' besteht, lässt sich das auch recht einfach lösen. Und zwar liest man die Variable dafür auf der ersten (!) Seite im Fragebogen mit ''[[:de:create:functions:readget|readGET()]]'' ein und speichert sie als Interview-Variable.+Falls der Anbieter im Link kein ''r'' verwenden kann oder will und auf eine Variable wie z.B. ''susid'' besteht, lässt sich das auch recht einfach lösen. Und zwar liest man die Variable dafür auf der ersten (!) Seite im Fragebogen mit einer Frage vom Typ [[:de:create:questions:client|Gerät und übermittelte Variablen]] ein. Tragen Sie den Namen der Variable ein, welche die Panel-Kennung enthält (z.B. "userID").
  
-Als Platzhalter bei den Links muss man dann natürlich den Namen der Interview-Variable angeben.+{{:de:survey:scr.panel.client.png?nolink|Frage vom Typ: Gerät und übermittelte Variablen}}
  
-<code php> +Als Platzhalter bei den Links muss man dann natürlich den Namen der Variable angeben, wie sie im Datensatz gespeichert wird. Wenn die Variable zum Einlesen z.B. ''DV01_RV1'' heißtwürde man den Platzhalter wie folgt setzen:
-// Dieser Code muss auf Seite 1 stehen +
-$id = readGET('susid'); // Kennung einlesen (nur auf Seite 1) +
-replace('%panelID%', $id);  // Platzhalter vorbereiten+
  
-// Optional können Sie die Panel-ID auch im Datensatz ablegen, etwa für den Fall, +<code php> 
-// bei der Abrechnung mit dem Panel-Anbieter Fragen offen bleiben. +// Dieser Code kann unter der Frage "Gerät und übermittelte Variablen" 
-put('IV01_01', $id);    // Die interne Variable muss vorab angelegt werden, s. Funktion put()+// oder vor der Weiterleitung platziert werden 
 +replace('%panelID%', 'DV01_RV1', 'response');  // Platzhalter vorbereiten
 </code> </code>
  
Zeile 64: Zeile 160:
 redirect('http://www.anbieter.com/p9815245/exit.php?id=%panelID%'); redirect('http://www.anbieter.com/p9815245/exit.php?id=%panelID%');
 </code> </code>
 +
 +Anstatt mit ''replace()'' können Sie auch direkt mit ''value()'' und dem PHP-Operator zum verbinden von Strings (''.'') arbeiten. Der folgende PHP-Code führt zum selben Ergebnis wie die beiden PHP-Codes oben.
 +
 +<code php>
 +// PHP-Code für Redirect
 +redirect('http://www.anbieter.com/p9815245/exit.php?id='.value('DV01_RV1'));
 +</code>
 +
 +
 +===== Panels und Zufallsauswahl =====
 +
 +Eine normale [[:de:create:randomization]] hat auf die Panel-Anbindung keine Auswirkungen, aber wenn man mittels ''[[:de:create:functions:gotoquestionnaire]]'' eine [[:de:create:random_questionnaire]] realisiert, muss man die Panel-ID (und bei Bedarf weitere Variablen) an die untergeordneten Fragebögen übergeben.
 +
 +Das Vorgehen wird hier im Detail beschrieben: [[:de:create:random_questionnaire#zusammenspiel_mit_externen_panels|Zusammenspiel mit externen Panels]]
 +
 +
 +===== Fehlersuche =====
 +
 +Wenn Sie dem Panel-Anbieter den Fragebogen-Link (mit Platzhalter für die Panel-ID, siehe [[#link_mitteilen|Link mitteilen]] und [[#personalisierte_links_zum_fragebogen|Personalisierte Links zum Fragebogen]]) mitgeteilt haben, wird dieser Testen, ob die Redirects funktionieren.
 +
 +Solle das nicht der Falls sein, kann das Problem an drei Stellen liegen:
 +
 +  - Die Panel-ID wird vom Panel-Anbieter nicht korrekt an den Fragebogen übergeben
 +  - Die Panel-ID wird im Redirect nicht korrekt an den Panel-Anbieter zurückgegeben
 +  - Die ''redirect()''-Funktion wird aufgrund der Filterführung nicht aufgerufen
 +
 +Um das Problem einzugrenzen, suchen Sie unter **Erhobene Daten** -> **Daten ansehen** zunächst die Test-Datensätze, welche der Panel-Anbieter erzeugt hat. Sollten Sie dort überhaupt keine passenden Fälle finden, prüfen Sie noch einmal, ob Sie dem Panel-Anbieter die Links zum korrekten Befragungsprojekt geschickt haben.
 +
 +In den Datenfällen prüfen Sie nun, ob dort eine Panel-ID vorliegt. In aller Regel ist das eine lange Zahl oder ein kryptischer Code aus Ziffern und Buchstaben. Wenn Sie mit ''r='' arbeiten, sollte der Code in der Variable "REF" gespeichert werden. Wenn Sie den Code mit einer Frage "Gerät und übermittelte Variablen" einlesen, dann suchen Sie unter der Kennung dieser Frage. Wenn der Code nicht vorliegt, ...
 +
 +  * haben Sie dem Panel-Anbieter entweder einen fehlerhaften Link zukommen lassen.
 +  * Oder in den **Projekt-Einstellungen** unter //Spezielles// wurde bei //Variablen im Link zum Fragebogen// für die Referenz ein anderer Variablenname festgelegt.
 +  * Oder die Frage "Gerät und übermittelte Variablen" wurde nicht auf der ersten Seite im Fragebogen platziert.
 +  * Oder Sie haben mehrere Fragebögen im Projekt definiert (**Fragebogen zusammenstellen** -> **Fragebögen verwalten**) und es wird der falsche davon aufgerufen.
 +
 +Wenn die Panel-ID im Datensatz gespeichert wird, aber nicht zurück-übermittelt wird, prüfe Sie zunächst nochmal Ihre Redirect-Links und ob die Platzhalter dort richtig eingesetzt wurde.
 +
 +**Tipp:** Zum Testen können Sie den Fragebogen einfach mit einer selbst gewählten Panel-ID starten. Wenn der Link also lautet ''%%https://s2survey.net/project/?r=[panelID]%%'', dann tragen Sie in der Adresszeile Ihres Browsers folgendes ein: ''%%https://s2survey.net/project/?r=Test0001%%''. Nach dem Redirect (so dieser funktioniert) erhalten Sie wahrscheinlich eine Fehlermeldung von der Website des Panel-Anbieters ... aber das ist in Ordnung, weil es in dessen Datenbank ja keine Panel-ID "Test0001" gibt. Sie sehen aber, ob die Panel-ID in der Adressezeile auftaucht.
 +
 +
 +===== Panel-Anbieter =====
 +
 +Nachfolgend verlinken wir die uns bekannten Anleitungen von Panel-Anbietern.
 +
 +  * [[https://www.sona-systems.com/help/soscisurvey/|Sona Systems: External Study Credit Granting with SoSci Survey]]
de/survey/panels.1416515506.txt.gz · Zuletzt geändert: 20.11.2014 21:31 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki