我正在尝试跟踪用户点击提交表单按钮的时间并发送联系信息。我在联系页面上有这个代码:
<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帐户中,我的目标说明名称为联系表单提交,目标类型为活动。事件条件如下:
将Value字段留空。
我有&#34;使用事件值作为转换的目标值&#34;设为是。
但是,Google Analytics似乎并没有跟踪此事件。知道如何解决这个问题吗?
感谢。
答案 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,跟踪也几乎每次都会正确发布。