Atributos de script de perfil
Defina un atributo de script de perfil con su fragmento de código de JavaScript asociado.
Los scripts de perfil se pueden usar para capturar atributos de visitantes en varias visitas. Los scripts de perfil son fragmentos de código definidos dentro de Target utilizando un formulario JavaScript en el lado del servidor. Por ejemplo, puede usar un script de perfil para capturar la frecuencia con que una persona visita su sitio y ver cuándo fue la última vez que lo hizo.
Los scripts de perfil no son lo mismo que los parámetros de perfil. Los parámetros de perfil capturan información sobre los visitantes mediante la implementación con código de mbox de Target.
Creación de scripts de perfil
Los scripts de perfil están disponibles en la ficha Audiences de la interfaz Target.
Para agregar un script de perfil, haga clic en la ficha Profile Scripts, Create Script, y escriba el script.
O
Para copiar un script de perfil existente, en la lista Profile Scripts, haga clic en el icono de puntos suspensivos del script deseado y, a continuación, haga clic en Duplicate.
Luego puede editar la audiencia para crear otra parecida.
Los scripts ejecutan “catchers” de atributos de perfil en cada solicitud de ubicación. Cuando se recibe una solicitud de ubicación, Target determina qué actividad debe ejecutarse y muestra el contenido que es apropiado para esa actividad y esa experiencia. Target también rastrea el éxito de la actividad y ejecuta cualquier script de perfil relevante. Este proceso le permite rastrear información sobre la visita como, por ejemplo, la ubicación del visitante, la hora del día, la cantidad de veces que el visitante ha estado en el sitio, si había realizado compras con anterioridad, etc. A continuación, esta información se agrega al perfil del visitante con el objetivo de rastrear mejor su actividad en el sitio.
Los atributos de script de perfil tienen la etiqueta user.
insertada antes del nombre de atributo. Por ejemplo:
if (mbox.name == 'Track_Interest') {
if (profile.get('model') == "A5" &&; profile.get('subcat') == "KS6") {
return (user.get('A5KS6') || 0) + 1;
}
}
Tenga en cuenta lo siguiente:
-
Haga referencia a los atributos de script de perfil (incluido el que se está usando) en el código con
user.get('parameterName')
. -
Guarde las variables a las que posiblemente se vaya a tener acceso la próxima vez que se ejecute el script (en la siguiente solicitud de mbox) con
user.setLocal('variable_name', 'value')
. Haga referencia a la variable conuser.getLocal('variable_name')
. Este proceso es práctico en situaciones en las que se quiere remitir a la fecha y hora de la última solicitud.Estos valores persisten del mismo modo que un script de perfil, pero solo tiene acceso a ellos dentro del script en el que se establecieron.
-
Los parámetros y valores distinguen entre mayúsculas y minúsculas. Haga que las mayúsculas y minúsculas de los parámetros y valores que va a recibir durante la actividad o prueba sean las mismas.
-
Consulte la sección “Referencia JavaScript para parámetros de perfil de secuencia de comandos” para obtener más sintaxis de JavaScript.
-
El parámetro permanece en el perfil después de deshabilitar el script. Los usuarios cuyos perfiles ya contienen un parámetro que se utiliza en la audiencia de una actividad podrán participar en esa actividad.
-
Los scripts de perfil no se pueden eliminar mientras se utilizan en una actividad.
-
No se recomienda crear scripts de perfil dependientes que utilicen el resultado de un script de perfil en otro script de perfil. No se garantiza el orden de ejecución de scripts del perfil.
Visualización de tarjetas de información de scripts de perfil
Puede ver tarjetas emergentes con información sobre scripts de perfil similares a las tarjetas de información de ofertas. Estas tarjetas le permiten ver la lista de actividades que hacen referencia al script de perfil seleccionado, además de otros metadatos útiles.
Por ejemplo, para obtener acceso a la siguiente tarjeta de información de script de perfil, haga clic en el icono Info del script de perfil deseado de la lista (Audiences > Profile Scripts).
La ficha Script Info contiene la siguiente información: Nombre, descripción y código de script.
Haga clic en View full details para ver las audiencias y actividades que hacen referencia al script de perfil seleccionado.
- La actividad está en estado Draft.
- El contenido u oferta utilizado en la actividad emplea variables de script (una oferta en línea dentro de la actividad o una oferta de la biblioteca de ofertas).
Target deshabilita los scripts de perfil en determinadas situaciones
Target deshabilita automáticamente los scripts de perfil en determinadas situaciones, como cuando tardan mucho en ejecutarse o tienen demasiadas instrucciones.
Cuando se deshabilita un script de perfil, aparece un icono de alerta amarillo junto al script del perfil en la interfaz de usuario de Target, como se muestra a continuación:
Al pasar el ratón por encima, aparecen los detalles del error, como se muestra a continuación:
Estas son las razones habituales por las que el sistema deshabilita los scripts de perfil:
- Se hace referencia a una variable sin definir.
- Se hace referencia a un valor no válido. Este error suele deberse a valores de redirección URL y otros datos introducidos por el usuario sin la validación adecuada.
- Se están utilizando demasiadas instrucciones JavaScript. Target tiene un límite de 2000 instrucciones JavaScript por script, pero este límite no se puede calcular simplemente de forma manual leyendo el JavaScript. Por ejemplo, Rhino trata todas las llamadas de función y “nuevas” llamadas como 100 instrucciones. Cualquier llamada a cualquier función consume 100 instrucciones. Además, el tamaño de los datos de entrada, como los valores URL, puede afectar a la contabilización de instrucciones.
- Elementos no destacados en la sección prácticas recomendadas a continuación.
Prácticas recomendadas
Las siguientes directrices pretenden ayudarle a escribir secuencias de comandos de perfil simplificadas que tengan la menor probabilidad de caer en errores mientras escribe el código que falla, por lo que se procesa sin forzar una parada de secuencia de comandos del sistema. Estas instrucciones son el resultado de las prácticas recomendadas cuya eficacia ha sido demostrada. Estas directrices se tiene que aplicar junto a los principios y recomendaciones descritos por la comunidad de desarrollo Rhino.
-
Establezca el valor del script actual en una variable local del script de usuario; establezca una conmutación por error a una cadena en blanco.
-
Valide la variable local y asegúrese de que no se trate de una cadena en blanco.
-
Utilice funciones de manipulación basadas en cadenas en lugar de expresiones regulares.
-
Utilice bucles limitados en lugar de bucles sin fin o continuos.
-
No supere los 1300 caracteres o las 50 repeticiones de bucle.
-
No supere las 2000 instrucciones de JavaScript. Target tiene un límite de 2000 instrucciones JavaScript por script, pero este límite no se puede calcular simplemente de forma manual leyendo el JavaScript. Por ejemplo, Rhino trata todas las llamadas de función y “nuevas” llamadas como 100 instrucciones. Además, el tamaño de los datos de entrada, como los valores URL, puede afectar a la contabilización de instrucciones.
-
Tenga en cuenta no solo el rendimiento del script, sino también el rendimiento combinado de todos los scripts. Como práctica recomendada, Adobe recomienda utilizar un máximo de 5000 instrucciones en total. La recuento de instrucciones no es obvio, pero el dato que es importante recordar es que los scripts que exceden las 2000 instrucciones se desactivan automáticamente. El número de scripts de perfil activos no debe superar los 300. Cada script se ejecuta con cada llamada de mbox. Ejecute solo los scripts necesarios.
-
En una regex, tener punto y asterisco al principio (p. ej.:
/.*match/
,/a|.*b/
) casi nunca es necesario. La búsqueda de regex comienza desde todas las posiciones en una cadena (a menos que se enlace con^
), por lo que se asume un punto y un asterisco. La ejecución de la secuencia de comandos se puede interrumpir si este regex coincide con datos de entrada lo suficientemente largos (que pueden contener varios cientos de caracteres). -
Si falla todo, ajuste el script a un try/catch.
-
Las siguientes recomendaciones pueden ayudarle a limitar la complejidad del script de perfil. Los scripts de perfil pueden ejecutar un número limitado de instrucciones.
Como práctica recomendada:
- Mantenga los scripts de perfil pequeños y lo más simples posible.
- Evite las expresiones regulares o utilice solo expresiones regulares simples. Incluso las expresiones simples pueden requerir muchas instrucciones para evaluarlas.
- Evite la recursión.
- Se debe probar el rendimiento de los scripts de perfil antes de agregarlos a Target. Todos los scripts de perfil se ejecutan en cada solicitud de mbox. Si los scripts de perfil no se ejecutan correctamente, las solicitudes de mbox tardan más en ejecutarse, lo que puede afectar al tráfico y la conversión.
- Si los scripts de perfil se vuelven demasiado complejos, considere la posibilidad de utilizar tokens de respuesta en su lugar.
-
Para obtener más información, consulte la documentación del motor JS Rhino.
Depuración de scripts de perfil
Se pueden utilizar los métodos siguientes para depurar scripts de perfil:
-
Agregar scripts de perfil como tokens de respuesta para depurar scripts de perfil:
En Target, haga clic en Administration, haga clic en Response Tokens y habilite el script de perfil que desee depurar.
Cada vez que carga para el sitio una página que incluye Target, parte de la respuesta de Target contendrá su valor para el script de perfil dado, como se muestra a continuación:
-
Utilice la herramienta de depuración mboxTrace para depurar scripts de perfil.
Este método requiere un token de autorización que puede generarse haciendo clic en Target > Administration > Implementation > Generate Authorization Token en la sección Debugger tools.
A continuación, agregue estos dos parámetros a la URL de su página después de “?”:
mboxTrace=window&authorization=YOURTOKEN
.Añadir estos parámetros proporciona algo más de información que el token de respuesta porque se obtiene una instantánea de su perfil anterior a la ejecución y otra posterior a la ejecución. También muestra todos los perfiles disponibles.
Preguntas más frecuentes sobre scripts de perfil
¿Es posible utilizar scripts de perfil para capturar información de una página que reside en una capa de datos?
Los scripts de perfil no pueden leer la página directamente porque se ejecutan en el lado del servidor. Se deben pasar los datos mediante una solicitud de mBox u otros métodos de obtención de datos para Target. Una vez que los datos están en Target, los scripts de perfil pueden leer los datos como un parámetro de mbox o un parámetro de perfil.
Referencia de JavaScript para parámetros de perfil de secuencia de comandos
Se requiere de conocimiento básico de Javascript para utilizar de forma eficaz los parámetros de perfil de script. Esta sección sirve como referencia rápida para aumentar su productividad con esta funcionalidad en solo unos minutos.
Los parámetros de perfil de secuencia de comandos se encuentran en la pestaña mboxes/perfiles. Puede escribir programas Javascript que devuelvan cualquier tipo de Javascript (cadena, número entero, matriz, etc.).
Ejemplos de parámetros de perfil de secuencia de comandos
Nombre: user.recency
var dayInMillis = 3600 * 24 * 1000;
if (mbox.name == 'orderThankyouPage') {
user.setLocal('lastPurchaseTime', new Date().getTime());
}
var lastPurchaseTime = user.getLocal('lastPurchaseTime');
if (lastPurchaseTime) {
return ((new Date()).getTime() - lastPurchaseTime) / dayInMillis;
}
Crea una variable por día según se mide en milisegundos. Si el nombre del mbox es orderThankyouPage
, establece un atributo de perfil de usuario local (invisible) denominado lastPurchaseTime
para mostrar el valor de la fecha y la hora actuales. El valor de la última compra se lee y, si se define, Target devuelve el tiempo que ha pasado desde la última compra, dividido por el número de milisegundos en un día (lo que resulta en el número de días desde la última compra).
Nombre: user.frequency
var frequency = user.get('frequency') || 0;
if (mbox.name == 'orderThankyouPage') {
return frequency + 1;
}
Crea una variable denominada frequency
, iniciándola en el valor anterior o 0, si no había ningún valor anterior. Si el nombre del mbox es orderThankyouPage
, se devuelve el valor incrementado.
Nombre: user.monetaryValue
var monetaryValue = user.get('monetaryValue') || 0;
if (mbox.name == 'orderThankyouPage') {
return monetaryValue + parseInt(mbox.param('orderTotal'));
}
Crea una variable llamada monetaryValue
, buscando el valor actual para un visitante determinado (o configurándolo en 0 si no había ningún valor anterior). Si el nombre del mbox es orderThankyouPage
, se devuelve un nuevo valor monetario sumando el valor anterior y el valor del parámetro orderTotal
que se pasa al mbox.
Nombre: adobeQA
if (page.param("adobeQA"))
return page.param("adobeQA");
else if (page.param("adobeqa"))
return page.param("adobeqa");
else if (mbox.param("adobeQA"))
return mbox.param("adobeQA");
Crea una variable llamada adobeQA
para rastrear a un usuario durante Control de calidad de la actividad.
Objetos y métodos
Los parámetros de perfil de script pueden hacer referencia a los siguientes objetos y métodos:
Objeto o método | Detalles |
---|---|
page.url | La dirección URL actual |
page.protocol | El protocolo usado para la página (http o https). |
page.domain | El dominio URL actual (todo antes de la primera barra). Por ejemplo, www.acme.com en http://www.acme.com/categories/men_jeans?color=blue&size=small . |
page.query | La cadena de consulta de la página actual. Todo después de “?”. Por ejemplo, blue&size=small en http://www.acme.com/categories/mens_jeans?color=blue&size=small . |
page.param('<par_name>') | El valor del parámetro indicado por <par_name> . Si la dirección URL actual es la página de búsqueda de Google y había introducido page.param('hl') , obtendrá “en” para la dirección URL http://www.google.com/search?hl=en& q=what+is+asdf&btnG=Google+Search . |
page.referrer | El mismo conjunto de operaciones que se aplica arriba se aplica al referente y al aterrizaje (por ejemplo, referrer.url es la dirección URL del referente). |
landing.url , landing.protocol , landing.query , y landing.param |
Similar a la de la página, pero para la página de aterrizaje. Para que la URL de la página de aterrizaje funcione según lo previsto, establezca la variable |
mbox.name | El nombre del mbox activo. |
mbox.param('<par_name>') | Un parámetro de mbox por el nombre dado en el mbox activo. |
profile.get('<par_name>') | El parámetro de perfil de usuario creado por el cliente por el nombre <par_name> . Por ejemplo, si el usuario configura un parámetro de perfil denominado “gender”, el valor se puede extraer usando “profile.gender”. Devuelve el valor de “profile.<par_name> ” configurado para el visitante actual; devuelve nulo si no se ha establecido ninguno. Tenga en cuenta que profile.get(<par_name>) se califica como una llamada a una función. |
user.get('<par_name>') | Devuelve el valor de “user.<par_name> ” configurado para el visitante actual; devuelve nulo si no se ha establecido ninguno. |
user.categoryAffinity | Devuelve el nombre de la mejor categoría. |
user.categoryAffinities | Devuelve una matriz con las mejores categorías. |
user.isFirstSession | Devuelve verdadero si es la primera sesión del visitante. |
user.browser | Devuelve el agente de usuario en el encabezado HTTP. Como por ejemplo, puede crear un objetivo de expresión únicamente dirigido a los usuarios de Safari: if (user.browser != null && user.browser.indexOf('Safari') != -1) { return true; } |
Target
- Guía para profesionales de Adobe Target Business
- Notas de la versión de Target
- Primeros pasos
- Administración de Target
- Implementación de Target
- Integración de Target con Experience Cloud
- Actividades
- Audiencias
- Experiencias y ofertas
- Informes
- Recommendations
- Resolución de problemas de Target
- API de Target
- Recursos e información de contacto