谷歌分析事件跟踪-联系表单提交

4
我正在尝试跟踪用户何时单击提交表单按钮并发送联系信息。我在联系页面上有以下代码: 我使用通用分析(Universal Analytics)。
在我的Google Analytics帐户中,我使用“联系表单提交”作为目标名称,目标类型为事件。事件条件如下:
类别-等于-联系人 操作-等于-信息请求 标签-等于-联系表单
价值字段为空。
我已将“使用事件值作为转化的目标值”设置为是。
然而,Google Analytics似乎没有跟踪此事件。有什么办法可以解决这个问题吗?
谢谢。

您能在实时报告中看到事件吗? - nyuen
不,它甚至在“行为”->“事件”中也没有显示出来。 - Mixcels
你能分享一下你的网站吗?我没有看到代码有什么问题。所以你正在触发事件,然后立即在实时报告中进行检查吗?(实时报告有30分钟的窗口期)。它在标准报告中至少需要24小时才会显示出来,在此期间需要处理数据。 - nyuen
很遗憾,我无法分享该网站(因为它不是我的),可能有什么原因导致它无法正常工作吗? - Mixcels
不确定,但是您可以检查实时报告中的其他内容,例如您自己的访问量,以排除分析根本未工作的可能性。但请确保在访问页面后立即检查报告。 - nyuen
2个回答

4
这里最可能的问题是,您的页面在事件发送前被卸载。当您在网页上提交表单时,大多数浏览器会停止执行 JavaScript 并开始加载表单的 action 属性指向的新页面。
一般的解决方法是,在表单的 submit 事件上调用 preventDefault,等待 hit 成功发送到 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从事件命中的信标返回成功时,该函数将被调用。

0

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

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

表单可以通过其他方式提交,而不只是通过点击提交按钮(例如在输入字段中按Enter键)。
另外,根据我的经验,即使您没有在事件上调用preventDefault,跟踪也几乎每次都会正确发布。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接