簡體   English   中英

Google Analytics AJAX電子商務跟蹤

[英]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腳本中創建電子商務代碼,並在原始頁面中發送綜合瀏覽量。

它可以工作,但也許這有點問題,我只是沒有注意到。 :)

總的來說,它將如下所示:


generate_ecommerce_data.php:

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM