"dataLayer.push" 或使用 "dataLayer =" 声明 Analytics 电子商务跟踪 GTM
"dataLayer.push" or declare with "dataLayer =" for Analytics Ecommerce Tracking GTM
以下哪个更优?
我有一个感谢页面,我需要将我所有的交易销售信息加载到此页面,然后通过 Google 标签管理器将其 post 加载到 Google 分析。
我是否使用下面的代码声明数据层并post它在我的 GTM 代码之前?
dataLayer = [{
'ecommerce': {
'purchase': {
'actionField': {
'id': '40008',
'revenue': '90.00',
},
'products': [{
'name': 'Clothes',
'price': '9.00',
'category': 'Shirt',
'quantity': 10.00,
}]
}
}
}];
或者我是否将数据推送到自动创建的数据层中并 post 它在我的 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。
您在 GTM 标记上方声明 dataLayer,以获取需要在页面加载时立即可用的信息。您使用 dataLayer.push 表示在 GTM 标签之后添加的信息。
坦率地说,我认为它在大多数用例中没有太大区别,但如果您想确保在页面加载时数据可用,您应该声明一个数据层。 DOM 就绪意味着源代码中的任何推送事件都已经发生,因此它可能对您没有影响。
以下哪个更优?
我有一个感谢页面,我需要将我所有的交易销售信息加载到此页面,然后通过 Google 标签管理器将其 post 加载到 Google 分析。
我是否使用下面的代码声明数据层并post它在我的 GTM 代码之前?
dataLayer = [{
'ecommerce': {
'purchase': {
'actionField': {
'id': '40008',
'revenue': '90.00',
},
'products': [{
'name': 'Clothes',
'price': '9.00',
'category': 'Shirt',
'quantity': 10.00,
}]
}
}
}];
或者我是否将数据推送到自动创建的数据层中并 post 它在我的 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。
您在 GTM 标记上方声明 dataLayer,以获取需要在页面加载时立即可用的信息。您使用 dataLayer.push 表示在 GTM 标签之后添加的信息。
坦率地说,我认为它在大多数用例中没有太大区别,但如果您想确保在页面加载时数据可用,您应该声明一个数据层。 DOM 就绪意味着源代码中的任何推送事件都已经发生,因此它可能对您没有影响。