[英]Will dataLayer.push() definitely send data to google when triggered on an anchor?
[英]When does data get sent to google after dataLayer.push
我有一个单页电子商务应用程序,需要设置谷歌电子商务渠道。 我的应用程序在跟踪代码管理器数据层中设置了漏斗步骤
文档中没有任何内容表明数据层何时实际发送到 Google 标签管理器。
window.dataLayer 开始页面:
event: 'checkout',
ecommerce: {
checkout: { actionField: {step: 1, option: 'Checkout Options'}}
}
在第一个按钮上单击
$(document).one('click','#button-payment-address', function () {
window.dataLayer.push({
'event': 'checkout',
'ecommerce': {
'checkout': {
'actionField': {
'step': 2,
'option': 'Billing Details'
}
}
}
});
});
数据层变为:
event: 'checkout',
ecommerce: {
checkout: { actionField: {step: 2, option: 'Billing Details'}}
}
在第二个按钮上
$(document).one('click', "#button-shipping-address", function(){
window.dataLayer.push({
'event': 'checkout',
'ecommerce': {
'checkout': {
'actionField': {
'step': 3,
'option': 'Delivery Details'
}
}
}
});
console.log(window.dataLayer);
});
数据层变为:
event: 'checkout',
ecommerce: {
checkout: { actionField: {step: 3, option: 'Delivery Details'}}
}
等等...
dataLayer 什么时候发送或者有没有办法强制发送,重新初始化 dataLayer 然后推送下一步?
更新:我在 Firefox DevTools/network/XHR 下寻找流量,但找不到任何流量。 在 DevTools/network/images 下查看显示每次点击时发布的数据。
将数据添加到 dataLayer 不会将其发送到任何地方。 它只是在 GTM 中以结构化的方式提供数据。 每当您将名为“事件”的键推送到 dataLayer 时,GTM 会扫描 dataLayer 结构并使用更改或添加的值更新其内部数据模型。
这基本上为您的变量创建了一个命名空间。 变量可以被覆盖,所以每次创建新的 JS 变量时,您需要确保不要重复使用现有名称并意外地为变量分配新值等等。 相反,如果您将数据添加到 dataLayer,那么您只需注意您没有第二个 dataLayer 变量。
话虽如此,您的情况有些不同。 您拥有的是 Google Universal Analytics Enhanced E-Commerce 的特殊数据结构。 至少您的 Google Analytics 综合浏览量或事件标记之一应配置为启用增强型电子商务,并设置从数据层提取数据。
如果您在 GTM 中没有标签,则根本不会发送数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.