AppMeasurement中的s.tl()方法和Analytics扩展自定义代码编辑器

当您要向 Adobe 发送跟踪调用时,请调用 s.tl() 方法。

s.tl([Link object],[Link type],[Link name],[Override variable]);

链接对象(必需)

链接对象参数可确定浏览器在离开页面之前是否需要等待长达 500 毫秒。如果发送图像请求的时间早于 500 毫秒,则页面会立即导航到点击的链接。

NOTE
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函数中。 然后,可以在每个链接的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>
NOTE
间接调用tl()方法可能会降低Activity Map叠加报表的便利性。 必须单击每个链接才能使用链接元素注册函数。 但是,Workspace中的Activity Map维度也受到相同的跟踪。

避免跟踪重复链接

如果已启用 trackDownloadLinkstrackExternalLinks,则在正确的过滤器匹配的情况下,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>
下一页ActivityMap.link

Analytics