如何在Adobe Dynamic Tag Manager(DTM)中获取基于事件的规则中的数据属性的值?

时间:2016-07-20 14:17:38

标签: adobe-analytics

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

%this.data-event%

%this.id%

示例HTML:

点击带有" test"的链接,我想存储"事件名称"的值。在eVar内。但是,当我使用上述语法时,语法将转换为字符串,并在Adobe服务器中调用为:

V25:%this.data事件%

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

3 个答案:

答案 0 :(得分:2)

DTM文档说你可以做到这一点,但在实践中我也发现它似乎在大多数时候都没有像广告一样工作,而是用一个文字(un-eval'd)字符串来填充它那。

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

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

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

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

答案 1 :(得分:1)

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

%this.getAttribute(data-title)%

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

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

答案 2 :(得分:1)

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

%this.getAttribute(数据的AttributeName)%

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

的值

Data Attribute example in DTM

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