Plug-in Adobe : getPreviousValue

IMPORTANT
Ce plug-in est fourni par le service Adobe Consulting afin de vous aider à tirer le meilleur parti d’Adobe Analytics. Le service à la clientèle d’Adobe ne fournit pas d’assistance pour ce plug-in, pas même pour l’installation ou le dépannage. Si vous avez besoin d’aide sur ce plug-in, contactez l’équipe de compte Adobe de votre organisation. Elle peut organiser une réunion avec un consultant ou une consultante pour obtenir de l’aide.

Le plug-in getPreviousValue vous permet de définir une variable sur une valeur déterminée lors d’un précédent accès. Ce plug-in n’est pas nécessaire si votre mise en œuvre contient toutes les valeurs souhaitées dans l’accès actif.

Installation du module externe à l’aide de l’extension SDK Web

Adobe propose une extension qui vous permet d’utiliser les plug-ins les plus couramment utilisés avec le SDK Web.

  1. Connectez-vous à la collecte de données Adobe Experience Platform à l’aide de vos identifiants Adobe ID.

  2. Cliquez sur Balises sur la gauche, puis cliquez sur la propriété de balise de votre choix.

  3. Cliquez sur Extensions sur la gauche, puis cliquez sur le bouton Catalogue tab

  4. Recherchez et installez le Plug-ins SDK Web courants extension .

  5. Cliquez sur Éléments de données sur la gauche, puis cliquez sur l’élément de données souhaité.

  6. Définissez le nom de l’élément de données souhaité avec la configuration suivante :

    • Extension : modules externes SDK Web courants
    • Élément de données : getPreviousValue
  7. Définissez les paramètres de votre choix à droite.

  8. Enregistrez et publiez les modifications sur l’élément de données.

Installation manuelle du plug-in implémentant le SDK Web

Ce module externe n’est pas encore pris en charge pour une utilisation dans une mise en oeuvre manuelle du SDK Web.

Installation du module externe à l’aide de l’extension Adobe Analytics

Adobe propose une extension qui vous permet d’utiliser les plug-ins les plus couramment utilisés avec Adobe Analytics.

  1. Connectez-vous à la collecte de données Adobe Experience Platform à l’aide de vos identifiants Adobe ID.

  2. Cliquez sur la propriété de balise de votre choix.

  3. Accédez à l’onglet Extensions, puis cliquez sur le bouton Catalogue.

  4. Installez et publiez l’extension Plug-ins Analytics communs.

  5. Si ce n’est pas déjà fait, créez une règle intitulée « Initialiser les plug-ins » avec la configuration suivante :

    • Condition : aucune
    • Événement : Core - Bibliothèque chargée (Haut de la page)
  6. Ajoutez une action à la règle ci-dessus avec la configuration suivante :

    • Extension : plug-ins Analytics communs
    • Type d’action : initialisation de getPreviousValue
  7. Enregistrez et publiez les modifications apportées à la règle.

Installation du plug-in à l’aide de l’éditeur de code personnalisé

Si vous ne souhaitez pas utiliser l’extension de plug-in Plugins Analytics communs, vous pouvez utiliser l’éditeur de code personnalisé.

  1. Connectez-vous à la collecte de données Adobe Experience Platform à l’aide de vos identifiants Adobe ID.
  2. Cliquez sur la propriété de votre choix.
  3. Accédez à l’onglet Extensions, puis cliquez sur le bouton Configurer sous l’extension Adobe Analytics.
  4. Développez l’accordéon Configurer le suivi à l’aide d’un code personnalisé, qui affiche le bouton Ouvrir l’éditeur.
  5. Ouvrez l’éditeur de code personnalisé et collez le code de plug-in fourni ci-dessous dans la fenêtre de modification.
  6. Enregistrez et publiez les modifications apportées à l’extension Analytics.

Installation du plug-in à l’aide d’AppMeasurement

Copiez et collez le code suivant n’importe où dans le fichier AppMeasurement après l’instanciation de l’objet de suivi Analytics (à l’aide de s_gi). La conservation des commentaires et des numéros de version du code dans votre mise en œuvre permet à Adobe de résoudre les éventuels problèmes.

/* 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 ********************************************/

Utilisation du plug-in

La fonction getPreviousValue utilise les arguments suivants :

  • v (chaîne, obligatoire) : variable dont la valeur doit être transmise à la demande d’image suivante. Une variable courante utilisée est s.pageName pour obtenir la valeur de la page précédente.
  • c (chaîne, facultatif) : nom du cookie qui stocke la valeur. Si cet argument n’est pas défini, il prend par défaut la valeur "s_gpv".

Lorsque vous appelez cette fonction, elle renvoie la valeur de la chaîne contenue dans le cookie. Le plug-in réinitialise ensuite l’expiration du cookie, et lui attribue la valeur de variable de l’argument v. Le cookie expire après 30 minutes d’inactivité.

Exemples

// 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);

Spécificités peu communes

Si la variable associée à lʼargument v est définie sur une nouvelle valeur et que le plug-in getPreviousValue sʼexécute MAIS quʼun appel au serveur Analytics nʼest PAS envoyé en même temps, la nouvelle valeur de lʼargument v est toujours considérée comme la « valeur précédente » lors de la prochaine exécution du plug-in.
Supposons, par exemple, que le code suivant s’exécute sur la première page de la visite :

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

Ce code génère un appel au serveur dans lequel la valeur de pageName est « Home » et prop7 nʼest pas défini. Cependant, lʼappel à getPreviousValue enregistre la valeur de pageName dans le cookie gpv_Page. Supposons quʼimmédiatement après, sur la même page, le code suivant soit exécuté :

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

Comme la fonction t() ne sʼexécute pas dans ce bloc de code, aucune autre demande dʼimage nʼest envoyée. Cependant, si le code de la fonction getPreviousValue sʼexécute cette fois-ci, prop7 est défini sur la valeur précédente de pageName (« Home »), puis enregistre la nouvelle valeur de pageName (« New value ») dans le cookie gpv_Page. Supposons ensuite que le visiteur accède à une autre page et que le code suivant sʼexécute sur cette page :

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

Lorsque la fonction t() sʼexécute, elle crée une demande dʼimage dans laquelle la valeur de pageName est « Page 2 » et celle de prop7 est « New value », qui était la valeur de pageName lorsque le dernier appel à getPreviousValue a eu lieu. La valeur prop7 de "Home" nʼa jamais été contenue dans une demande dʼimage, même si « Home » était la première valeur transmise à pageName.

Historique des versions

3.0 (19 mars 2021)

  • Ajout du numéro de version comme donnée contextuelle.

v2.0 (7 octobre 2019)

  • Nouvelle version (réécriture complète de la logique).
recommendation-more-help
b4f6d761-4a8b-4322-b801-c85b9e3be690