我试图跟踪用户何时单击提交表单按钮并发送联系信息。我的联系页面上有此代码:
<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)作为转化的目标值(value)”设置为"is"。
但是,Google Analytics(分析)似乎并未跟踪该事件。知道如何解决这个问题吗?
谢谢。
最佳答案
这里最可能的问题是您的页面在事件命中有时间发送之前被卸载。当您在网页上提交表单时,大多数浏览器将停止执行 JavaScript 并开始加载表单的 action
属性指向的任何新页面。
此问题的一般解决方法是在表单的 submit
事件上调用 preventDefault
,等待点击成功发送到 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从事件命中信标返回成功时调用该函数。
关于google-analytics - Google Analytics 事件跟踪 - 提交联系表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27130000/