Adobe DTM从类中捕获ID

时间:2015-01-27 19:58:02

标签: adobe adobe-analytics

我是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>
  1. 我的数据元素应该如何设置,因为我不想要任何初始值?
  2. 如何构建事件规则以捕获单击按钮的值?
  3. 我知道我必须在条件中将标签/选择器设置为事件类型为“click”的.b1,但是如何获取所单击按钮的“ID”值并分配给数据元素。 / p>

    谢谢, 比尔

1 个答案:

答案 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来获取它。