URL_Search_Params
URL_Search_Params est une variable système qui contient chaque paramètre présent sur l'URL avec laquelle la session d'un participant a commencé, capturée automatiquement sous forme de JSON. Elle existe pour chaque étude. La plupart des chercheurs n'ont jamais besoin de la toucher directement, car Labvanced lit déjà les paramètres qu'il reconnaît (identifiants de crowdsourcing, group, session, et ainsi de suite) dans leurs propres variables dédiées.
Objectif
Les plateformes et panels de crowdsourcing envoient chacun leur propre longue liste de paramètres d'URL. Certains sont essentiels au fonctionnement de l'intégration, comme un identifiant de participant, et Labvanced les gère déjà directement. D'autres sont plutôt des informations complémentaires, utiles à enregistrer dans certains cas mais sans variable dédiée, comme un critère de ciblage ou un identifiant de tentative. URL_Search_Params est le fourre-tout pour ce deuxième groupe : l'ensemble des paramètres est capturé automatiquement dès que la session commence, sans rien à configurer, donc une nouvelle intégration fonctionne simplement.
L'idée derrière cela est la simplicité : plutôt que de nécessiter une variable dédiée pour chaque paramètre qu'une plateforme pourrait jamais envoyer, une variable les regroupe tous. Cela permet à une nouvelle intégration de fonctionner sans configuration supplémentaire, et vous donne un seul endroit pour vérifier si une étude a jamais besoin d'une valeur que rien d'autre ne suit déjà.
Les valeurs elles-mêmes proviennent du fournisseur de crowdsourcing, pas de Labvanced. Le tc de Besample, par exemple, est créé et envoyé par Besample ; Labvanced le lit simplement depuis le lien dans le cadre de URL_Search_Params.
Comment c'est enregistré
La chaîne de requête complète est lue une fois, juste au moment où la session commence, et stockée dans la variable mondiale URL_Search_Params à partir de ce moment. De là, elle reste disponible pour le reste de l'expérience, comme n'importe quelle autre variable, prête à être lue chaque fois que votre conception d'étude en a besoin.
Internement, la valeur est stockée sous forme de chaîne JSON de la forme :
{"is_truncated": false, "params": {"type": "besample", "battempt": "3", "tc": "276", "tg": "f"}}
Un nom de paramètre répété contient un tableau de ses valeurs. is_truncated est true uniquement si la chaîne de requête est exceptionnellement longue, dépassant 4096 caractères. Dans ce cas, les paramètres qui l'auraient poussée au-delà de la limite sont laissés de côté, et tout ce qui est plus court est toujours enregistré.
Exclus de l'enregistrement se trouvent l'identifiant d'expérience propre à Labvanced, et chaque paramètre identifiant le participant de la plateforme de crowdsourcing, qui est sauvegardé séparément dans Crowdsourcing_SubjId à la place (par exemple PROLIFIC_PID pour Prolific, bpid pour Besample). Quelques autres paramètres sont exclus pour la même raison de confidentialité sans être stockés ailleurs, comme bnum de Besample, un code unique lié à la rémunération d'un seul répondant.
Comment c'est utilisé
Une Action Exécuter JavaScript est comment vous extrayez une valeur de URL_Search_Params et agissez dessus. Ce n'est pas strictement soit/ou avec l'alternative plus simple : si vous n'avez besoin que d'une valeur spécifique, déjà nommée, une Action Obtenir Paramètre URL l'obtient sans JSON ni code. Optez pour URL_Search_Params lorsque vous voulez une image complète de ce qui était sur le lien conservé dans l'enregistrement, pas seulement le paramètre que vous avez prévu d'extraire, indépendamment de savoir si chaque nom de paramètre est déjà connu.
tc est le propre paramètre officiel de Besample pour le pays cible du répondant. Choisissez d'abord un déclencheur, par exemple On Frame Start ou un clic sur un bouton, quoi que ce soit qui doive déclencher la lecture. Ensuite, utilisez Run JavaScript pour lire tc à partir de URL_Search_Params et le sauvegarder dans une variable que vous créez et contrôlez entièrement, par exemple Target_Country (créez-la d'abord dans l'onglet Variables) :
var urlParams = JSON.parse(getValue("URL_Search_Params"));
setValue("Target_Country", urlParams.params.tc || ""); // ISO 3166-1 numeric country code, empty string if tc isn't on the link
Le || "" compte : contrairement à Get URL Parameter, qui par défaut se révèle être une chaîne vide automatiquement lorsqu'un paramètre est manquant, une valeur manquante ici génère une erreur si vous la passez directement à setValue sans solutions de repli. Toujours utiliser une valeur par défaut lorsqu'on lit un paramètre qui pourrait ne pas être présent.
Ensuite, utilisez Target_Country comme n'importe quelle autre variable. Par exemple :
Déclencheur :
On Frame Start
Action :Requirement (If... Then)→ côté gaucheVariable→Target_Country, comparaisonequal, côté droitConstant Value→276→ Alors :Jump to Next Frame→ votre tâche spécifique au pays
Voir cette méthode à côté de Get URL Parameter dans un exemple fonctionnel : Récupérer l'URL personnalisée à partir de la variable globale, une étude de bibliothèque qui lit le même paramètre URL dans les deux sens afin que vous puissiez comparer les résultats directement. Copiez cette URL pour l'essayer directement :
https://www.labvanced.com/player.html?id=88576&tc=276
Si vous avez des questions, veuillez nous contacter.
FAQ
Dois-je configurer quoi que ce soit pour utiliser URL_Search_Params ?
Puis-je sélectionner URL_Search_Params directement dans le sélecteur de variables ?
Cela inclura-t-il un jour l'identifiant de crowdsourcing d'un participant ?
Lectures complémentaires
Variables Système
Ce que sont les variables système en tant que catégorie, URL_Search_Params parmi elles, et où se trouve la table de référence complète.
Paramètres d'URL
La référence complète des paramètres que Labvanced lit depuis un lien de participation, y compris comment construire des liens personnalisés.
Exécuter une Action JavaScript
Comment lire et définir des variables Labvanced avec du JavaScript personnalisé, le mécanisme derrière l'exemple ci-dessus.
Obtenir une Action de Paramètre URL
L'alternative plus simple lorsque vous connaissez déjà le nom exact du paramètre dont vous avez besoin, sans JSON ni code requis.