我在 GTM 中使用自定义变量设置了自定义维度。然而,当我查看 google 分析报告时,我发现该维度仅在大约 75% 的时间内被记录。同一页面将跟踪 3/4 的浏览量,而另外 25% 的浏览量不记录该维度。请看下面的代码,这是我在javascript中创建的自定义变量,然后下面的屏幕截图显示了我如何创建自定义变量并创建自定义维度。发生这种情况有什么原因吗?
我的猜测是,在我创建 javascript 变量之前,拉取页面可能尚未加载(变量代码实际上位于页面底部)。或者,我的页面上的其他一些 javascript 可能会导致其余的 javascript 失败(我无法重新创建它,但可能在较旧的浏览器或移动设备上)。如果这两种情况中的任何一种都可能出现,那么我该如何解决该问题?有没有更好的方法更可能不会失败?
<script>
// For GA
var ArticleID = 624;
</script>
最佳答案
根据您的设置,很可能存在竞争条件,并且与设置变量的脚本相比,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 变量,其中数据层变量名称
将为 ArticleID。
关于javascript - GTM Google Analytics 自定义维度变量仅在某些时候触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55400655/