0 votes
in SoSci Survey (dt.) by s195837 (170 points)
edited by SoSci Survey

Ich habe folgende Re-direct Links vom Panelanbieter erhalten:

Complete / Screenout / Quotafull

https://gateway.gapfish.com/routings/participation_id/finish/completed
https://gateway.gapfish.com/routings/participation_id/finish/screenout
https://gateway.gapfish.com/routings/participation_id/finish/quota_full

Mein Umfragelink lautet:

https://www.soscisurvey.de/forschungsprojekt09102023/?r=[panelID]

Im PHP Code habe ich die Links wie folgt angepasst:

https://gateway.gapfish.com/routings/%reference%/finish/completed
https://gateway.gapfish.com/routings/%reference%/finish/screenout
https://gateway.gapfish.com/routings/%reference%/finish/quota_full

Der Panelanbieter sollte folgende re-direct Link erhalten:

https://www.soscisurvey.de/forschungsprojekt09102023/?r=test123
--> https://gateway.gapfish.com/routings/test123/finish/screenout

Es kommt dann folgender Link und Fehlermeldung:

https://gateway.gapfish.com/routings/generic_error?original_url=https%3A%2F%2Fgateway.gapfish.com%2Froutings%2Ftest123%2Ffinish%2Fscreenout&report_error=no

Die Nummer r= wird auch im Datensatz unter REF abgespeichert.

Was habe ich falsch gemacht?

Ich habe folgenden PHP Code mit Quotierung auf S. 2:

$quota = [
  '1-1' => 7, '1-2' => 8,  // 7 Frauen und 8 Männer für die Altersgruppe 1
  '2-1' => 13, '2-2' => 13,  // 13 Personen pro Geschlecht für die Altersgruppe 2
  '3-1' => 13, '3-2' => 14,  // 13 Frauen und 14 Männer für die Altersgruppe 3
  '4-1' => 13,  '4-2' => 14,   //  13 Frauen und 14 Männer für die Altersgruppe 4
  '5-1' => 15,  '5-2' => 15    //  15 Personen pro Geschlecht für die Altersgruppe 5
];

// Geschlecht wird direkt ausgelesen
$gender = value('SD01');
// Das Alter wird umkodiert
$age = value('SD03');
if ($age < 18) {
  $ageGroup = 1;
} elseif ($age <= 25) {
  $ageGroup = 2;
} elseif ($age <= 35) {
  $ageGroup = 3;
} elseif ($age <= 45) {
  $ageGroup = 4;
} elseif ($age <= 64) {
  $ageGroup = 5;
}

// Definition einer Variable mit Altesgruppe und Geschlecht
// Aus 3 und 2 wird hier '3-2'
$demGroup = $ageGroup.'-'.$gender;

// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
$cases = statistic('count', 'SD20_01, 2', $demGroup);
 
// Screenout
if (!array_key_exists($demGroup, $quota)) {
  redirect('https://gateway.gapfish.com/routings/%reference%/finish/screenout');
}
 
// Auslesen der Quote für die demografische Gruppe
$maxPerGroup = $quota[$demGroup];
 
// Quotenstopp
if ($cases >= $maxPerGroup) {
  redirect('https://gateway.gapfish.com/routings/%reference%/finish/quota_full');
}

Und folgenden PHP-Code auf der Vorletzten Seite:

// Geschlecht wird direkt ausgelesen
$gender = value('SD01');
// Das Alter wird umkodiert
$age = value('SD03');
if ($age < 18) {
  $ageGroup = 1;
} elseif ($age <= 25) {
  $ageGroup = 2;
} elseif ($age <= 35) {
  $ageGroup = 3;
} elseif ($age <= 45) {
  $ageGroup = 4;
} elseif ($age <= 64) {
  $ageGroup = 5;
}
 
// Definition einer Variable mit Altersgruppe und Geschlecht
// Aus 3 und 2 wird hier '3-2'
$demGroup = $ageGroup.'-'.$gender;
 
// Speichern der Gruppenzugehörigkeit in der internen Variable SD20_01
put('SD20_01, 2', $demGroup);


// Speeder Screenout
if (caseTime('begin') < 200) {
  redirect('https://gateway.gapfish.com/routings/%reference%/finish/screenout');
}
 
// Complete-Redirect
redirect('https://gateway.gapfish.com/routings/%reference%/finish/completed');

2 Answers

0 votes
by SoSci Survey (327k points)

Der Panelanbieter sollte folgende re-direct Link erhalten:

https://www.soscisurvey.de/forschungsprojekt09102023/?r=test123
--> https://gateway.gapfish.com/routings/test123/finish/screenout

Es kommt dann folgender Link und Fehlermeldung:

https://gateway.gapfish.com/routings/generic_error?original_url=https://gateway.gapfish.com/routings/test123/finish/screenout&report_error=no

Das ist soweit alles korrekt. SoSci Survey schickt den Befragte zu https://gateway.gapfish.com/routings/test123/finish/screenout weiter, der Code ist (weil es eben "test123" ist) nicht gültig, und deshalb schickt der Panel-Anbieter den Nutzer zu der zweiten URL weiter.

Sie können das im Detail nachverfolgen, wenn Sie die Developer-Tools im Browser öffnen und dort dann die Netzwerkkonsole.

by s195837 (170 points)
Vielen Dank für die Rückmeldung.
Der Panelanbieter meint, dass es nicht funktioniert. Ich bin jetzt etwas überfragt, was ich noch machen kann. Gibt es noch eine Alternative?
by SoSci Survey (327k points)
Prüfen Sie - wie ich schon schrieb - in den Developertools genau, auf welche URL weitergeleitet wird. Dann können Sie dem Panel-Betreiber sagen, ob oder oder nicht die URL aufgerufen wurde.
by s195837 (170 points)
In den Developertools steht leider nichts dazu... Ich würde Ihnen das gerne als Screenshot zeigen, nur leider kann ich den hier nicht hochladen... Welche Option gibt es noch?
by SoSci Survey (327k points)
bauen Sie auf Seite 2 Ihres Fragebogens mal ein goToPage() ein, das direkt zum Complete-Redirect leitet, und posten Sie hier dann einen Pretest-Link, dann werfe ich einen Blick darauf.
by s195837 (170 points)
Vielen Dank!
Ich habe goToPage() eingebaut.

Gerne können Sie folgenden Link verwenden:

https://www.soscisurvey.de/forschungsprojekt09102023/?r=167

oder möchten Sie einen richtigen Pre-Test Link dann dieser:

https://www.soscisurvey.de/forschungsprojekt09102023/?act=v8stewCYtNkWwtNSRe1QuIFu
by SoSci Survey (327k points)
Ich schreibe eine neue Antwort, damit ich ein Bild einfügen kann - Kurzfassung: Alles soweit korrekt.
0 votes
by SoSci Survey (327k points)

Danke für den Pretest-Link. Die Netzwerkinfos im Browser ...

Screenshot

... sagen, dass ein Redirect auf die richtige URL erfolgt. Die Referenz 167 ist an der richtigen Stelle (s. rechts oben).

Fragen Sie den Panel-Anbieter doch bitte mal, ob es mit dem "Kurzlink" funktioniert. Wenn der funktioneirt und der "normale" Link nicht, dann erfolgt vielleicht irgendwo ein Screenout, der nicht sein sollte. Da müssten Sie dann mit dem Panel-Anbieter klären, was sie zum Testen anklicken sollen.

by s195837 (170 points)
Vielen Dank für die Hilfe, es klappt jetzt. :-)

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

...