0

我有一个带有订购单的页面。我想跟踪谷歌分析中的 onSubmit 点击。这是我使用的格式。我还在管理/目标面板的谷歌分析中添加了正确的信息。

<form method='post' id='form_catalogrequest' name='CatalogRequest' value='CatalogRequest' onSubmit ="return valid(this);_gaq.push(['_trackEvent', 'catalogRequest', 'Submit']);">

这是设置它的正确方法吗?有一个更好的方法吗?因为当我处理表格时它没有在 GA 中跟踪。

http://www.positivepromotions.com/catalogrequest.aspx

4

1 回答 1

2

问题是,在您拥有 GA 代码之前,return valid(this);由于您要返回某些内容,因此之后的所有代码都将被忽略。您需要重组 onSubmit 代码以允许触发 GA 代码。从链接中查看您的函数,如果表单字段有效,valid()它看起来最终会返回,如果不是。 truefalse

所以有两种方法可以解决这个问题:

方法 A: 将 onSubmit 代码包装在一个条件中

<form method='post' id='form_catalogrequest' name='CatalogRequest' value='CatalogRequest' onSubmit ="if (valid(this)){_gaq.push(['_trackEvent', 'catalogRequest', 'Submit']); return true;} else { return false; }">

方法 B:将您的 GA 代码移动到您的valid()函数中:

function valid(form){

  // lots of form validation stuff that I didn't c/p to save space

  _gaq.push(['_trackEvent', 'catalogRequest', 'Submit']);
  return true;
}

就我个人而言,我会选择方法 B,因为它是 IMO 清洁剂。

于 2013-02-05T16:42:05.093 回答