AppMeasurement中的s.tl()方法和Analytics扩展自定义代码编辑器
当您要向 Adobe 发送跟踪调用时,请调用 s.tl()
方法。
s.tl([Link object],[Link type],[Link name],[Override variable]);
链接对象(必需)
链接对象参数可确定浏览器在离开页面之前是否需要等待长达 500 毫秒。如果发送图像请求的时间早于 500 毫秒,则页面会立即导航到点击的链接。
useBeacon
变量,这使得现代浏览器不再需要此参数。此参数在 AppMeasurement 的早期版本中比较常用。this
:最长等待 500 毫秒,以便给 AppMeasurement 一些时间来发送图像请求。默认值。true
:不等待。
// Include a 500ms delay with an exit link
s.tl(this,"e","Example exit link");
// Do not include a 500ms delay with an exit link
s.tl(true,"e","Example exit link");
链接类型(必需)
链接类型参数是一个单字母字符串,可确定链接跟踪调用的类型。具有三个有效值。
// Send a custom link
s.tl(true,"o","Example custom link");
// Send a download link
s.tl(true,"d","Example download link");
// Send an exit link
s.tl(true,"e","Example exit link");
// When using the Download link dimension, this method call increases the occurrences metric for "Sea turtle PDF report" by 1.
s.tl(true,"d","Sea turtle PDF report");
变量覆盖(可选)
允许您更改单次调用的变量值。有关更多信息,请参阅变量覆盖。
var y = new Object();
y.eVar1 = "Override value";
y.linkTrackVars = "eVar1";
s.tl(true,"o","Example custom link",y);
示例和用例
直接在 HTML 链接中发送基本链接跟踪调用:
<a href="example.html" onClick="s.tl(true,'o','Example link');">Click here</a>
使用 JavaScript 通过方法参数进行基本链接跟踪调用:
s.tl(true,"o","Example link");
在自定义函数中进行链接跟踪调用
您可以将链接跟踪代码合并到一个独立的JavaScript函数中。 然后,可以在每个链接的onClick
函数中进行调用。 在 JavaScript 文件中设置以下内容:
function trackClickInteraction(name){
s.linkTrackVars = "eVar1,eVar2";
s.eVar1 = name;
s.eVar2 = s.pageName;
s.tl(true,"o",name);
}
然后,您可以在需要跟踪给定链接时调用该函数:
<!-- Use wherever you want to track links -->
<a href="example.html" onClick="trackClickInteraction('Example link');">Click here</a>
tl()
方法可能会降低Activity Map叠加报表的便利性。 必须单击每个链接才能使用链接元素注册函数。 但是,Workspace中的Activity Map维度也受到相同的跟踪。避免跟踪重复链接
如果已启用 trackDownloadLinks
或 trackExternalLinks
,则在正确的过滤器匹配的情况下,AppMeasurement 会自动进行链接跟踪调用。如果您还为这些链接点击手动调用 s.tl()
,则可以向 Adobe 发送重复数据。重复数据会虚增报表数量,使其不太准确。
例如,以下函数将为同一链接点击(手动和自动下载链接)发送两个链接跟踪调用:
function trackDownload(obj) {
s.tl(obj,"d","Example PDF download");
}
您可以使用以下修改的函数防止出现重复的链接跟踪调用。它首先会检查链接对象是否存在,并且仅在链接对象为空字符串时才发送手动链接跟踪调用。
function linkCode(obj) {
var lt = obj.href != null ? s.lt(obj.href) : "";
if (lt=="") {
s.tl(obj,"d","Example PDF download");
}
}
将tl()
方法用于Activity Map
您可以使用tl()
方法来跟踪自定义元素并配置动态内容的叠加图呈现。 linkName
参数还用于设置Activity Map链接维度。
如果从HTML元素的单击事件直接调用tl()
方法,则Activity Map可以在加载网页时显示该元素的叠加图。 例如:
<a href="index.html" onclick="s.tl(this,'o','Example custom link');">Example link text</a>
如果不是从HTML元素的单击事件直接调用tl()
方法,则Activity Map只能在单击该元素后显示叠加。 例如:
<a href="index.html" onclick="someFn(event);">Example link text</a>
<script>
function someFn (event) {
s.tl(event.srcElement,'o','Example custom link');
}
</script>