我是Adobe DTM的新手,所以请温柔地对待我!我要做的是让一个Data元素保存类“b1”的单击按钮的ID值。
<button type="button" class="b1" id="value 1">button 1</button>
<button type="button" class="b1" id="value 2">button 2</button>
我知道我必须在条件中将标签/选择器设置为事件类型为“click”的.b1,但是如何获取所单击按钮的“ID”值并分配给数据元素。 / p>
谢谢, 比尔
答案 0 :(得分:4)
示例...
创建基于事件的规则,根据需要为其命名。
在条件中,对于事件类型,请选择“点击”。
对于元素标记或选择器,请输入“button.b1”(无引号)。这基本上相当于你用来定位具有类“b1”的按钮元素的css(或者例如jQuery)选择器。
注意:您可能需要也可能不需要将应用事件处理程序直接复选到元素选项,具体取决于您的网站设置方式以及所有网站已挂钩的内容要素。
现在,在规则条件条件下,选择“数据&gt;自定义”,然后点击“添加条件”按钮,然后会显示自定义代码框部分。
在该代码框中,输入以下内容:
var id=this.id||'';
_satellite.setVar('b1_button_id',id);
return true;
所以它的工作方式是在一个条件下,this
应该是对点击按钮的引用。因此,我们使用它与DTM的_satellite.setVar()
方法一起将名为“b1_button_id”的数据元素设置为按钮的id属性的值。然后我们返回true以确保条件始终为true,以便此条件不会阻止规则触发。
从那里开始,在规则的任何部分中,您都可以使用%b1_button_id%
语法引用数据元素(例如,在其中一个表单字段中通过DTM设置var)或者您可以使用{{ 1}}在规则中的任何自定义代码块中。
注意:使用_satellite.getVar('b1_button_id')
方法即时创建的数据元素仅在被评估规则的持续时间/范围内持续存在。 DTM没有正式记录的创建或更新持久性数据元素的方法,也没有设置实际规则&gt;中可用的任何其他功能。数据元素部分,但there are some workarounds取决于您要执行的操作。
另一个注意事项:您没有特别提及对此的需求,但因为它可能是下一步可能会出现......如上所述,在条件的上下文中,{{ 1}}是对事件元素的引用(在本例中为“click”事件)。如果由于某种原因您需要在 Javascript / Third Pary标签部分的代码框中引用.setVar()
,请注意,如果您执行,this
将保留在上下文中不检查全局执行选项,但如果 DO 选中该选项,则this
将不再是对event元素的引用。
如果您需要对this
的引用并且您需要全局执行代码,那么您可以按照上述说明创建数据元素,只需使用this
作为值,例如
this
然后,在代码块中,您可以使用this
来获取它。