Las variables personalizadas son etiquetas de pares nombre-valor que se pueden insertar en el código de seguimiento para definir mejor el seguimiento de Google Analytics. Con las variables personalizadas se pueden definir segmentos adicionales distintos de los proporcionados por Analytics para aplicárselos a los visitantes. En este documento se describen las variables personalizadas y la manera de configurarlas.
Para sacar el máximo provecho a las variables personalizadas hay que comprender el modelo de interacción básica con los usuarios utilizado en Google Analytics. En este modelo, el visitante interactúa con el contenido en un período de tiempo y la implicación con el sitio se descompone en una jerarquía.
El diagrama muestra este modelo para un único visitante del sitio, donde cada bloque representa el número de sesiones de usuario y las interacciones de dicho usuario concreto.
Cada nivel de este modelo se define del siguiente modo:
Cada uno de estos tres niveles de interacción define un alcance específico de la implicación del visitante. Esta distinción es importante para las variables personalizadas, ya que cada una de ellas está limitada a un alcance concreto. Por ejemplo, podrías desear conocer el número de sesiones en las que los visitantes han eliminado un artículo del carrito de la compra. Para este caso concreto, se define la variable personalizada en el nivel de sesión, de modo que toda la sesión del visitante se etiquete como una sesión en la que se han suprimido elementos de carritos online.
Dado que se pueden configurar diversas variables personalizadas para realizar un seguimiento de la actividad del usuario en el sitio, es posible que crees tus propias utilidades JavaScript para administrarlas. La secuencia de comandos utilizará el método básico para crear una variable personalizada del siguiente modo:
_setCustomVar(index, name, value, opt_scope)
Este método acepta cuatro parámetros:
1 a 5, ambos incluidos. Una variable personalizada solo se puede colocar en un espacio y no se puede reutilizar en espacios distintos.gender y proporcionar male y female como dos valores posibles.1 (nivel de visitante), 2 (nivel de sesión) o 3 (nivel de página). Cuando se deja sin definir, el alcance de la variable personalizada adopta el valor predeterminado de interacción de nivel de página.El siguiente fragmento de código ilustra cómo se puede definir una variable personalizada para realizar el seguimiento de las visitas en las que los usuarios han eliminado artículos del carrito de la compra. En este caso, el método _setCustomVar() se invoca justo antes de un método _trackEvent() para que se entregue en la solicitud GIF enviada por el método _trackEvent(). El método utiliza el nombre Items Removed con el valor Yes para definir dicha actividad a partir de los usuarios del sitio web. Además, puede que resulte conveniente definir también una variable personalizada predeterminada para Items Removed y No. De esta forma tendrías un recuento de visitas en las que se suprimieron artículos de los carritos de la compra y un recuento de visitas que no incluiría la eliminación de artículos.
Fragmento asincrónico (recomendado)
_gaq.push(['_setCustomVar',
1, // This custom var is set to slot #1. Required parameter.
'Items Removed', // The name acts as a kind of category for the user activity. Required parameter.
'Yes', // This value of the custom variable. Required parameter.
2 // Sets the scope to session-level. Optional parameter.
]);
_gaq.push(['_trackEvent',
'Shopping', // category of activity
'Item Removal', // Action
]);
Fragmento tradicional (ga.js)
pageTracker._setCustomVar(
1, // This custom var is set to slot #1. Required parameter.
"Items Removed", // The name acts as a kind of category for the user activity. Required parameter.
"Yes", // This value of the custom variable. Required parameter.
2 // Sets the scope to session-level. Optional parameter.
);
pageTracker._trackEvent(
"Shopping", // category of activity
"Item Removal" // Action
);
Una vez configuradas las variables personalizadas se puede utilizar el método _deleteCustomVar(index) para suprimir las variables personalizadas.
Las variables personalizadas se pueden implementar de muchas formas distintas, en función del modelo de sitio web y de las necesidades de negocio. Los ejemplos exploran distintos casos de uso; cada uno de ellos ilustra un nivel de alcance distinto:
Las variables personalizadas de nivel de página permiten definir una colección de actividades de nivel de página para los usuarios.
Por ejemplo, al gestionar un sitio web de un periódico online en el que los visitantes visualizan muchos artículos distintos. Aunque resulta sencillo determinar qué artículos en concreto son los más populares, ahora también se pueden utilizar las variables personalizadas para determinar qué secciones del periódico son más populares. Esto se consigue definiendo una variable personalizada en el nivel de página para cada artículo, donde la sección de dicho artículo se define como variable personalizada. Por ejemplo, puedes tener secciones como Vida y estilo, Opinión y Negocios. Podrías definir una variable personalizada para realizar un seguimiento de todos los artículos por sección.
Fragmento asincrónico (recomendado)
_gaq.push(['_setCustomVar',
1, // This custom var is set to slot #1. Required parameter.
'Section', // The top-level name for your online content categories. Required parameter.
'Life & Style', // Sets the value of "Section" to "Life & Style" for this particular aricle. Required parameter.
3 // Sets the scope to page-level. Optional parameter.
]);
Fragmento tradicional (ga.js)
pageTracker._setCustomVar(
1, // This custom var is set to slot #1. Required parameter.
"Section", // The top-level name for your online content categories. Required parameter.
"Life & Style", // Sets the value of "Section" to "Life & Style" for this particular aricle. Required parameter.
3 // Sets the scope to page-level. Optional parameter.
);
pageTracker._trackPageview();Continuemos con este ejemplo y supongamos que no solo deseas etiquetar la sección de un artículo concreto, sino también la subsección. Por ejemplo, la sección Vida y estilo del periódico podría incluir una serie de subsecciones, como Alimentación, Moda y Deportes. Por tanto, para un artículo concreto puedes realizar el seguimiento de la sección y la subsección. Podrías definir una variable personalizada adicional para realizar un seguimiento de todos los artículos por subsección.
Fragmento asincrónico (recomendado)
_gaq.push(['_setCustomVar',
2, // This custom var is set to slot #2. Required parameter.
'Sub-Section', // The 2nd-level name for your online content categories. Required parameter.
'Fashion', // Sets the value of "Sub-section" to "Fashion" for this particular article. Required parameter.
3 // Sets the scope to page-level. Optional parameter.
]);
Fragmento tradicional (ga.js)
pageTracker._setCustomVar(
2, // This custom var is set to slot #2. Required parameter.
"Sub-Section", // The 2nd-level name for your online content categories. Required parameter.
"Fashion", // Sets the value of "Sub-section" to "Fashion" for this particular article. Required parameter.
3 // Sets the scope to page-level. Optional parameter.
);
pageTracker._trackPageview();En este ejemplo, defines dos variables personalizadas en el nivel de página para una única página. Para cualquier página simple, puedes realizar el seguimiento de hasta cinco variables personalizadas, cada una con un espacio independiente. Esto significa que podrías asignar 3 variables personalizadas adicionales en la misma página. Para todos los artículos del sitio web, puedes configurar una matriz de variables personalizadas en el nivel de página para realizar un seguimiento de las mismas por diversas secciones y subsecciones. Para obtener más información sobre cómo utilizar correctamente las variables personalizadas de nivel de página, consulta las Directrices de uso a continuación.
Utiliza variables personalizadas de nivel de sesión para distinguir distintas experiencias de visitante entre sesiones.
Por ejemplo, si el sitio web ofrece a los usuarios la capacidad de acceso, puedes utilizar una variable personalizada con el alcance de sesión para el estado de acceso del usuario. De este modo, puedes segmentar las visitas de los miembros que hayan accedido al sitio frente a las de visitantes anónimos.
Fragmento asincrónico (recomendado)
_gaq.push(['_setCustomVar',
1, // This custom var is set to slot #1. Required parameter.
'User Type', // The name of the custom variable. Required parameter.
'Member', // Sets the value of "User Type" to "Member" or "Visitor" depending on status. Required parameter.
2 // Sets the scope to session-level. Optional parameter.
]);
Fragmento tradicional (ga.js)
pageTracker._setCustomVar(
1, // This custom var is set to slot #1. Required parameter.
"User Type", // The name of the custom varaible. Required parameter.
"Member", // Sets the value of "User Type" to "Member" or "Visitor" depending on status. Required parameter.
2 // Sets the scope to session-level. Optional parameter.
);
pageTracker._trackPageview();Supón que deseas realizar el seguimiento del tipo de usuario y si se ha producido un intento de compra en una sesión dada. Si además suponemos que todas las páginas ofrecen al usuario la capacidad de acceder, desearíamos reservar el espacio 1 para la variable personalizada Tipo de usuario y utilizar otro espacio para el intento de compra:
Fragmento asincrónico (recomendado)
_gaq.push(['_setCustomVar',
2, // This custom var is set to slot #2. Required parameter.
'Shopping Attempts', // The name of the custom variable. Required parameter.
'Yes', // The value of the custom variable. Required parameter.
// (you might set this value by default to No)
2 // Sets the scope to session-level. Optional parameter.
]);
Fragmento tradicional (ga.js)
pageTracker._setCustomVar(
2, // This custom var is set to slot #2. Required parameter.
"Shopping Attempts", // The name of the custom variable. Required parameter.
"Yes", // The value of the custom variable. Required parameter.
// (you might set this value by default to No)
2 // Sets the scope to session-level. Optional parameter.
);
pageTracker._trackPageview();Utiliza variables personalizadas de nivel de visitante para distinguir categorías de visitantes entre varias sesiones.
Por ejemplo, si los sitios web ofrecen contenido de calidad a los suscriptores de pago, puedes definir una variable personalizada de nivel de visitas para analizar qué usuarios son miembros de pago, con qué nivel de pago y qué usuarios están utilizando el nivel de servicio gratuito del sitio. Probablemente establecerías esta variable personalizada como función de una sola vez, dado que el valor persistiría a lo largo de la vida de la cookie del visitante.
Fragmento asincrónico (recomendado)
_gaq.push(['_setCustomVar',
1, // This custom var is set to slot #1. Required parameter.
'Member Type', // The name of the custom variable. Required parameter.
'Premium', // The value of the custom variable. Required parameter.
// (possible values might be Free, Bronze, Gold, and Platinum)
1 // Sets the scope to visitor-level. Optional parameter.
]);
Fragmento tradicional (ga.js)
pageTracker._setCustomVar(
1, // This custom var is set to slot #1. Required parameter.
"Member Type", // The name of the custom variable. Required parameter.
"Premium", // The value of the custom variable. Required parameter.
// (possible values might be Free, Bronze, Gold, and Platinum)
1 // Sets the scope to visitor-level. Optional parameter.
);
pageTracker._trackPageview(); En esta sección se describen las diferencias entre los distintos tipos de variables personalizadas y la manera de utilizarlas correctamente:
La longitud combinada total de cualquier nombre y valor de variable personalizada no debe superar los 64 bytes.
La tabla siguiente define las características principales de los distintos tipos de variables. Ten en cuenta que existen determinadas restricciones cuando se utilizan los mismos espacios para distintas variables.
| Duración | Cuando se comparte un espacio con otras variables | Número permitido | |
|---|---|---|---|
| Nivel de página | Un página vista, evento o llamada de transacción simple. |
La última variable de nivel de página que se llama en una página es la que se aplica a dicha página. | Para cualquier propiedad web (colección de páginas) se pueden definir muchas variables de nivel de página únicas y se pueden reutilizar espacios. La única limitación es el número de resultados en una sesión dada. Para cualquier página simple, puedes configurar hasta 5 variables personalizadas simultáneas. |
| Nivel de sesión |
Sesión actual del visitante. |
La última variable de nivel de sesión llamada en una sesión es la utilizada para dicha sesión. Sustituye cualquier variable de nivel de página definida anteriormente que se llame en la misma sesión. |
Para cualquier propiedad web puedes crear tantas variables personalizadas de sesión diferentes como se puedan definir con un límite de clave-valor de 64 bytes. Para cualquier sesión de usuario dada, puedes configurar hasta 5 variables de nivel de sesión. |
| Nivel de visitantes | Sesión actual y todas las sesiones futuras mientras dure la cookie del visitante. |
El último valor establecido para un visitante es el que se aplica a las sesiones actuales y futuras. |
Para cualquier propiedad web puedes crear hasta cinco variables de nivel de visitante distintas. |
Por lo general, no se recomienda mezclar en el mismo espacio variables personalizadas de distintos tipos, ya que se pueden producir cambios de métricas incorrectos.
Cuando se utilizan varias variables personalizadas de nivel de página, sesión y visitante para la propiedad web es necesario determinar con cuidado la reutilización de espacios. Si surge una situación en el sitio web en la que una variable personalizada de nivel de página o sesión utiliza el mismo espacio al mismo tiempo que se define una variable de nivel de página, solo se registrará la variable de nivel de sesión (o nivel de página).
En los siguientes ejemplos se muestra una mezcla de variables de página, sesión y visitante establecidas por un solo usuario en el mismo navegador. En cada ejemplo, el espacio se indica mediante el número entre paréntesis y S: indica el alcance de la variable.
Aquí la página final reutiliza una variable personalizada de sesión en el espacio 1, por lo que obtiene prioridad.
| Visita 1 | Página 1 (1) S:page-level section=opinion |
Página 2 (1) S: session-level login=true |
Página 3 (1) S: session-level converted=true |
|---|
El informe de visitas sería:
Aquí el espacio 1 lo usa primero una variable personalizada de visitante en la visita 1 seguida de una variable personalizada de página en la visita 3. En este orden, la variable de visitante no sobrescribe la variable de página.
| Visita 1 | Página 1 (1) S:visitor-level gender=male |
|---|---|
| Visita 2 |
Página 1 (2) S:session-level converted=false |
| Visita 3 |
Página 1 (1) S:page-level section=opinion |
El informe de visitas sería:
_setCustomVar() cuando se pueda definir antes de una solicitud de evento GIF o página vista._trackPageview() después de definir una variable personalizada. Esto normalmente solo es necesario en aquellas situaciones en la que el usuario activa una variable personalizada de nivel de visita o de sesión, donde no es posible reunir dicho método con una llamada de página vista, evento o seguimiento de comercio electrónico.