【问题标题】:Filter Link Tracking issue in Adobe DTMAdobe DTM 中的过滤器链接跟踪问题
【发布时间】:2017-09-11 09:30:28
【问题描述】:

我在网络选项卡中遇到 adobe 图像请求问题,我可以在控制台中正确查看结果,但是在图像请求中我没有看到 Evar55 当前值。 实际上存在错误分析跟踪问题 - Evar55

Evar55 应该捕获用户在搜索结果页面和 PLP 上选择的过滤器的值。

所以现在我已经编写了代码,它在控制台中运行得非常好,我可以看到结果,但是在网络选项卡中,图像请求给出了以前的值,而不是给出了 facet 的当前值。

这里把截图和代码分享给大家,请问是什么问题。

在 DTM 中,我创建了页面加载规则 - 在 DOM 就绪时触发条件 - 然后 adobe Analytics 打开编辑器我已粘贴此代码


代码

var oldXHR = window.XMLHttpRequest;

function newXHR() {
    var realXHR = new oldXHR();
realXHR.addEventListener("readystatechange", function() {
if(realXHR.readyState==4 && realXHR.status==200){
           //run your code here
window.setTimeout(function() {
if(s.pageName && (s.pageName.indexOf('plp:')>-1 || s.pageName.indexOf('search')>-1)){
var PFF = document.getElementsByClassName('selected-categories')[0].innerText;
PFF_Final = PFF.replace(/ /g, '').replace(/:/g, '|');

if(PFF_Final.indexOf('Categories|')>-1 || PFF_Final.indexOf('search|')>-1){
console.log('N/A');
}
else if(PFF_Final && typeof PFF_Final !== 'undefined' && PFF !== 'null' && PFF !== ''){
//PFF_Final = PFF.replace(/ /g, '').replace(/:/g, '|');

   s.linkTrackVars = 'eVar91';
   s.eVar91 =  PFF_Final.trim();
//s.tl(this, 'o');
console.log(PFF_Final);
}

}
},1500);
        }
    }, false);
    return realXHR;
}
window.XMLHttpRequest = newXHR;

注意:-我已将 Evar55 更改为 Evar91,因为 Evar 55 已在使用中。

enter image description here

enter image description here

谢谢, 支付宝

【问题讨论】:

    标签: javascript jquery tags analytics adobe-analytics


    【解决方案1】:

    从表面上看,您发布的代码没有发出请求的直接原因是因为您将 s.tl 调用注释掉了...

    第二,注意:如果您在网络选项卡中过滤图像请求,您几乎肯定不会在那里看到 Adob​​e Analytics (AA) 请求,因为除非您使用的是非常古老的浏览器或关闭了 javascript并使用<img> 标记方法,它将显示为 javascript 请求或 ajax (xhr) 请求(取决于 AA 库的版本和请求的长度)。

    如果您仍然没有看到请求,还有其他一些方法可以尝试。其中一项或多项可能正确/必要,具体取决于您使用的 AA 库版本:

    1) 当您将this 作为第一个参数传递时,它必须是具有href 属性<a href='..'></a> 的有效锚元素。由于这不适用于您发布的代码的上下文,请尝试将第一个参数更改为布尔值true

    2) 向s.tl 调用添加第三个参数。该参数应该是链接点击的描述,例如s.tl(true,'o','some link');可以是你想要的任何东西;这就是 AA 的本机链接报告中显示的内容(您几乎肯定会忽略,而是转而查看 eVar91 报告)。如果您想将其作为点击/交互服务器调用进行跟踪,所有版本的 AA 库都需要此第三个参数。没有它,在更新的 AA 版本中,它将作为页面视图调用触发请求,但在旧版本的 AA 库中,它根本不会触发调用。

    3) 同样,根据您的 AA 库版本,它不会包含高于 eVar75 的任何内容。我不记得引入 eVar76+ 的确切 AA 版本(编辑:看起来像开始 AM1.4。不支持旧 H 代码)。作为快速检查,请尝试使用eVar75 或更低版本来查看它是否显示在请求中。注意:我只是为了完整起见,但我不认为这是您的问题,因为从您的帖子看来,您可能已经尝试过 eVar55 了?但也可以确定。如果是这种情况,我建议更新到最新的 AppMeasurement 库。如果由于某种原因您无法做到这一点,并且仍然需要使用eVar91,那么另一种方法是将其作为contextData 变量弹出,例如s.contextData['eVar91']='foo';,然后在 AA 接口内的处理规则中将其映射到真实的 eVar91。如果您的 AA 库足够老,以至于即使 contextData 变量也不起作用(H23.2 或更低版本).. 那么我建议您将升级到更新版本的 AA 库作为您生活中的最高优先级..

    如果在所有这些之后您仍然没有看到 AA 调用,只需在 js 控制台中输入s.t(true,'o','foo');。你看到一个http请求了吗?如果您没有看到请求,那么您有一些与发布的代码没有直接关系的更深层次的问题。可能您的 AA 库不存在,或者它在触发之前没有加载,或者位于与默认 s 命名空间不同的命名空间下。但是在这里写很多随机猜测而不是查看站点并不是真的可行。

    如果您确实看到了请求,那么我目前最好的猜测是您遇到了时间问题。也许有一个页面(重新)加载发生并且它没有机会触发?但同样,在一个看不见的网站上进行推测并不是很可行。

    【讨论】:

    • 嗨@Crayon,我做了同样的事情,但我仍然没有在网络选项卡中看到结果。
    • 嗨@crayon。你能帮我解决那个过滤器链接问题吗..这非常关键。实际上我以一种新的方式发布了正确的方式。这与我的代码无关。所以我将删除这个..请回复我今天的过滤链接问题。我无法映射 evar。
    • @PayalDaryani 如果这很重要,那么也许您应该考虑聘请某人为您做这件事?
    • 嗨@crayon,但为此道歉,我不是那个意思。关键可能是我选择的错误词。再次道歉。但我真的需要你的。
    猜你喜欢
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-21
    相关资源
    最近更新 更多