【问题标题】:Looking for example logic to pull a DOM value into a Custom Script Adobe DTM data element寻找将 DOM 值拉入自定义脚本 Adob​​e DTM 数据元素的示例逻辑
【发布时间】:2014-07-20 17:45:09
【问题描述】:

实际问题:

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

背景:

我正在尝试在 Adob​​e 动态标签管理 (DTM) 中构建一些自定义数据元素。我想将面包屑的特定部分捕获到元素中 - 例如给定面包屑路径首页 >> 类别 1 >> 类别 4 >> 第 1 页,我想要 X = 类别 1,Y = 类别 4,Z = 第 1 页

不幸的是,面包屑中的锚点不使用一致的标识符,所以我需要条件逻辑来选择它们。示例:当我在类别 1 登录页面上时,该类别的元素的 ID 为“Current”,否则它的 ID 为“L1Link” - 因此我需要以下逻辑:

if(#L1Link exists)
   X = #L1Link
else
   X = #Current

不幸的是,我不确定如何在自定义函数中选择 DOM 元素。我不认为 _satellite.$data 是我想要的(我不想要数据,我只想要超链接的文本)。我尝试使用 cssQuery,但我真的没有回调可以将任何东西传回(与文档相反,如果我没有回调,它似乎会变得非常不安)。

【问题讨论】:

    标签: javascript adobe adobe-analytics


    【解决方案1】:

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

    名称:category_1

    类型:自定义脚本

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

    var x = document.getElementById('L1Link')||document.getElementById('Current');
    if (x) return x.innerText||x.textContent;
    else return '';
    

    这将首先查找#L1Link,否则将查找#Current。如果找到,它将返回链接的文本。

    根据您的帖子,将 Remember this value for 设置为“Pageview”

    保存更改

    接下来,导航到

    规则 > 页面加载规则

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

    Conditions > Criteria 中选择 Data:Custom,然后点击 Add Criteria

    然后在 Custom 文本区域中添加以下内容:

    return _satellite.getVar('category_1')||true;
    

    此条件将显式调用数据元素以确保它被调用,因为 DTM 喜怒无常,有时可能不会评估数据元素。它回退到true,以确保条件始终返回true,这样条件就不会导致规则执行失败。

    然后在规则的 Adobe Analytics 部分中,选择您要设置的任何eVar 和/或prop(例如prop1)并设置为%category_1%

    保存规则

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

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

    注意: DTM 有一些关于执行顺序与加载/时间的注意事项。这部分是由于异步加载的性质,但 Adob​​e 也承认了 mislabeling of order of execution in the documention(请参阅我的 问题 #2)。基本上,您可能需要使用页面加载规则中的 Trigger rule at 设置与您在“Load Adob​​e Analytics page code at”下拉菜单中设置的内容Adobe Analytics Tool 常规配置部分,希望一切顺利。我设置了一个测试页面来验证我的帖子中的所有这些,并且我在其中任何一个中选择的几乎所有内容都有效,但是我的测试页面上几乎没有任何内容,除了 DTM 页面代码和一个链接。

    【讨论】:

    • 啊哈!好的,我知道这是怎么回事。非常感谢@crayon - 关于执行顺序的额外说明也非常感谢。这解释了我遇到的其他一些奇怪现象。
    【解决方案2】:

    这篇文章很有趣,你的解释总是很清楚@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" />
    

    如果你能帮助我,我很感激,

    朱莉娅。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      相关资源
      最近更新 更多