URL_Search_Params
URL_Search_Params es una variable del sistema que contiene cada parámetro presente en la URL con la que comenzó la sesión de un participante, capturada automáticamente como JSON. Existe para cada estudio. La mayoría de los investigadores nunca necesitan tocarla directamente, ya que Labvanced ya lee los parámetros que reconoce (ids de crowdsourcing, group, session, y así sucesivamente) en sus propias variables dedicadas.
Propósito
Las plataformas y paneles de crowdsourcing envían cada uno su propia y larga lista de parámetros de URL. Algunos son fundamentales para el funcionamiento de la integración, como un id de participante, y Labvanced ya maneja esos directamente. Otros son más como información de apoyo, útil para registrar en algunos casos pero sin una variable dedicada propia, como un criterio de segmentación o un id de intento. URL_Search_Params es el cajón de sastre para ese segundo grupo: el conjunto completo de parámetros se captura automáticamente en el momento en que comienza la sesión, sin nada que configurar, por lo que una nueva integración simplemente funciona.
La idea detrás de esto es la simplicidad: en lugar de necesitar una variable dedicada para cada parámetro que una plataforma pueda enviar, una variable los agrupa todos. Esto mantiene una nueva integración funcionando sin configuraciones adicionales, y te ofrece un único lugar para verificar si un estudio necesita un valor que de otro modo no se rastrea.
Los valores en sí provienen del proveedor de crowdsourcing, no de Labvanced. El tc de Besample, por ejemplo, es creado y enviado por Besample; Labvanced solo lo lee del enlace como parte de URL_Search_Params.
Cómo se registra
La cadena de consulta completa se lee una vez, justo cuando comienza la sesión, y se almacena en la variable global URL_Search_Params a partir de ese momento. Desde allí, permanece disponible durante el resto del experimento, al igual que cualquier otra variable, lista para ser leída cada vez que el diseño de tu estudio lo necesite.
Internamente, el valor se almacena como una cadena JSON de la forma:
{"is_truncated": false, "params": {"type": "besample", "battempt": "3", "tc": "276", "tg": "f"}}
Un nombre de parámetro repetido contiene un array de sus valores. is_truncated es true solo si la cadena de consulta es inusualmente larga, más de 4096 caracteres. En ese caso, los parámetros que habrían hecho que sobrepase el límite se omiten, y todo lo más corto se sigue registrando.
Se excluyen del registro el propio id del experimento de Labvanced y el parámetro identificador del participante de cada plataforma de crowdsourcing, que se guarda por separado en Crowdsourcing_SubjId en su lugar (por ejemplo PROLIFIC_PID para Prolific, bpid para Besample). Algunos parámetros adicionales se excluyen por la misma razón de privacidad sin ser almacenados en ninguna otra parte, como el bnum de Besample, un código de un solo uso vinculado al pago de finalización de un solo encuestado.
Cómo se utiliza
Una Ejecutar Acción de JavaScript es cómo extraes un valor de URL_Search_Params y actúas sobre él. No es estrictamente uno u otro con la alternativa más sencilla: si solo necesitas un valor específico ya nombrado, una Obtener Acción de Parámetro de URL lo obtiene sin necesidad de JSON o código. Usa URL_Search_Params cuando quieras tener la imagen completa de lo que estaba en el enlace mantenido en el registro, no solo el único parámetro que te propusiste extraer, independientemente de si ya se conoce el nombre de cada parámetro.
tc es el propio parámetro oficial de Besample para el país objetivo del encuestado. Elige primero un disparador, por ejemplo On Frame Start o un clic en un botón, lo que debería iniciar la lectura. Luego usa Run JavaScript para leer tc de URL_Search_Params y guárdalo en una variable que crees y controles totalmente, por ejemplo Target_Country (crea primero en la pestaña 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
El || "" es importante: a diferencia de Get URL Parameter, que por defecto se establece en una cadena vacía automáticamente cuando falta un parámetro, un valor faltante aquí genera un error si lo pasas directamente a setValue sin una alternativa. Siempre vuelve a un valor por defecto al leer un parámetro que podría no estar presente.
A partir de ahí, usa Target_Country como cualquier otra variable. Por ejemplo:
Disparador:
On Frame Start
Acción:Requirement (If... Then)→ lado izquierdoVariable→Target_Country, comparaciónequal, lado derechoConstant Value→276→ Entonces:Jump to Next Frame→ tu tarea específica para el país
Consulta este método junto a Get URL Parameter en un ejemplo práctico: Obtener URL Personalizada de Variable Global, un estudio de biblioteca que lee el mismo parámetro de URL de ambas maneras para que puedas comparar los resultados directamente. Copia esta URL para probarlo directamente:
https://www.labvanced.com/player.html?id=88576&tc=276
Si tienes alguna pregunta, por favor contáctanos.
FAQ
¿Necesito configurar algo para usar URL_Search_Params?
¿Puedo seleccionar URL_Search_Params directamente en el selector de variables?
¿Esto incluirá alguna vez el id de crowdsourcing de un participante?
Lectura Adicional
Variables del Sistema
Qué son las variables del sistema como categoría, URL_Search_Params entre ellas, y dónde se encuentra la tabla de referencia completa.
Parámetros de URL
La referencia completa de parámetros que Labvanced lee de un enlace de participación, incluyendo cómo construir enlaces personalizados.
Ejecutar Acción de JavaScript
Cómo leer y establecer variables de Labvanced con JavaScript personalizado, el mecanismo detrás del ejemplo anterior.
Obtener Acción de Parámetro de URL
La alternativa más sencilla cuando ya conoces el nombre exacto del parámetro que necesitas, sin necesidad de JSON o código.