Google Analytics:从后台删除/编辑交易

时间:2014-06-25 10:27:49

标签: javascript php google-analytics universal-analytics

我对Google Analytics有一点问题。

要纠正可能出现在交易中的一些错误(用户在付款后没有回到网站上)我试图在后台实施修复页面。

使用PHP API,我检索所有事务,然后将它们显示在一个带有输入和按钮的表中,以执行删除脚本。

但它不起作用。代码执行正确,Analytics Chrome扩展程序没有看到任何错误,但统计信息中没有任何修改。

以下是我的代码示例。

//Top of my page

<script type="text/javascript">
        (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-10XX3X1-1', 'xxxxxxx.com');
    ga('require', 'ecommerce', 'ecommerce.js');
</script>

/*
Display of Transactions
*/

<script type="text/javascript">
        function modifiyTransaction(e){
            var valueT=document.getElementById(e.name).value.toString();
            console.log(typeof valueT+" : "+ valueT);
            console.log(typeof e.name+" : "+ e.name);

                    //Fixing transactions

                    ga('ecommerce:addTransaction', {
                        'id': e.name, // order ID - required
                        'affiliation': 'Rental', // affiliation or store name
                        'revenue': valueT // total - required
                    });
                   ga('ecommerce:send');
                   $("#sendingEvent").show();
                   setTimeout(function(){
                        document.getElementById(e.name).value="Done";
                        $("#sendingEvent").hide();
                    }, 1000);
        }       
</script>

我得到的值和ID是正确的,两个字符串。

有人有解决方案吗? :)

修改:

如果这种方式不可能,可以直接通过PHP API完成吗?我没有在文档中看到与此相关的内容。

1 个答案:

答案 0 :(得分:0)

好的,使用带有AJAX的Measurement Protocol工作。

以下是我的代码示例,如果有人在解决同样的问题。

$.ajax({
                type: "POST",
                url: 'https://ssl.google-analytics.com/collect',
                data: { v: "1", tid: "UA-XXXXXXXX-1", cid: clientId, 
                       t: "transaction", ti: transactionId, 
                       ta: "Rental", tr: valueToChange },
                success: function(){
                    $("#sendingEvent").hide();
                    document.getElementById(e.name).value="Done";
                },
                error: function(){
                    $("#sendingEvent").hide();
                    document.getElementById(e.name).value="Error!";
                }
            });

最后非常容易。

有关详情:https://developers.google.com/analytics/devguides/collection/protocol/v1/?hl=fr +开发人员指南及其中的参考指南。