我正在网站上工作,我将跟踪代码更新为新的analytics.js我转移了他们的网站,除转换外,一切正常。 这是一个大商业网站,所以我无法触及服务器端脚本 这就是他们生成的东西
<script type="text/javascript">
$(document).ready(function() {
if(typeof(pageTracker) != 'undefined') {
pageTracker._addTrans(
'358',
'Backyard Toy Company ',
'0.01',
'0.00',
'0.00',
'Lakewood',
'New Jersey',
'United States'
);
pageTracker._addItem(
'358',
'1336',
'test',
'',
'0.01',
'1'
);
pageTracker._trackTrans();
}
});
</script>
我将客户端代码更新为此
ga('require', 'ecommerce', 'ecommerce.js'); // Load the ecommerce plug-in.
// START CUSTOM CODE
function old2new() {
// define object that can route old methods to new methods
this._addTrans = addTrans;
this._addItem = addItem;
this._trackTrans = trackTrans;
}
function addTrans(orderID,store,total,tax,shipping,city,state,country) {
// remap _addTrans
ga('ecommerce:addTransaction', {
'id': orderID,
'affiliation': store,
'revenue': total,
'tax': tax,
'shipping': shipping,
});
}
function addItem(orderID,sku,product,variation,price,qty) {
// remap _addItem
ga('ecommerce:addItem', {
'id': orderID,
'sku': sku,
'name': product,
'category': variation,
'price': price,
'quantity': qty
});
}
function trackTrans() {
ga('send', 'ecommerce');
}
// instantiate converter using name of old Google tracking object
// bigcommerce code will use this and be none the wiser
var pageTracker = new old2new();
// END CUSTOM CODE
对不起,我是个新手,但我看了一遍都无法弄清楚为什么它不起作用。
答案 0 :(得分:0)
我认为send方法应该是这样的:
ga('ecommerce:send');
如果这不起作用,您可以执行以下操作,看看是否找到了其他错误的内容:
您可以在所有三个功能中发出警报并确保正确调用它吗?
此外,代码中可能存在可能受覆盖的this
影响的错误。你能否重写下面的方法,看看是否有效:
function addTrans(orderID,store,total,tax,shipping,city,state,country) {
// alert("in addTrans");
ga.call(window, 'ecommerce:addTransaction', {
'id': orderID,
'affiliation': store,
'revenue': total,
'tax': tax,
'shipping': shipping,
});
}
function addItem(orderID,sku,product,variation,price,qty) {
// alert("in addTrans");
ga.call(window, 'ecommerce:addItem', {
'id': orderID,
'sku': sku,
'name': product,
'category': variation,
'price': price,
'quantity': qty
});
}
function trackTrans() {
// alert("in Trans");
ga.call(window, 'ecommerce:send');
}