事件在数据层中的位置——重要吗?
Position of event in data layer - does it matter?
我有一段 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 推入数据层。在对象内部,所有属性(ecommerce、event 实际上是对象的属性)都根据它们的名称进行索引,而不是一些数字,例如在数组中,并使用它们的名称进一步精确地调用它们。 Javascript 中的对象不保证其属性中的任何顺序。最后,您在对象中定义属性的顺序并不重要,因为它们会更进一步 "unordered",即使是在将其推送到数据层的那一刻。
我有一段 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 推入数据层。在对象内部,所有属性(ecommerce、event 实际上是对象的属性)都根据它们的名称进行索引,而不是一些数字,例如在数组中,并使用它们的名称进一步精确地调用它们。 Javascript 中的对象不保证其属性中的任何顺序。最后,您在对象中定义属性的顺序并不重要,因为它们会更进一步 "unordered",即使是在将其推送到数据层的那一刻。