Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在提交表单时在Google Analytics上设置事件跟踪?_Javascript_Forms_Google Analytics - Fatal编程技术网

Javascript 如何在提交表单时在Google Analytics上设置事件跟踪?

Javascript 如何在提交表单时在Google Analytics上设置事件跟踪?,javascript,forms,google-analytics,Javascript,Forms,Google Analytics,我试图跟踪用户何时点击联系人表单上的提交按钮。 页面的URL不变,它是静态的。 我无法在提交后跟踪不同的URL,唯一的选择是跟踪用户何时点击提交按钮 我需要编辑我的分析帐户吗? 在哪里添加额外的javascript? UA安装正确(analytics.js) 我是GA和javascript的新手,请为我详细介绍一下 谢谢 这有点不合逻辑。即使Url没有更改,也可能会发生一些事情-在发送之前,可能会进行一些表单验证,并且在后台会执行一些操作来发送表单,例如ajax调用 您可以将事件跟踪附加到提交处

我试图跟踪用户何时点击联系人表单上的提交按钮。
页面的URL不变,它是静态的。
我无法在提交后跟踪不同的URL,唯一的选择是跟踪用户何时点击提交按钮

我需要编辑我的分析帐户吗?
在哪里添加额外的javascript?
UA安装正确(analytics.js)
我是GA和javascript的新手,请为我详细介绍一下

谢谢

这有点不合逻辑。即使Url没有更改,也可能会发生一些事情-在发送之前,可能会进行一些表单验证,并且在后台会执行一些操作来发送表单,例如ajax调用

您可以将事件跟踪附加到提交处理程序:

<form onSubmit="ga('send','event','category','action','label')">
<input type="text" id="text" name="text">
<input type="submit">
 </form>
但是,这并不能告诉您是否正确处理了数据。为此,您需要使服务器发出成功消息并检查响应:

$( document ).ajaxSuccess(function( event, xhr, settings ) {
  if ( settings.url == "formprocessor.php" ) {

      if(xhr.responseText.indexOf("success") > -1) {
       ga('send','event','Form','Response Received','Form data processed ');
      } else {
       ga('send','event','Form','Response Received','Form data NOT processed ');
      }
  }
});
全局ajax事件处理程序附加到文档中—您可以将其放在页面的任何位置,除非调用ajax事件,否则它将不会执行任何操作

同样,这不是生产代码。不要尝试复制和粘贴。

如果你是新手,这肯定有点多,但它至少应该帮助你改进这个问题,看看什么样的事情是可能的。如果你能分享你的表单的Url,我可能会改进答案

这有点不合逻辑。即使Url没有更改,也可能会发生一些事情-在发送之前,可能会进行一些表单验证,并且在后台会执行一些操作来发送表单,例如ajax调用

您可以将事件跟踪附加到提交处理程序:

<form onSubmit="ga('send','event','category','action','label')">
<input type="text" id="text" name="text">
<input type="submit">
 </form>
但是,这并不能告诉您是否正确处理了数据。为此,您需要使服务器发出成功消息并检查响应:

$( document ).ajaxSuccess(function( event, xhr, settings ) {
  if ( settings.url == "formprocessor.php" ) {

      if(xhr.responseText.indexOf("success") > -1) {
       ga('send','event','Form','Response Received','Form data processed ');
      } else {
       ga('send','event','Form','Response Received','Form data NOT processed ');
      }
  }
});
全局ajax事件处理程序附加到文档中—您可以将其放在页面的任何位置,除非调用ajax事件,否则它将不会执行任何操作

同样,这不是生产代码。不要尝试复制和粘贴。


如果你是新手,这肯定有点多,但它至少应该帮助你改进这个问题,看看什么样的事情是可能的。如果您可以共享表单的Url,我可能会改进答案。

手册中有:手册中有:谢谢!,这正是我想知道的,我也在运行两个GA Property实例,onSubmit脚本中的数据是否会将数据发送到这两个属性?否。您需要创建命名跟踪器(stackoverflow上已有一些关于命名跟踪器的帖子)并将调用发送到这两个跟踪器实例。@RzK,使用命名双跟踪器的另一种选择是使用GA插件将数据发送到多个帐户,其优点是您只需要进行一次跟踪调用,并且插件负责将调用发送到两个帐户。例如,David Vallejo已经在他的博客上开始了一个小项目,也许你想帮忙(至少有建议):。谢谢!,这正是我想知道的,我也在运行两个GA Property实例,onSubmit脚本中的数据是否会将数据发送到这两个属性?否。您需要创建命名跟踪器(stackoverflow上已有一些关于命名跟踪器的帖子)并将调用发送到这两个跟踪器实例。@RzK,使用命名双跟踪器的另一种选择是使用GA插件将数据发送到多个帐户,其优点是您只需要进行一次跟踪调用,并且插件负责将调用发送到两个帐户。David Vallejo在他的博客上开始了一个小项目,也许你想帮忙(至少有建议):。
$( document ).ajaxSuccess(function( event, xhr, settings ) {
  if ( settings.url == "formprocessor.php" ) {

      if(xhr.responseText.indexOf("success") > -1) {
       ga('send','event','Form','Response Received','Form data processed ');
      } else {
       ga('send','event','Form','Response Received','Form data NOT processed ');
      }
  }
});