javascript - omn​​ature s.tl() 的多重跟踪 onclick 链接,无法弄清楚

标签 javascript adobe-analytics

我正在为 Site Catalyst 使用omnature jasavscript。

其中,我填充了链接单击所需的变量。

但问题是我只需单击一次即可获得多 (2) 次跟踪,这不是理想的行为。在这两个跟踪中,我得到的第一个是旧的,紧接着我得到了第二个最新的跟踪。

看起来它正在使用缓存内存。

UPDATE

我尝试在使用 s.tl('this','e','',null); 之前和之后使用 var s = {}; 重新初始化对象。

但是没有成功

有人可以建议如何纠正它吗?

最佳答案

没有看到任何代码,我只能推测,但我的猜测是额外的命中来自 SiteCatalyst 的自动链接跟踪 - 要么是退出链接,因为目标 URL 未在 linkInternalFilters 中列出,要么是下载链接,因为目标 URL 以 linkDownloadFileTypes 中列出的内容结尾。

鉴于您的 s.tl() 示例的 'e' 参数,我怀疑该链接是退出链接。因此,在这一点上……也许这里的解决方案是搭载自动退出链接跟踪,而不是进行自己的 s.tl() 调用。 Adobe 有一个名为 exitLinkHandler 的插件,可让您在发生自动退出链接跟踪时触发其他变量。

这是插件:

/*
* Plugin: exitLinkHandler 0.5 - identify and report exit links
*/
s.exitLinkHandler=new Function("p",""
+"var s=this,h=s.p_gh(),n='linkInternalFilters',i,t;if(!h||(s.linkTyp"
+"e&&(h||s.linkName)))return '';i=h.indexOf('?');t=s[n];s[n]=p?p:t;h="
+"s.linkLeaveQueryString||i<0?h:h.substring(0,i);if(s.lt(h)=='e')s.li"
+"nkType='e';else h='';s[n]=t;return h;");

在您的 s_doPlugins 函数中,添加以下内容:

s.url = s.exitLinkHandler();
if (s.url) {
  // pop your variables here. Don't forget to pop `linkTrackVars` and `linkTrackEvents`, same as you would have done before
}

现在,这将使您的附加变量在任何触发的退出链接上弹出。如果您希望它仅在某些 URL 匹配或仅在特定匹配上触发,您可以根据您的需要通过多种方式执行此操作:

  • 如果只需要进行一般的子串匹配,可以传递一些 或所有目标 URL 作为第一个参数 s.exitLinkHandler() 它将匹配传递的参数 目标网址。

  • 如果这还不够好,在 if(s.url) 条件下,您可以 针对目标执行您自己的匹配(例如正则表达式匹配) 使用 s.url 的 URL。

  • 如果您需要通过链接的某些 DOM 属性进行定位,请在 条件,s.eo 是对链接的对象引用 单击,这样您就可以围绕它编写自己的条件。

关于javascript - omn​​ature s.tl() 的多重跟踪 onclick 链接,无法弄清楚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17402531/

相关文章:

javascript - 我正在尝试选择一个嵌套的 ul,尝试使用 css 但遇到了问题

javascript - 将值转换为可读的小时数

javascript - 使用事件的轨道链接 - 竞赛条件

javascript - 未定义源必须以 "https://"或 "//"开头

javascript - DTM 中基于事件的规则的 'Conditions' 部分中的自定义脚本

javascript - 在另一个 powerTip 中有一个 jQuery powerTip?

javascript - <div> 的大小应始终保持不变

javascript - 如何使用 Jasmine 对链式方法进行单元测试

javascript - Adobe DTM - Adob​​e 提供的代码如何确定 sCodeURL

adobe-analytics - Omniture/Adobe Analytics 偶尔会双重触发点击事件