使用 Google 分析跟踪优化防闪烁片段超时
Tracking Optimize anti-flicker snippet timeout using Google Analytics
如何使用 Google Analytics 成功检测和跟踪优化防闪烁代码段超时?
我注意到 dataLayer
变量 hide["GTM-XXXXXX"]
超时时为 true
,否则为 false
。
问题是没有与此变量更改关联的事件。您将如何跟踪超时?
我的目标是每次代码段超时时向 Google Analytics 发送一个事件。
我没有在实践中使用过这个解决方案,但你可能想试一试。
如果你看developer guide of Google Optimize,你可以找到关于防闪烁代码(页面隐藏片段)功能的非常详细的解释。相关代码及注释如下:
// Creates a timeout that will call the page-showing function after the
// timeout amount (defaulting to 4 seconds), in the event that Optimize has
// not already loaded. This ensures your page will not stay hidden in the
// event that Optimize takes too long to load.
setTimeout(function() {
i();
h.end = null
}, c);
h.timeout = c;
在此超时中 i()
负责删除默认隐藏页面的 class。
因此理论上,您可以通过 dataLayer
生成 GTM 事件来更改这部分代码,并将事件跟踪绑定到它。例如
setTimeout(function() {
i();
h.end = null;
//added code: notify Google Tag Manager about the timeout
dataLayer.push({
event: 'trackAntiFlickerTimeout'
});
}, c);
显然,您需要将此事件用作触发器,并制作必要的事件标签来触发,并将数据发送到 Google Analytics。
这是我最终得到的解决方案。完美运行。
1.在 GTM
中创建一个新的自定义 Javascript 函数变量
function () {
if ( window.dataLayer.hide ) {
return window.dataLayer.hide["GTM-xxxxxxx"]; // Your Optimize container ID
}
}
2。在 DOM 就绪时,检查其值
如果值为 true
,则代码段已超时。当它是 false
时,它设法在您的最大超时持续时间之前 运行。
如何使用 Google Analytics 成功检测和跟踪优化防闪烁代码段超时?
我注意到 dataLayer
变量 hide["GTM-XXXXXX"]
超时时为 true
,否则为 false
。
问题是没有与此变量更改关联的事件。您将如何跟踪超时?
我的目标是每次代码段超时时向 Google Analytics 发送一个事件。
我没有在实践中使用过这个解决方案,但你可能想试一试。
如果你看developer guide of Google Optimize,你可以找到关于防闪烁代码(页面隐藏片段)功能的非常详细的解释。相关代码及注释如下:
// Creates a timeout that will call the page-showing function after the
// timeout amount (defaulting to 4 seconds), in the event that Optimize has
// not already loaded. This ensures your page will not stay hidden in the
// event that Optimize takes too long to load.
setTimeout(function() {
i();
h.end = null
}, c);
h.timeout = c;
在此超时中 i()
负责删除默认隐藏页面的 class。
因此理论上,您可以通过 dataLayer
生成 GTM 事件来更改这部分代码,并将事件跟踪绑定到它。例如
setTimeout(function() {
i();
h.end = null;
//added code: notify Google Tag Manager about the timeout
dataLayer.push({
event: 'trackAntiFlickerTimeout'
});
}, c);
显然,您需要将此事件用作触发器,并制作必要的事件标签来触发,并将数据发送到 Google Analytics。
这是我最终得到的解决方案。完美运行。
1.在 GTM
中创建一个新的自定义 Javascript 函数变量function () {
if ( window.dataLayer.hide ) {
return window.dataLayer.hide["GTM-xxxxxxx"]; // Your Optimize container ID
}
}
2。在 DOM 就绪时,检查其值
如果值为 true
,则代码段已超时。当它是 false
时,它设法在您的最大超时持续时间之前 运行。