我对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完成吗?我没有在文档中看到与此相关的内容。
答案 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 +开发人员指南及其中的参考指南。