tl()方法与Activity Map

您可以使用 tl() 方法来跟踪自定义元素并配置动态内容的叠加图呈现。

跟踪自定义元素

通过将 tl() 方法用作 Activity Map AppMeasurement 模块的一部分,您可以跟踪任何经过单击的对象,甚至可以跟踪不属于锚标记或图像元素的对象。使用tl(),可以跟踪不导致页面加载的任何自定义元素。

tl() 方法中,当前用于识别退出链接、自定义链接等内容的 linkName 参数。现在也可用来识别 Activity Map 变量的链接 ID。

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

换句话说,如果使用tl()跟踪自定义元素,则将从作为tl()方法中的第三个参数(Link name)传递的值中提取链接ID。 它并非是从 Activity Map 中用于进行默认跟踪的标准链接跟踪算法中提取。

动态内容的叠加图呈现

从HTML元素的单击事件直接调用tl()方法时,加载网页时,Activity Map可以显示该元素的叠加。 示例:

<a href="javascript:" onclick="s.tl(this,'o','Example custom link');">Example link text</a>

初始页面加载后,无论何时向该页面添加任何网页内容,都是间接调用 tl() 方法,因此我们无法显示新增内容的叠加图,除非明确地激活/单击页面。随后,会通过 Activity Map 触发新的链接收集进程。

如果不是从 HTML 元素的单击事件直接调用 tl() 方法,则只有当用户单击此元素后,Activity Map 才会显示叠加图。下面是间接调用 tl() 方法的示例:

<a href="javascript:" onclick="someFn(event);">Example link text</a>
<script>function someFn (event)
{
  s.tl(event.srcElement,'o','Example custom link');
}
</script>

Activity Map叠加动态内容链接的最佳方法是设置自定义ActivityMap.link函数以调用返回值传递给tl()的相同函数。 例如:

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>

在此,我们覆盖了ActivityMap.link函数,以在调用时执行以下三项操作之一:

  1. 如果传递了linkName,则由tl()调用,因此只需返回作为linkName传递的tl()
  2. 当Activity Map在报告时调用linkName时,不会传递,因此使用链接元素调用makeLinkName()。 这是此处的关键步骤 — makeLinkName(element)调用应与<button>标记中tl()调用的第3个参数相同。 这意味着当调用tl()时,我们将跟踪由makeLinkName()返回的字符串。 当Activity Map报告页面上的链接时,它使用相同的调用来建立链接。
  3. 最终的解决方案是只返回默认 ActivityMap 链接函数的原始返回值。在默认情况下,保持此引用可帮助您只需要覆盖或编写makeLinkName()的自定义代码,而不必为页面上的所有链接提供链接返回值。

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now