Complemento de Adobe: getPreviousValue

IMPORTANTE

Adobe Consulting proporciona este complemento por cortesía para ayudarle a sacar el máximo partido a Adobe Analytics. El Servicio de atención al cliente de Adobe no ofrece asistencia técnica con este complemento, incluida la instalación o solución de problemas. Si necesita ayuda con este complemento, póngase en contacto con el administrador de cuentas de su organización. Ellos podrán organizar una reunión con un consultor para ayudarle.

El complemento getPreviousValue le permite establecer una variable en un valor establecido en una visita anterior. Este complemento no es necesario si la implementación contiene todos los valores deseados en la visita actual.

Instalación del complemento con etiquetas en Adobe Experience Platform

Adobe ofrece una extensión que le permite disfrutar de los complementos más utilizados.

  1. Inicie sesión en la IU de recopilación de datos con sus credenciales de Adobe ID.
  2. Haga clic en la propiedad deseada.
  3. Vaya a la pestaña Extensiones y, a continuación, haga clic en el botón Catálogo.
  4. Instalación y publicación de la extensión Common Analytics Plugins.
  5. Si aún no lo ha hecho, cree una regla con la etiqueta “Inicializar complementos” con la siguiente configuración:
    • Condición: Ninguna
    • Evento: Core – Biblioteca cargada (Principio de página)
  6. Añada una acción a la regla anterior con la siguiente configuración:
    • Extensión: Common Analytics Plugins
    • Tipo de acción: Inicializar getPreviousValue
  7. Guarde y publique los cambios en la regla.

Instalación del complemento con el editor de código personalizado de

Si no desea utilizar la extensión del complemento, puede utilizar el editor de código personalizado.

  1. Inicie sesión en la IU de recopilación de datos con sus credenciales de Adobe ID.
  2. Haga clic en la propiedad deseada.
  3. Vaya a la pestaña Extensiones y, a continuación, haga clic en el botón Configurar en la extensión de Adobe Analytics.
  4. Expanda Configurar seguimiento con el código personalizado, que muestra el botón Abrir editor.
  5. Abra el editor de código personalizado y pegue el código del complemento que se proporciona a continuación en la ventana de edición.
  6. Guarde y publique los cambios en la extensión de Analytics.

Instalación del complemento con AppMeasurement

Copie y pegue el siguiente código en cualquier parte del archivo AppMeasurement después de crear una instancia del objeto de seguimiento de Analytics (con s_gi). Conservar los comentarios y los números de versión del código en la implementación ayuda a Adobe a solucionar cualquier posible problema.

/* Adobe Consulting Plugin: getPreviousValue v3.0 */
function getPreviousValue(v,c){var k=v,d=c;if("-v"===k)return{plugin:"getPreviousValue",version:"3.0"};var a=function(){if("undefined"!==typeof window.s_c_il)for(var c=0,b;c<window.s_c_il.length;c++)if(b=window.s_c_il[c],b._c&&"s_c"===b._c)return b}();"undefined"!==typeof a&&(a.contextData.getPreviousValue="3.0");window.cookieWrite=window.cookieWrite||function(c,b,f){if("string"===typeof c){var h=window.location.hostname,a=window.location.hostname.split(".").length-1;if(h&&!/^[0-9.]+$/.test(h)){a=2<a?a:2;var e=h.lastIndexOf(".");if(0<=e){for(;0<=e&&1<a;)e=h.lastIndexOf(".",e-1),a--;e=0<e?h.substring(e):h}}g=e;b="undefined"!==typeof b?""+b:"";if(f||""===b)if(""===b&&(f=-60),"number"===typeof f){var d=new Date;d.setTime(d.getTime()+6E4*f)}else d=f;return c&&(document.cookie=encodeURIComponent(c)+"="+encodeURIComponent(b)+"; path=/;"+(f?" expires="+d.toUTCString()+";":"")+(g?" domain="+g+";":""),"undefined"!==typeof cookieRead)?cookieRead(c)===b:!1}};window.cookieRead=window.cookieRead||function(c){if("string"===typeof c)c=encodeURIComponent(c);else return"";var b=" "+document.cookie,a=b.indexOf(" "+c+"="),d=0>a?a:b.indexOf(";",a);return(c=0>a?"":decodeURIComponent(b.substring(a+2+c.length,0>d?b.length:d)))?c:""};var l;d=d||"s_gpv";a=new Date;a.setTime(a.getTime()+18E5);window.cookieRead(d)&&(l=window.cookieRead(d));k?window.cookieWrite(d,k,a):window.cookieWrite(d,l,a);return l};
/******************************************** END CODE TO DEPLOY ********************************************/

