【问题标题】:How do you get the value of a data attribute within an event-based rule in Adobe Dynamic Tag Manager (DTM)?如何在 Adob​​e Dynamic Tag Manager (DTM) 中获取基于事件的规则中的数据属性值?
【发布时间】:2018-05-10 01:29:47
【问题描述】:

我有一个基于事件的规则,配置为在单击具有特定类的元素时触发。单击时,我想捕获存在的数据属性的值。 DTM 文档说您可以使用以下语法捕获属性值:

%this.data-event%

%this.id%

示例 HTML:

单击“测试”类的链接时,我想将“事件名称”的值存储在 eVar 中。但是,当我使用上述语法时,语法将转换为字符串,并在 Adob​​e 服务器调用中为:

v25:%this.data-event%

在 DTM 中单击时动态获取 HTML 元素属性值的最佳方法是什么?

【问题讨论】:

    标签: adobe-analytics


    【解决方案1】:

    DTM 文档说你可以做到这一点,但在实践中我也发现它似乎大部分时间都不像宣传的那样工作,而是用文字(未评估的)字符串填充它那。

    所以我要做的是在条件 > 规则条件下创建一个自定义条件。在 Custom 条件下,我添加以下内容:

    // example to get id
    _satellite.setVar('this_id',this.id);
    // example to get href
    _satellite.setVar('this_href',this.href);
    return true;
    

    基本上我使用 javascript 创建动态数据元素,然后返回 true(因此条件不会影响触发规则)。

    然后我在 Adobe Analytics 部分变量字段中使用我创建的数据元素中的%this_id%%this_href% 等语法。

    【讨论】:

    • 感谢您的回复!我实际上发现这种语法有效: %this.getAttribute(data-title)% 关键是属性名称周围没有引号。
    【解决方案2】:

    根据 eVar 或 prop 在使用 DTM 单击的元素上捕获数据属性的值的最简单方法是将输入设置如下:

    %this.getAttribute(data-attributename)%

    例如,如果 data-social-share-destination='facebook' 的元素上有数据属性,只需输入 %this.getAttribute(data-social-share-destination)%。这将捕获“facebook”的价值

    有关数据属性的更多详细信息,请访问http://www.digitalbalance.com.au/our-blog/event-based-tracking-using-html5-custom-data-attributes/

    【讨论】:

      【解决方案3】:

      我找到了解决方案。在单击时获取属性值的最佳方法是使用以下语法:

      %this.getAttribute(data-title)%
      

      关键是不要在属性名称周围使用引号确保属性具有值

      如果缺少该属性,则表达式不会像通常期望从其他平台的经验中所期望的那样被空字符串替换,而是显示原始的未插值代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多