我有一段 GTM 代码,其中事件有时放置在对象的顶部,有时放置在底部。现在的问题是,是否有任何区别(例如从上一个事件发送数据)以及哪种处理方法是正确的?
dataLayer.push({
'event': 'addToCart',
'ecommerce': {
'add': {
'actionField': { 'list': 'Bestsellers' },
'products': [{
'name': 'Product 1',
'id': 1,
'position': 1,
'quantity': 1
}]
}
}
});
或者
dataLayer.push({
'ecommerce': {
'add': {
'actionField': { 'list': 'Bestsellers' },
'products': [{
'name': 'Product 1',
'id': 1,
'position': 1,
'quantity': 1
}]
}
},
'event': 'addToCart'
});
请注意,这只是一个示例。在将产品添加到购物车的情况下,事件始终位于数据层的顶部,但在展示的情况下,事件始终位于底部(这部分代码基于在互联网上找到的教程,其中事件被放置在那里)。乍一看,GA 统计数据似乎表现得很好。然而,在 GTM+GA 组合的情况下,有时很难找出某些东西是否工作不正确(而不是找出它是否完全工作),因此出现了问题。
最佳答案
您正在插入javascript object进入数据层。在对象内部,所有属性(电子商务、事件实际上是对象的属性)都是根据其名称进行索引的,而不是像数组中那样的数字,并且它们是进一步精确地使用他们的名字来称呼。 Javascript 中的对象不保证其属性的任何顺序。总之,在对象中定义属性的顺序并不重要,因为它们将进一步“无序”,即使在将其推送到数据层时也是如此。
关于javascript - 事件在数据层中的位置 - 这重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28296354/