【发布时间】:2015-02-23 09:04:52
【问题描述】:
我们正在使用 W3 中的数据层规范 (http://www.w3.org/2013/12/cedd...,它将事件数据定义为事件数组。对于访问数组中最后一项的数据元素来说,这不是问题。当多个事件发生时会出现问题快速连续发生。现在,当 DTM 去收集事件数据时,数组中的最后一个事件对象可能不是正确的,如果快速发送两个事件,则跳过第一个事件的数据对象,最后一个事件的数据对象是用了两次。
策略 1: 创建许多直接调用规则,一个用于每个可能的事件数量,以及用于访问数组中该项目的每个规则的数据元素: _satillite.track('event_0') _satillite.track('event_1')...
设置不是很有趣,仍然遇到可能设置足够规则的问题,并且不干净。
策略 2: 在直接调用条件下也可以使用数据元素: event_%event_number%
不确定如何在条件字符串中使用数据元素。
策略 3 使用 FIFO 队列来保存事件顺序的键和事件所在数据层中的事件的对象。
var order_of_events = ['asdf', '1234'];
var events_number = {
'asdf': 1,
'1234': 2
};
然后发送一个直接调用事件规则:
_satillite.track('event');
然后在标签中使用Data Evements查询正确的事件数据:
// Data Element code
// %next_eventName%
var event_key = getKey(); // returns first key in array
event_number = getValue(asdf); // returns 1
getEventName(event_number); // returns "Event Name"
如何通知队列标记已完成事件详细信息并将键移出队列?
可以使用什么策略来确保数据元素使用正确的事件数据对象,以上任何一种,还是已经解决了这个问题?
【问题讨论】:
-
你能否提供一个“当多个事件快速连续发生时”的“真实生活”场景?我可以想到很多,但从跟踪 PoV 来看,这通常不是一件好事,而且通常首先需要重新考虑你正在跟踪的内容。例如,我有客户要求跟踪访问者何时将鼠标悬停在表单元素上,或跟踪页面滚动的每个百分比。这通常是一个坏主意,原因有很多。因此,首先,您能否澄清一下您要跟踪的具体内容?
标签: dynamic tags adobe google-tag-manager adobe-analytics