簡體   English   中英

Google Analytics 表單提交事件跟蹤

[英]Google Analytics form submit event tracking

我有一個表單提交到我不擁有的另一個域,需要在 Google Analytics 中跟蹤事件。 我寧願不使用 jQuery 來避免依賴,但我不明白為什么這段代碼不起作用:

<form action='example.com/search' onsubmit='trackSubmit()' id='frm'>
    <button type='submit'>Search</button>
</form>

<script type='text/javascript'>
function trackSubmit(e) { 

  var bForm = document.getElementById('frm');

    bForm.addEventListener('submit', function(e){
    e.preventDefault();
    _gaq.push('_trackEvent', 'Foobar', 'Foobar Form Submit');
    setTimeout(function(){

        console.log('tracking foobar');
        bForm.submit();

    }, 1000);
  }, false);

}
</script>

onsubmit='trackSubmit()'bForm.addEventListener('submit', function(e){

這似乎是錯誤的部分。 如果你在submit上調用trackSubmit() ,那么在這個函數中添加一個監聽器是沒有用的,它甚至不會觸發。 我相信它應該只是:

<form action="http://example.com/search" onsubmit="return trackSubmit()" id="frm">
    <button type="submit">Search</button>
</form>

<script type="text/javascript">
function trackSubmit() {
    var frm = document.getElementById('frm');

    _gaq.push('_trackEvent', 'Foobar', 'Foobar Form Submit');
    setTimeout(function(){

        console.log('tracking foobar');
        frm.submit();

    }, 1000);

    return false;

}
</script>

這將可重復用於多次提交跟蹤。

<script type="text/javascript">
    function trackSubmissions(form, category, name, value) {
        try {
            _gaq.push(['_trackEvent', category, name, value]);
        } catch(err){}
        setTimeout(function() {
            form.submit();
        }, 100);
    }
</script>

<form onsubmit="trackSubmissions(this, 'category', 'name', 'value'); return false;">
</form>

對於偶然發現這個問題並正在使用新版本的谷歌通用分析的用戶。 這是提交按鈕和鏈接點擊的代碼

<script type='text/javascript'>
        function trackSubmit() { 


        ga('send', 'event', 'button', 'click', 'searchsubmit', 4);
          alert('testing send event')
        }

        function trackClick() { 
            ga('send', 'event', 'button', 'click', 'This is coool');
        }
    </script>

    <body>
    Pushing data.......

        <form onsubmit='trackSubmit()' id='frm'>
            <button type='submit' id= 'searchsubmit'>Search</button>

            </br>
            <a href='http://cool.com' onclick="trackClick(); return false;">cool</a>
        </form>

    </body>

我已經發出警報以顯示正在觸發事件,因為當頁面提交並且您將在調試器中查看控制台時,您的事件將不可見。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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