实验的转换率完全错误

时间:2015-07-02 09:41:21

标签: javascript jquery google-analytics

我已按以下方式设置了Google Analytics实验:

<!-- Load the Content Experiment JavaScript API client for the experiment -->
<script src="//www.google-analytics.com/cx/api.js?experiment=REMOVED>"></script>
<script>
    // Ask Google Analytics which variation to show the user.
    var chosenVariation = cxApi.chooseVariation();

    $(function(){

        if (chosenVariation == 1) {
            ouibounce(document.getElementById('exit-dialog'), { sitewide: true, cookieExpire: 10, callback: function(){
                ga('send', 'event', 'ExitDialog', 'Open');
            } });
            $("#exit-dialog").on("click", function(){
                $("#exit-dialog").hide();
                ga('send', 'event', 'ExitDialog', 'Hide', 'Background');
            });

            $("#exit-dialog .no-thanks").on("click", function(e){
                e.preventDefault();
                $("#exit-dialog").hide();
                ga('send', 'event', 'ExitDialog', 'Hide', 'Button');
            });

            $("#exit-dialog > div").on("click", function(e){
                e.stopPropagation();
            });
        }
    });
</script>

此代码位于我的底部。 这就是我在Google Analytics中看到的内容:

GA Experiment

问题是这个目标通常具有<1%的转换率。实验怎么会让它错误呢?

2 个答案:

答案 0 :(得分:0)

很难说你的例子,但常见的问题是早期绑定事件监听器。我的意思是你在加载DOM元素之前附加click事件。

我建议您使用函数包装onclick事件设置器,并在实验完全加载后调用此函数。所以你会把它称为回调:

设置器:

<script>
    var setExperimentEvents = function(){
        // Ask Google Analytics which variation to show the user.
        var chosenVariation = cxApi.chooseVariation();

        $(function(){

            if (chosenVariation == 1) {
                ouibounce(document.getElementById('exit-dialog'), { sitewide: true, cookieExpire: 10, callback: function(){
                    ga('send', 'event', 'ExitDialog', 'Open');
                } });
                $("#exit-dialog").on("click", function(){
                    $("#exit-dialog").hide();
                    ga('send', 'event', 'ExitDialog', 'Hide', 'Background');
                });

                $("#exit-dialog .no-thanks").on("click", function(e){
                    e.preventDefault();
                    $("#exit-dialog").hide();
                    ga('send', 'event', 'ExitDialog', 'Hide', 'Button');
                });

                $("#exit-dialog > div").on("click", function(e){
                    e.stopPropagation();
                });
            }
        });
    }
</script>

实验页面底部:

<script>

    try{
     setExperimentEvents();
    }
    catch(e)
    {
      ga('send', 'event', 'Error', 'Experiment', 'Failed to load',cxApi.chooseVariation());
    }

</script>

答案 1 :(得分:0)

问题原来是在选择变体之前发送了pageview事件,因此除非在页面上触发了事件,否则不会将其发送到服务器。