1

如何使用 Google Analytics 成功检测和跟踪优化防闪烁片段超时?

我注意到该dataLayer变量hide["GTM-XXXXXX"]true何时超时,false如果不是。

问题是没有与此变量更改相关的事件。您将如何跟踪超时?

我的目标是每次片段超时时向 Google Analytics 发送一个事件。

4

2 回答 2

0

这是我最终得到的解决方案。完美运行。

1.在GTM中新建一个自定义Javascript函数变量

function () { 
    if ( window.dataLayer.hide ) { 
        return window.dataLayer.hide["GTM-xxxxxxx"]; // Your Optimize container ID
    } 
}

2. 在 DOM Ready 上,检查它的值

如果值为true,则代码段已超时。当它是时false,它设法在您的最大超时持续时间之前运行。

更详细的教程可以在这里找到。

于 2019-09-05T11:30:54.183 回答
0

我在实践中没有使用过这个解决方案,但你可能想试一试。

如果您查看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()负责删除默认情况下隐藏页面的类。

因此,理论上,您可以通过生成 GTM 事件,通过dataLayer. 例如

setTimeout(function() {
  i();
  h.end = null;

  //added code: notify Google Tag Manager about the timeout
  dataLayer.push({
    event: 'trackAntiFlickerTimeout'
  });

}, c);

显然,您需要将此事件用作触发器,并制作必要的事件代码来触发,并将数据发送到 Google Analytics。

于 2019-09-03T10:30:51.043 回答