我在DTM中遇到了一些非常奇怪的行为。当我们的页面加载(来自网站的本地实例)时,我们会通过正确的开发报告套件获得预期的呼叫。当从该页面进行自定义链接调用时,由于某种原因,DTM会将其与生产报告套件一起发送。如果我在Adobe Analytics中查找在prod RSI下报告的自定义链接名称,它就不会显示在那里。
有关正在发生的事情以及如何解决此问题的任何想法?
答案 0 :(得分:4)
这是我在黑暗中拍摄的,基于你所说的,它是基于你的陈述是真实的假设(例如你没有看到粉红色的大象,请求确实显示你的产品在请求网址的正确部分,您确实在可接受的时间过去之后检查了您的产品,没有细分或其他过滤器恶作剧等等。:简而言之,您确实知道如何准确地执行基本的QA歌曲和舞蹈)。
根据该假设,以下是可以合理地再现您所描述的内容的场景。对于您的具体情况,我可能部分正确或完全关闭,但如果没有访问您的DTM实例,我确实无法确定。
情景
长话短说这听起来好像你已经启用了自定义代码和DTM自动设置的混合,并且DTM覆盖和/或不关心用于链接跟踪的自定义代码。
更具体地说,听起来像你已经将AA作为DTM中的工具实现,并且在配置设置中,您可以在文本字段中指定生产和暂存标识。
然后在常规部分中,您没有为跟踪服务器和跟踪服务器安全指定值,或者它们已设置错误的价值观。
然后,在图书馆管理部分,您已选择"由Adobe管理"在这种情况下,DTM负责图书馆,否则您已选择" Custom"并且您自己添加了库并且不已选中"使用下面的自定义代码设置报表包"。
然后,在DTM中的某个地方(例如图书馆管理>自定义代码框,或自定义网页代码代码框),您有代码可以弹出rsid内容(例如{{ 1}},s.account
,s_account
个东西),还可能还有dynamicAccountList
和trackingServer
。
最后,你(和大多数其他人一样,因为DTM的双重脚本包括for staging vs. prod是......哑)只需在页面上使用prod脚本include,并使用调试/暂存模式或依赖于你设置的路由到dev的任何rsid路由逻辑。
所以......首次加载页面时,DTM会加载AA库,并根据您在工具配置中指定的内容设置变量和内容。在此期间,它还会弹出工具配置中的任何自定义代码块,这些代码块可能会也可能不会覆盖您在工具配置字段中指定的内容,具体取决于您启用的内容。然后,它会弹出页面加载规则中的内容(如果有的话),等等。
但接下来是链接点击..正如我在SO上的其他帖子中提到的,DTM有关于它如何在初始页面加载/ AA请求之后引用AA对象的警告(IMO错误):基本上,它没有&# 39;吨。相反,它使用内部方法(主要是trackingServerSecure
方法)来创建AA对象的新实例,基于您在工具配置部分中配置的任何内容。那么这就是问题。它确实不说明或执行您在工具配置部分的代码框中完成的任何自定义编码。
因此,无论何时触发基于事件或直接的呼叫规则,它都会发生,并且它会有效地阻止您。为什么DTM会这样做?我不知道。 IMO Adobe需要更改此功能 警告错误。他们要么重构DTM来执行代码框,要么他们可以,你知道..只需引用创建的原始AA对象,就像任何普通的脚本一样。
但无论如何......
因此,例如,我的理论是页面加载正常,根据您的设置指向开发人员。但是你点击一个链接和一个事件触发器,DTM使一个新的AA对象不关心你的自定义代码,所以它必须继续是你在工具的配置字段中所拥有的。
由于DTM实际上没有围绕prod与dev开发的任何规则,你在这些字段中指定(你必须在自定义代码框中编写自定义代码 - DTM忽略!),它只是弹出产品rsid,因为你的页面包含了脚本。
然后,只要没有看到数据实际显示在您的产品中:再次,由于DTM忽略您在自定义代码框中设置的内容,它默认为工具中的trackingServer字段中指定的内容配置,我在这里的假设是空白或错误(你应该能够查看adobe的请求网址来验证这一点)。这个理论是因为你说prod rsid是对的,你看到了一个请求。所以下一个罪魁祸首是跟踪服务器指定的错误。
所以,这就是我的理论。也许它没事,也许它是正确的,希望至少可以指出你正确的方向。
修改强>
如果你确定这确实是你设置的方式,那么你自然会问"好的,那我该怎么办?"。正如我在很多其他SO答案中所说的那样..基本上,你唯一的选择是取消选中使DTM自动化AA的所有设置,并且在你的所有规则中,保持AA部分禁用以及你想要设置的AA变量,自己设置它们并在第三方脚本代码框中自己调用.getS()
或s.t()
,以便它继续引用并基于最初实例化的AA对象弹出。
<强>更新强>
根据你在下面的评论,好吧,所以是的..这听起来像我描述的,并说明产品弹出。对于未在报告中显示的数据..所以,如果您确定跟踪服务器设置正确(请求网址看起来不错),那么这不是DTM问题。以下是对数据无法显示原因的其他解释:
s.tl()
/ b / ss / [trackingServer value]
/ 1 ...&#34; 我知道其中很多都是需要检查的基本内容,毫无疑问,您已经检查过,但请再次检查。别人检查你是否确定。我不会在这里质疑你的能力,但即使是最优秀的编码人员也会忘记过他们的时间,并且有时会点缀他们,并设法错过明显的事情。如果您确定所有这些,请联系Adobe ClientCare,因为我真的无法想到任何其他不会涉及Adobe后端问题的内容。
答案 1 :(得分:0)
我的实施遇到了类似的问题。基本上我所做的是直接在doPlugins中设置s.account变量,因此它将在所有跟踪调用上设置。我在这里也写了具体细节:DTM Tracking Account