tl()
-Methode mit Activity MapMit der tl()
-Methode können Sie benutzerdefinierte Elemente verfolgen und Überlagerungsrendering für dynamischen Inhalte konfigurieren.
Durch Verwendung der tl()
-Methode als Bestandteil des Activity Map-Moduls AppMeasurement können Sie alle Objekte verfolgen, auf die geklickt wird, selbst Objekte, die keine Anker-Tags oder Bildelemente sind. Verwenden tl()
können Sie alle benutzerdefinierten Elemente verfolgen, die nicht zum Laden der Seite führen.
In der tl()
-Methode wird der Parameter linkName
, der aktuell zum Identifizieren der Exitlinks, benutzerdefinierten Links usw. dient, jetzt auch zum Identifizieren der Link-ID für die Activity Map-Variable verwendet.
s.tl([Link object],[Link type],[Link name],[Override variable]);
Mit anderen Worten, wenn Sie tl()
um Ihre benutzerdefinierten Elemente zu verfolgen, wird die Link-ID aus dem Wert abgerufen, der als dritter Parameter (Linkname) in der tl()
-Methode. Sie wird nicht dem Standard-Linktracking-Algorithmus entnommen, der zur Standardverfolgung in Activity Map verwendet wird.
Wenn die tl()
-Methode direkt vom on-click-Ereignis des HTML-Elements aufgerufen wird, kann Activity Map beim Laden der Webseite eine Überlagerung für dieses Element anzeigen. Beispiel:
<a href="javascript:" onclick="s.tl(this,'o','Example custom link');">Example link text</a>
Wenn der Webseite nach dem ersten Laden Inhalt hinzugefügt wird, so wird die tl()
-Methode indirekt aufgerufen und es können keine Überlagerungen für diesen neuen Inhalt angezeigt werden, es sei denn, er wird explizit aktiviert oder angeklickt. Dann wird ein neuer Link-Erfassungsprozess von Activity Map ausgelöst.
Wenn die tl()
-Methode nicht direkt vom onclick-Ereignis eines HTML-Elements aufgerufen wird, kann Activity Map die Überlagerung erst anzeigen, nachdem der Benutzer auf dieses Element geklickt hat. Im folgenden Beispiel wird die tl()
-Methode indirekt aufgerufen:
<a href="javascript:" onclick="someFn(event);">Example link text</a>
<script>function someFn (event)
{
s.tl(event.srcElement,'o','Example custom link');
}
</script>
Die beste Möglichkeit für Activity Map, dynamische Inhaltslinks zu überlagern, besteht darin, eine benutzerdefinierte ActivityMap.link
-Funktion zum Aufrufen derselben Funktion einrichten, deren Rückgabewert an übergeben wird tl()
. Beispiel:
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>
Hier haben wir die ActivityMap.link
-Funktion verwenden, um eine der drei folgenden Aktionen auszuführen, wenn aufgerufen wird:
linkName
übergeben wird, wurde dies von tl()
, also geben Sie einfach zurück, was tl()
übergeben als linkName
.linkName
wird nie weitergegeben, weshalb aufgerufen wird makeLinkName()
mit dem Link-Element. Dies ist der entscheidende Schritt hier - die makeLinkName(element)
-Aufruf sollte mit dem tl()
Drittes Argument des -Aufrufs im <button>
-Tag. Das bedeutet, dass tl()
aufgerufen wird, verfolgen wir die von makeLinkName()
. Wenn Activity Map über die Links auf der Seite berichtet, verwendet es denselben Aufruf, um einen Link zu erstellen.makeLinkName()
und nicht einen Link-Rückgabewert für alle Links auf der Seite erstellen müssen.