tl()
方法是 Adobe Analytics 的一个重要核心组件。它将获取页面上定义的所有 Analytics 变量,将其编译为图像请求,并将该数据发送到 Adobe 数据收集服务器。它的工作方式与 t()
方法类似,但此方法不会增加页面查看次数。它对于跟踪链接和其他不会被视为完整页面加载的元素很有用。
如果已启用 trackDownloadLinks
或 trackExternalLinks
,AppMeasurement 会自动调用 tl()
方法来发送下载链接和退出链接跟踪数据。如果贵组织希望对要跟踪的链接及其行为增强控制,则可以手动调用 tl()
方法。只能手动跟踪自定义链接。
Web SDK不区分页面查看调用和链接跟踪调用;二者均使用 sendEvent
命令。 如果您希望Adobe Analytics将给定的XDM事件计为链接跟踪调用,请确保XDM数据包含或已映射到 web.webInteraction.name
, web.webInteraction.URL
和 web.webInteraction.type
.
web.webInteraction.name
.web.webInteraction.URL
.web.webInteraction.type
. 有效值包括 other
(自定义链接)、download
(下载链接)和 exit
(退出链接)。alloy("sendEvent", {
"xdm": {
"web": {
"webInteraction": {
"name": "My Custom Link",
"URL": "https://example.com",
"type": "other"
}
}
}
});
Adobe Analytics扩展有一个专用位置来设置链接跟踪调用。
s.tl()
单选按钮。不能在Analytics扩展中设置任何可选参数。
当您要向 Adobe 发送跟踪调用时,请调用 s.tl()
方法。
s.tl([Link object],[Link type],[Link name],[Override variable]);
链接对象参数可确定浏览器在离开页面之前是否需要等待长达 500 毫秒。如果发送图像请求的时间早于 500 毫秒,则页面会立即导航到点击的链接。
AppMeasurement 会自动为退出链接启用 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");
链接名称参数是一个可确定链接跟踪维度项目的字符串。当在报告中使用自定义链接、下载链接或退出链接维度时,此字符串中包含维度项目。如果未设置此参数,则使用 linkURL 变量。
// 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 文件中定义的独立 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>
如果已启用 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");
}
}