GTM Google Analytics(分析)自定义维度变量仅在某些时间触发

时间:2019-03-28 14:54:01

标签: javascript jquery google-analytics google-tag-manager universal-analytics

我已经使用GTM中的自定义变量设置了自定义维度。但是,当我查看Google Analytics(分析)报告时,发现只有大约75%的时间记录了该维度。同一页将跟踪具有该尺寸的3/4浏览量,而其他25%的视图不记录该尺寸。请参见下面的代码,这是我在javascript中创建的自定义变量,然后以下屏幕截图显示了如何创建自定义变量和创建自定义维度。有什么理由会发生这种情况吗?

我的猜测是,在我创建javascript变量之前,可能未加载请求页面(变量代码实际上位于页面底部)。或我页面上的其他一些javascript导致其余javascript失败(我无法重新创建它,但可能是在较旧的浏览器或移动设备上)。如果这两种情况中的任何一种都可能发生,那么我该如何解决该问题?有没有更好的方法更有可能不会失败?

<script>
    // For GA
    var ArticleID = 624;
</script>

Custom GTM Variable

Custom Dimension

1 个答案:

答案 0 :(得分:1)

根据您的设置,很可能存在竞争条件,并且Google跟踪代码管理器(GTM)脚本比设置该变量的脚本要早运行。结果,GTM将找不到您的变量,并将未定义的值传递给Google Analytics(分析)跟踪器,该值不会发送到Google Analytics(分析)本身。

解决此问题的方法之一是在GTM初始化之前将此变量推送到Google跟踪代码管理器的数据层中。结果,该值将在GTM初始化时显示,这实际上会触发综合浏览量事件。

因此您的代码将变为:

<script>
  dataLayer = [{
    'ArticleID': 624
  }];
</script>
<!-- Google Tag Manager -->
...
<!-- End Google Tag Manager -->

有关数据层的更多参考,您可以签出this developer guide

在GTM中,您需要将JavaScript变量替换为dataLayer变量,其中Data Layer Variable Name将是ArticleID。