在表单提交上触发谷歌分析事件

我正在尝试将分析事件跟踪添加到onclick事件中,以便在表单上提交输入。

我尝试了多个不同的例子,并引用了几个不同的SOpost来达到这一点。 我可以让onclick提交表单或触发跟踪事件,但不能同时触发。

第一个例子:(将表单+日志提交到控制台但不触发事件)

 

第二个例子:(触发事件+日志到控制台但不提交表单)

  

我还发现,如果我将return false添加到第一个示例的onclick事件的末尾,它将触发分析事件跟踪但不提交表单。

(这真的需要成为FAQ ……)

Google Analytics(分析)通过从分析服务器请求图像来记录数据,并将跟踪数据作为图像请求的参数。 如果在_trackEvent_pageView之后立即在当前窗口中呈现新页面,则可以取消图像请求,并且不记录任何数据。

通常的模式是在加载新页面或提交表单之前添加一个小延迟。

尝试

  

我的偏好是绑定到表单本身的jQuery提交事件,比如

 $('#form').submit(function(e){ e.preventDefault(); _gaq.push(['_trackEvent', 'Forms', 'Submit', 'Home Contact']); var form = this; setTimeout(function(){ form.submit()}, 150); }); 

可以使用新的analytics.js(通用分析)。

链接:

  • 文档
  • 有关Stack Overflow的问题: google analytics发送事件回调函数