表单的Google Analytics事件跟踪(不在网站上托管)

时间:2016-06-08 22:32:24

标签: forms google-analytics

我的网站使用CognitoForms服务来托管联系表单。我正在尝试跟踪Google Analytics中的表单提交。

由于表单布局代码是从Cognitoforms'服务器

这是我的结尾处的表单代码:

<div class="cognito">
<script src="https://services.cognitoforms.com/s/YILktGvUnUapdCST4DWGvw"></script>
<script>Cognito.load("forms", { id: "12" });</script>
</div>

如您所见,我无法修改输入元素或链接以包含跟踪代码。

有没有办法可以在上面的代码中加入一个脚本,将跟踪代码推送到提交链接?

非常感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

如果表单实际位于您的网页上,那么您可以使用event delegation来了解表单的提交时间。事件委派与内联事件处理程序相比具有明显的优势,因为您可以在之前应用事件委派您关注的元素在DOM中。

以下是使用jQuery的事件委派示例。只要在页面上提交任何表单,它就会向Google Analytics发送一个事件。

$(document).on('submit', 'form', function() {
  // This code will run when **any** for is submitted on the page,
  // event forms that are added to the DOM after pageload.
  ga('send', 'event', 'form', 'submit', this.id, {transport: 'beacon'});
});

注意:在上面的代码中,transport字段设置为'beacon',因为表单提交typically unload the page,并使用信标方法发送匹配有助于确保它们实际上发送。

或者,如果您感兴趣的这些表单已提交到外部域,您实际上可以使用Google Analytics autotrackoutboundFormTracker插件来捕获此信息(自动跟踪使用事件委托)