Uso del complemento

La función getPreviousValue utiliza los siguientes argumentos:

  • v (cadena, obligatorio): La variable que tiene el valor que desea pasar a la siguiente solicitud de imagen. Una variable común es s.pageName y se utiliza para recuperar el valor de la página anterior.
  • c (cadena, opcional): El nombre de la cookie que almacena el valor. Si no se establece este argumento, el valor predeterminado es "s_gpv".

Cuando llama a esta función, devuelve el valor de cadena contenido en la cookie. A continuación, el complemento restablece la caducidad de la cookie y le asigna el valor de variable del argumento v. La cookie caduca tras 30 minutos de inactividad.

Ejemplos

// 1. Sets prop7 to the cookie value contained in gpv_Page
// 2. Resets the gpv_Page cookie value to the page variable
// 3. If the page variable is not set, reset the gpv_Page cookie expiration
s.prop7 = getPreviousValue(s.pageName,"gpv_Page");

// Sets prop7 to the cookie value contained in gpv_Page, but only if event1 is in the events variable.
if(inList(s.events,"event1")) s.prop7 = getPreviousValue(s.pageName,"gpv_Page");

// Sets prop7 to the cookie value contained in gpv_Page, but only if the page variable is currently set on the page
if(s.pageName) s.prop7 = getPreviousValue(s.pageName,"gpv_Page");

// Sets eVar10 equal to the cookie value contained in s_gpv, then sets the s_gpv cookie to the current value of eVar1.
s.eVar10 = getPreviousValue(s.eVar1);

Particularidades improbables

Si la variable asociada con el argumento v se establece en un nuevo valor y se ejecuta el complemento getPreviousValue PERO NO se envía una llamada al servidor de Analytics al mismo tiempo, el nuevo valor del argumento v se seguirá considerando el "valor anterior" la próxima vez que se ejecute el complemento.
Por ejemplo, supongamos que el siguiente código se ejecuta en la primera página de la visita:

s.pageName = "Home";
s.prop7 = getPreviousValue(s.pageName,"gpv_Page");
s.t();

Este código produce una llamada al servidor donde pageName es "Home" y prop7 no está configurado. Sin embargo, la llamada a getPreviousValue almacena el valor de pageName en la cookie gpv_Page. Supongamos que inmediatamente después, en la misma página, se ejecuta el siguiente código:

s.pageName = "New value";
s.prop7 = getPreviousValue(s.pageName,"gpv_Page");

Dado que la función t() no se ejecuta en este bloque de código, no se envía otra solicitud de imagen. Sin embargo, cuando el código de la función getPreviousValue se ejecuta esta vez, prop7 se establece en el valor anterior de pageName ("Home") y, a continuación, almacena el nuevo valor de pageName ("New value") en la cookie gpv_Page. A continuación, supongamos que el visitante navega a una página diferente y se ejecuta el siguiente código en esta página:

s.pageName = "Page 2";
s.prop7 = getPreviousValue(s.pageName,"gpv_Page");
s.t();

Cuando se ejecuta la función t(), crea una solicitud de imagen donde pageName es “Página 2” y prop7 es “Nuevo valor”, que era el valor de pageName cuando se realizó la última llamada a getPreviousValue. El valor prop7 de "Home" nunca se incluyó en una solicitud de imagen, aunque “Home” fuera el primer valor pasado a pageName.

Historial de versiones

3.0 (19 de marzo de 2021)

  • Se ha añadido el número de versión como datos de contexto.

v2.0 (7 de octubre de 2019)

  • Versión puntual (reescritura lógica completa).

En esta página