[英]Google Analytics E-commerce tracking is not working With Custom PHP
[英]Google Analytics AJAX e-commerce tracking
假設我有一個index.html可啟動通用Google Analytics(分析)跟蹤代碼:
<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-XXXXXXX-X', 'auto');
ga('send', 'pageview');
</script>
稍后,我加載通過AJAX插入的HTML文檔。 我可以將用於電子商務跟蹤的javascript代碼放在HTML中的腳本標簽中,然后通過AJAX插入該腳本標簽,而無需首先重新啟動Google Analytics(分析)嗎? 所以我會有這樣的事情:
通過ajax插入的HTML:
<h2>Thanks for ordering.</h2>
<script>
ga('require', 'ecommerce');
ga('ecommerce:addTransaction', {
'id': '1',
'revenue': '100',
'shipping': '1'
});
ga('ecommerce:addItem', {
'id': '1',
'name': 'Test item name',
'sku': 'ABC123',
'category': 'test category',
'price': '100',
'quantity': '1'
});
ga('ecommerce:send');
</script>
這會正確跟蹤嗎? 並且,如果訪問者快速關閉頁面或導航離開,則很可能未執行JavaScript?
非常感謝我應如何解決此問題的任何提示。
提前致謝!
在ajax腳本中創建電子商務代碼,並在原始頁面中發送綜合瀏覽量。
它可以工作,但也許這有點問題,我只是沒有注意到。 :)
總的來說,它將如下所示:
<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','//google-analytics.com/analytics.js','ga');
ga('create', 'UA-UANUMBER', 'NameName');
ga('require', 'ec');
$('#element').click(function(){
$.ajax({
type: 'POST',
url: '/ajax/generate_ecommerce_data.php',
success: function(response) {
$('#container').html('<script>' + response + '<\/script>');
ga('send', 'pageview');
$('#container').html('');
},
error: function(err) {
console.log(err.status);
}
});
});
</script>
在呼叫頁面上:
<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','//google-analytics.com/analytics.js','ga'); ga('create', 'UA-UANUMBER', 'NameName'); ga('require', 'ec'); $('#element').click(function(){ $.ajax({ type: 'POST', url: '/ajax/generate_ecommerce_data.php', success: function(response) { $('#container').html('<script>' + response + '<\\/script>'); ga('send', 'pageview'); $('#container').html(''); }, error: function(err) { console.log(err.status); } }); }); </script>
PS:
看起來我超出了消息限制,需要修剪Ajax代碼,但您可以理解。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.