提交时的Google Analytics事件

时间:2016-08-17 16:18:38

标签: javascript forms javascript-events google-analytics

简单的情况,需要在提交表单时向Google发送一个事件。

我尝试了10种不同的方法,但它既没有发送GA事件,也没有提交表单。

<form id="n" action="/" method="post">

发送事件但不发送表格:

<input type="button"
onclick="window._gaq.push(['._trackEvent', 'x', 'x', 'x']);document.getElementById('n').submit();">

尝试使用setTimeout - 不发送事件但提交表单:

<input type="button"
onclick="window._gaq.push(['._trackEvent', 'x', 'x', 'x']);window.setTimeout(function(){document.getElementById('n').submit();}, 200);">

尝试使用按钮上的type="submit",没有发送事件:

<input type="submit"
onclick="window._gaq.push(['._trackEvent', 'x', 'x', 'x']);">

尝试将提交放入GA数组中,它确实提交了按钮,但没有注册事件:

<input type="submit"
onclick="window._gaq.push(['._trackEvent', 'x', 'x', 'x']);window._gaq.push(function(){document.getElementById('n').submit()});">

onsubmit="doX();"中使用<form />尝试了jQuery,但它也没有发送事件:

<script>
function doX() {
    window._gaq.push(['._trackEvent', 'test', 'test', 'test']);
    document.getElementById('n').submit();
}
</script>

window._gaq.push(['._trackEvent', 'x', 'x', 'x']);放在控制台或代码中的某个位置。

document.getElementById('n').submit();放在代码或控制台中的某处也可以。

他们不能一起工作。

我尝试了一些其他功能并没有让它发挥作用。

1 个答案:

答案 0 :(得分:0)

如果您还在使用jQuery,那么只需使用提交操作。

输入加载后,例如在页面底部或window.loaded区域内:

$('input#button').click( function () {
  window._gaq.push(['._trackEvent', 'x', 'x', 'x'])
  this.submit();
});

如果您切换到最新版本的Google Analytics,他们会有一个Chrome扩展程序,可以在控制台中显示活动详情。这很不错。