我有一个基于事件的规则,配置为在点击具有特定类的元素时触发。点击后,我想捕获存在的数据属性的值。 DTM文档说您可以使用以下语法捕获属性值:
%this.data-event%
或
%this.id%
示例HTML:
点击带有" test"的链接,我想存储"事件名称"的值。在eVar内。但是,当我使用上述语法时,语法将转换为字符串,并在Adobe服务器中调用为:
V25:%this.data事件%
在DTM中点击时动态获取HTML元素属性值的最佳方法是什么?
答案 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
(因此条件不会影响触发规则)。
然后,我在 Adobe 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'
的值有关数据属性的更多详细信息,请访问http://www.digitalbalance.com.au/our-blog/event-based-tracking-using-html5-custom-data-attributes/