Google Analytics事件跟踪 - 联系表单提交

时间:2014-11-25 15:00:59

标签: google-analytics

我正在尝试跟踪用户点击提交表单按钮的时间并发送联系信息。我在联系页面上有这个代码:

<input type="submit" value="Send" class="btn big btn_submit_form" onClick="ga('send', 'event', { eventCategory: 'Contact', eventAction: 'Information Request', eventLabel: 'Contact Form'});">

我正在使用Universal Analytics。

在我的Google Analytics帐户中,我的目标说明名称为联系表单提交,目标类型为活动。事件条件如下:

  • 类别-Equals to-Contact
  • 行动 - 信息要求 - 信息请求
  • 标签-Equals to- Contact Form

将Value字段留空。

我有&#34;使用事件值作为转换的目标值&#34;设为是。

但是,Google Analytics似乎并没有跟踪此事件。知道如何解决这个问题吗?

感谢。

2 个答案:

答案 0 :(得分:4)

这里最可能出现的问题是,在事件命中发送之前,您的页面正在卸载。当您在网页上提交表单时,大多数浏览器将停止执行JavaScript并开始加载表单action属性指向的任何新页面。

一般的解决方法是在表单preventDefault事件上调用submit,等待点击成功发送到Google Analytics,然后手动重新触发表单提交

以下是它的外观(注意:为了简单起见,我使用jQuery):

$('#my-form').on('submit', function(event) {
  // Prevent the browser's default form submission action.
  event.preventDefault();

  ga('send', 'event', {
    eventCategory: 'Contact',
    eventAction: 'Information Request',
    eventLabel: 'Contact Form',
    hitCallback: function() {
      $('my-form').trigger('submit');
    }
  });
});

上述代码中的关键部分是hitCallback函数,当GA从事件命中信标返回成功时会调用该函数。

答案 1 :(得分:0)

也许尝试将事件更改为表单提交,而不是单击按钮:

<form onSubmit="ga('send', 'event', { eventCategory: 'Contact', eventAction: 'Information Request', eventLabel: 'Contact Form'});">

表单可以通过单击提交按钮以外的方式提交(例如,在输入字段中按Enter键)

另外,根据我的经验,即使你没有在事件上调用preventDefault,跟踪也几乎每次都会正确发布。