哪一个更优化?
我有一个感谢页面,我需要将所有交易促销信息加载到此页面,然后通过Google跟踪代码管理器将其发布到Google Analytics。
我是否使用下面的代码声明dataLayer并在我的GTM代码之前发布它?
dataLayer = [{
'ecommerce': {
'purchase': {
'actionField': {
'id': '40008',
'revenue': '90.00',
},
'products': [{
'name': 'Clothes',
'price': '9.00',
'category': 'Shirt',
'quantity': 10.00,
}]
}
}
}];
或者我将数据推送到自动创建的dataLayer并在我的GTM代码之后发布?
dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': '40008',
'revenue': '90.00',
},
'products': [{
'name': 'Clothes',
'price': '9.00',
'category': 'Shirt',
'quantity': 10.00,
}]
}
}
});
有什么区别?我将使用“DOM Ready”事件将dataLayer中的数据带到Google。
答案 0 :(得分:1)
您在GTM标记上方声明dataLayer,以获取需要在页面加载时立即可用的信息。您可以使用dataLayer.push获取GTM标记之后添加的信息。
我坦率地认为它在大多数用例中没有那么大的区别,但如果你想确保在页面加载时数据可用,你应该声明一个dataLayer。 DOM就绪意味着源代码中的任何推送事件已经发生,因此它可能对您没有任何影响。