4

我已经按照本文的建议实施了 Google Optimize 实验:

https://support.google.com/360suite/optimize/answer/6262084?hl=en&ref_topic=6197443

实验设置为运行,我已针对激活事件和 URL。

在我到达要运行实验的正确状态后,我调用

dataLayer.push({'event': 'optimize.activate.welcomeScreen'});

实验运行,我已经在隐身 Chrome 浏览器上进行了测试,并且看到了变体触发,所以我知道推送正在向 Optimize 发送正确的事件并按预期修改 DOM。

但是,我在“实验”页面上没有看到已注册的活动用户,并且在有一千名用户运行一整天后让实验运行后,我看不到显示任何活动用户。

我决定进行故障排除,因此我使用了开发人员控制台中的“网络”选项卡,并查看了在 dataLayer 调用之后触发的数据非交互事件。我将它复制到 PostMan 并添加了一个谷歌分析参数“dl”并将其设置为我的页面位置。瞧,活跃用户立即出现在我的优化实验页面上。

任何线索为什么没有添加“dl”参数?我已经尝试了各种各样的事情,包括做一个 ga('set','location',' http://myurl ") 仍然没有运气。我已经将 dataLayer 调用包装在 setTimeOut 中以确保正确加载 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>
4

1 回答 1

1

只是想说我们终于得到了这个工作。原来问题出在我们的 Google Analytics 设置上。我们使用的是过滤视图,所以很多事件都没有出现。确保在与 Optimize 一起使用时不要在视图上使用任何过滤器。

于 2018-10-31T21:07:47.043 回答