tl()
méthode avec Activity MapVous pouvez utiliser la méthode tl()
pour suivre des éléments personnalisés et configurer le rendu des superpositions pour le contenu dynamique.
L’utilisation de la tl()
méthode au sein du module Activity Map d’AppMeasurement vous permet de suivre les objets sur lesquels l’utilisateur clique, notamment ceux qui ne sont pas des balises d’ancrage ou des éléments d’image. Utilisation tl()
, vous pouvez effectuer le suivi des éléments personnalisés qui ne génèrent pas de chargement de page.
Dans la méthode tl()
, le paramètre linkName
actuellement utilisé pour identifier les liens de sortie, les liens personnalisés, etc. est désormais utilisé pour identifier l’ID de lien pour la variable d’Activity Map.
s.tl([Link object],[Link type],[Link name],[Override variable]);
En d’autres termes, si vous utilisez tl()
pour effectuer le suivi de vos éléments personnalisés, l’ID de lien est extrait de la valeur transmise comme troisième paramètre (nom du lien) dans la variable tl()
. Il n’est pas extrait de l’algorithme de suivi des liens standard utilisé pour le suivi par défaut dans Activity Map.
Lorsque la variable tl()
est appelée directement à partir de l’événement "onclick" de l’élément de HTML, Activity Map peut afficher une superposition pour cet élément lorsque la page web est chargée. Exemple :
<a href="javascript:" onclick="s.tl(this,'o','Example custom link');">Example link text</a>
À chaque fois que le contenu d’une page web est ajouté à la page après le chargement initial de celle-ci, la méthode tl()
est appelée indirectement et nous ne pouvons pas afficher de superpositions pour ce nouveau contenu, à moins qu’il ne soit expressément activé/visité. Un nouveau processus de collecte des liens est ensuite déclenché depuis Activity Map.
Lorsque la méthode tl()
n’est pas appelée directement à partir de l’événement « onclick » de l’élément HTML, Activity Map peut uniquement afficher une superposition après que l’utilisateur a cliqué sur l’élément. Voici un exemple dans lequel la méthode tl()
est appelée indirectement :
<a href="javascript:" onclick="someFn(event);">Example link text</a>
<script>function someFn (event)
{
s.tl(event.srcElement,'o','Example custom link');
}
</script>
Le meilleur moyen pour un Activity Map de superposer des liens de contenu dynamique consiste à définir une ActivityMap.link
configurée pour appeler la même fonction que celle dont la valeur renvoyée est transmise à tl()
. Par exemple :
var originalLinkFunction = s.ActivityMap.link;
s.ActivityMap.link = function(element,linkName)
{
// if this is a s.tl call, just return string passed
return linkName ||
// this is ActivityMap reporting time
makeLinkName(element) ||
// our custom function didn't return anything, so just return the default ActivityMap Link
originalLinkFunction(element,linkName);
};
<button type="button" onclick="s.tl(this,'o',makeLinkName(this)">Add To Cart</button>
Ici, nous avons remplacé le ActivityMap.link
pour effectuer l’une des trois opérations suivantes lorsqu’elle est appelée :
linkName
est transmis, puis il a été appelé par tl()
, alors renvoyez simplement ce qui suit : tl()
transmis en tant que linkName
.linkName
n’est jamais transmis, et l’appel makeLinkName()
avec l’élément link . C'est là une étape cruciale : makeLinkName(element)
doit être identique à l’appel tl()
3e argument de l’appel dans la variable <button>
balise . Cela signifie que lorsque tl()
est appelée, nous suivons la chaîne renvoyée par makeLinkName()
. Lorsque Activity Map crée des rapports sur les liens de la page, il utilise le même appel pour créer un lien.makeLinkName()
et ne pas avoir à fournir une valeur de retour de lien pour tous les liens de la page.