我已按照本文的建议实施了Google Optimize实验:
https://support.google.com/360suite/optimize/answer/6262084?hl=en&ref_topic=6197443
实验设置为运行,我已定位到激活事件和网址。
在我到达想要运行实验的正确状态后,我打电话给
dataLayer.push({'event':'optimize.activate.welcomeScreen'});
实验正在运行,我已经在隐身Chrome浏览器上进行了测试,并且已经看到变量触发,因此我知道推送正在发送正确的事件以优化并按预期修改DOM。
但是,我没有在“实验”页面上看到已注册的活动用户,并且在让一千个用户在一整天后运行实验后,我看不到显示的活动用户。
我决定进行故障排除,所以我在开发人员控制台中使用了“网络”选项卡,然后查看了dataLayer调用后触发的数据非交互事件。我将其复制到PostMan,然后我添加了一个google analytics param“dl”并将其设置为我的页面位置。 Voila,活跃用户立即显示在我的Optimize Experiment页面上。
为什么没有添加“dl”参数的任何线索?我尝试了各种各样的事情,包括做一个ga('set','location','http://myurl“)但仍然没有运气。我已经在setTimeOut中包装了dataLayer调用以确保DOM正确加载这也不起作用。
完整性我的分析/优化设置如下
在我有
// Optimize snippet to prevent flashing
<script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
})(window,document.documentElement,'async-hide','dataLayer',4000,
{'GTM-XXXXXX':true});</script>
// Google Analytics snippet
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-XXXXXX-X', 'auto');
// For Google Optimize Tracking
ga('require', 'GTM-XXXXXX');
ga('send', 'pageview', {
hitCallback: function () {
console.log("sendGAPageView: successfully sent initial pageView for location:" + location);
}});
</script>
答案 0 :(得分:0)
只是想说我们终于成功了。原来问题是我们的Google Analytics(分析)设置。我们使用的是过滤视图,因此没有出现很多事件。与Optimize一起使用时,请确保在视图上不使用任何过滤器。