Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查看将DOM值拉入自定义脚本Adobe DTM数据元素的示例逻辑_Javascript_Adobe_Adobe Analytics - Fatal编程技术网

Javascript 查看将DOM值拉入自定义脚本Adobe DTM数据元素的示例逻辑

Javascript 查看将DOM值拉入自定义脚本Adobe DTM数据元素的示例逻辑,javascript,adobe,adobe-analytics,Javascript,Adobe,Adobe Analytics,实际问题: 有没有人有关于如何将DOM元素的值拉入自定义脚本数据元素的基本示例逻辑 背景: 我试图在Adobe Dynamic Tag Management DTM中构建一些自定义数据元素。我想在元素中捕获面包屑的特定部分-例如,给定面包屑路径主页>>类别1>>类别4>>第1页,我希望X=类别1,Y=类别4,Z=第1页 不幸的是,面包屑中的锚不使用一致的标识符,所以我需要条件逻辑来选择它们。示例:当我在Category 1登录页上时,Category元素的ID为Current,但在其他情况下,它

实际问题:

有没有人有关于如何将DOM元素的值拉入自定义脚本数据元素的基本示例逻辑

背景:

我试图在Adobe Dynamic Tag Management DTM中构建一些自定义数据元素。我想在元素中捕获面包屑的特定部分-例如,给定面包屑路径主页>>类别1>>类别4>>第1页,我希望X=类别1,Y=类别4,Z=第1页

不幸的是,面包屑中的锚不使用一致的标识符,所以我需要条件逻辑来选择它们。示例:当我在Category 1登录页上时,Category元素的ID为Current,但在其他情况下,它的ID为L1Link-因此我需要以下逻辑:

if(#L1Link exists)
   X = #L1Link
else
   X = #Current
不幸的是,我不知道如何在自定义函数中选择DOM元素。我不认为_satellite.$data是我想要的我不想要数据,我只想要超链接的文本。我尝试使用cssQuery,但实际上我没有回调来传递任何内容,与文档相反,如果我没有回调,它似乎会感到非常不安。

转到规则>数据元素,并使用以下内容创建数据元素:

var x = document.getElementById('L1Link')||document.getElementById('Current');
if (x) return x.innerText||x.textContent;
else return '';
名称:1类

类型:自定义脚本

然后单击“打开编辑器”并添加以下内容:

var x = document.getElementById('L1Link')||document.getElementById('Current');
if (x) return x.innerText||x.textContent;
else return '';
这将首先查找L1Link,如果没有,将查找当前链接。如果找到,它将返回链接的文本

根据您的帖子,将记住此值设置为Pageview

保存更改

接下来,导航到

规则>页面加载规则

如果您还没有设置为每次页面加载时弹出的常规页面加载规则设置,请创建一个,并将其命名为类似于每个页面的名称

在条件>条件中,从下拉列表中选择数据:自定义,然后单击添加条件

然后在自定义文本区域中添加以下内容:

return _satellite.getVar('category_1')||true;
此条件将显式调用数据元素以确保其被调用,因为DTM是moody的,有时可能不会计算数据元素。它返回true以确保条件始终返回true,这样该条件就不会导致规则无法执行

然后在规则的Adobe Analytics部分中,选择要设置的任何评估和/或道具,例如prop1并设置为%category_1%

保存规则

您将希望对每个要创建数据元素以弹出Adobe Analytics变量的项目重复此过程,尽管您只需要一条规则和一个条件。条件代码为:

_satellite.getVar('category_1');
_satellite.getVar('category_2');
//etc..
return true;

注意:DTM对执行顺序和加载/定时有一些警告。这在一定程度上是由于异步加载的性质,但Adobe也承认了一个问题,请参见我的第2期。基本上,您可能需要在页面加载规则的设置中使用触发器规则,而不是在Adobe Analytics Tool General config部分的下拉列表中设置加载Adobe Analytics页面代码,希望一切顺利。我在我的帖子中设置了一个测试页面来验证所有这一切,我在其中选择的任何一个页面都能正常工作,但是我的测试页面上除了DTM页面代码和一个链接之外几乎什么都没有

这篇帖子很有趣,你的解释总是非常清楚@crayon。顺便说一句,您知道如何在第三方标记HTML上非顺序地将数据元素调用到脚本中吗?我正在努力,老实说,我想念你

当使用Java脚本非顺序时,我可以获取数据元素,但我的目的是将数据元素值传递到图像像素中,如:

<img src="//t.qservz.com/tr.aspx?campaign=169779d3852b32ce8b1a1724dbf5217d&type=ppl&retmode=4&orderid=[[orderid]]&totalprice=[[totalprice]]&level=**ValueDataElement**&redirect_url=[[URL]]" border="0" width="1" height="1"><img style="border: 0;" width="1" height="1" src="https://tags.qservz.com/pixel?id=1901&type=img" />
如果你能帮我,我很感激


朱莉娅。

啊哈!好吧,我明白了。非常感谢@crayon-关于执行顺序的额外说明也非常感谢。这就解释了我遇到的其他一些奇怪的事情。