Plug-in Adobe : getTimeToComplete
Le plug-in getTimeToComplete
permet d’effectuer le suivi du temps nécessaire à un utilisateur pour terminer un processus sur un site. Le « compte à rebours » commence au moment de l’appel de l’action start
et se termine lorsque l’action stop
est appelée. Adobe recommande d’utiliser ce plug-in s’il existe un workflow sur le site qui dure longtemps et que vous souhaitez connaître le temps nécessaire aux visiteurs pour le terminer. Il n’est pas nécessaire d’utiliser ce plug-in si le workflow sur le site ne dure pas longtemps (moins de 3 secondes), car la granularité est réduite à la seconde complète.
Installation du module externe à l’aide du SDK Web ou de l’extension SDK Web
Ce module externe n’est pas encore pris en charge pour une utilisation dans le 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.
-
Connectez-vous à la collecte de données Adobe Experience Platform à l’aide de vos identifiants Adobe ID.
-
Cliquez sur la propriété de balise de votre choix.
-
Accédez à l’onglet Extensions, puis cliquez sur le bouton Catalogue.
-
Installez et publiez l’extension Plug-ins Analytics communs.
-
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)
-
Ajoutez une action à la règle ci-dessus avec la configuration suivante :
- Extension : plug-ins Analytics communs
- Type d’action : initialisation de getTimeToComplete
-
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é.
- Connectez-vous à la collecte de données Adobe Experience Platform à l’aide de vos identifiants Adobe ID.
- Cliquez sur la propriété de votre choix.
- Accédez à l’onglet Extensions, puis cliquez sur le bouton Configurer sous l’extension Adobe Analytics.
- Développez l’accordéon Configurer le suivi à l’aide d’un code personnalisé, qui affiche le bouton Ouvrir l’éditeur.
- Ouvrez l’éditeur de code personnalisé et collez le code de plug-in fourni ci-dessous dans la fenêtre de modification.
- 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.
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getTimeToComplete v4.0 */
function getTimeToComplete(sos,cn,exp,tp){var f=sos,m=cn,l=exp,e=tp;if("-v"===f)return{plugin:"getTimeToComplete",version:"4.0"};var k=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 k&&(k.contextData.getTimeToComplete="4.0");window.formatTime=window.formatTime||function(c,b,d){function e(b,d,c,e){if("string"!==typeof d)return!1;if("string"===typeof b)b=b.split(c||",");else if("object"!==typeof b)return!1;c=0;for(a=b.length;c<a;c++)if(1==e&&d===b[c]||d.toLowerCase()===b[c].toLowerCase())return!0;return!1}if(!("undefined"===typeof c||isNaN(c)||0>Number(c))){var h="";"string"===typeof b&&"d"===b||("string"!==typeof b\||!e("h,m,s",b))&&86400<=c?(b=86400,h="days",d=isNaN(d)?1:b/(d*b)):"string"===typeof b&&"h"===b||("string"!==typeof b||!e("m,s",b))&&3600<=c?(b=3600,h="hours",d=isNaN(d)?4:b/(d*b)):"string"===typeof b&&"m"===b||("string"!==typeof b||!e("s",b))&&60<=c?(b=60,h="minutes",d=isNaN(d)?2:b/(d*b)):(b=1,h="seconds",d=isNaN(d)?.2:b/d);h=Math.round(c*d/b)/d+" "+h;0===h.indexOf("1 ")&&(h=h.substring(0,h.length-1));return h}};window.cookieWrite=window.cookieWrite||function(c,b,d){if("string"===typeof c){var e=window.location.hostname,h=window.location.hostname.split(".").length-1;if(e&&!/^[0-9.]+$/.test(e)){h=2<h?h:2;var f=e.lastIndexOf(".");if(0<=f){for(;0<=f&&1<h;)f=e.lastIndexOf(".",f-1),h--;f=0<f?e.substring(f):e}}g=f;b="undefined"!==typeof b?""+b:"";if(d||""===b)if(""===b&&(d=-60),"number"===typeof d){var k=new Date;k.setTime(k.getTime()+6E4*d)}else k=d;return c&&(document.cookie=encodeURIComponent(c)+"="+encodeURIComponent(b)+"; path=/;"+(d?" expires="+k.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,d=b.indexOf(" "+c+"="),e=0>d?d:b.indexOf(";",d);return(c=0>d?"":decodeURIComponent(b.substring(d+2+c.length,0>e?b.length:e)))?c:""};f=f?f.toLowerCase():"start";if("stop"===f||"start"===f){m=m?m:"s_gttc";e?e="d"===e?864E5:"h"===e?36E5:"s"===e?1E3:6E4:(l=30,e=6E4);l=isNaN(l)?30:l;l*=e;k=cookieRead(m);e=new Date;if("stop"===f&&k)return l=Math.round((e.getTime()-k)/1E3),cookieWrite(m,"",0),formatTime(l);"start"!==f||k?k&&Number(k)<e.getTime()+18E5&&cookieWrite(m,k,30):(f=String(e.getTime()),e.setTime(e.getTime()+l),cookieWrite(m,f,e))}};
/******************************************** END CODE TO DEPLOY ********************************************/
Utilisation du plug-in
La fonction getTimeToComplete
utilise les arguments suivants :
sos
(facultatif, chaîne) : définissez sur"start"
le moment où vous souhaitez démarrer le minuteur. Définissez sur"stop"
le moment où vous souhaitez arrêter le minuteur. La valeur par défaut est"start"
.cn
(facultatif, chaîne) : nom du cookie permettant de mémoriser l’heure de début. La valeur par défaut est"s_gttc"
.exp
(facultatif, entier) : nombre de secondes, heures ou jours (selon l’argument de répartition du tempstp
) avant l’expiration du cookie (et du minuteur). La valeur par défaut est 30 minutes.tp
(facultatif, chaîne) : chaîne de répartition du temps à laquelle le cookie (et le minuteur) arrive à expiration, utilisée avec l’argumentexp
. Utilisez la définition suivante : « j » pour les jours, « h » pour les heures ou « s » pour les secondes. Sans définition, la valeur par défaut de l’expiration du cookie (et du minuteur) est de 30 minutes, quelle que soit la valeur de l’argumentexp
.
Lʼappel de cette fonction renvoie une chaîne qui contient le nombre de jours, dʼheures, de minutes et/ou de secondes écoulés entre les actions "start"
et "stop"
.
Exemples
// Start the timer when the visitor starts the checkout
if(s.events.indexOf("scCheckout") > -1) getTimeToComplete("start");
// Stop the timer when the visitor makes the purchase and set prop1 to the time difference between stop and start
// Sets prop1 to the amount of time it took to complete the purchase process
if(s.events.indexOf("purchase") > -1) s.prop1 = getTimeToComplete("stop");
// Simultaneously track the time it takes to complete a purchase and to fill out a registration form
// Stores each timer in their own respective cookies so they run independently
if(inList(s.events, "scCheckout")) getTimeToComplete("start", "gttcpurchase");
if(inList(s.events, "purchase")) s.prop1 = getTimeToComplete("start", "gttcpurchase");
if(inList(s.events, "event1")) getTimeToComplete("start", "gttcregister", 7, "d");
if(inList(s.events, "event2")) s.prop2 = getTimeToComplete("stop", "gttcregister", 7, "d");
Historique des versions
4.0 (19 mars 2021)
- Ajout du numéro de version comme donnée contextuelle.
3.1 (30 septembre 2019)
- Ajout d’une logique qui requiert une valeur « start » ou « stop » dans le premier argument. Toutes les autres valeurs transmises empêchent l’exécution du plug-in.
- Mise à jour du plug-in
inList 2.0
versinList 2.1
.
3.0 (23 août 2018)
- Mise à jour du plug-in
formatTime v1.0
versformatTime v1.1
.
3.0 (17 avril 2018)
- Nouvelle version (recompilé, taille de code réduite).
- Correction de bogues mineurs.
2.0 (21 juin 2016)
- Suppression de la dépendance à l’égard du plug-in
p_fo
. - Compatibilité avec le code H et AppMeasurement.
- Ajout de la journalisation de la console.