2013-02-05 272 views
0

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

<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

回答

2

的问题是,你有你的return valid(this); GA代码之前,既然你回来的东西,在这之后的所有代码将被忽略。您需要重构您的onSubmit代码以允许触发GA代码。通过链接查看您的valid()函数,如果表单字段有效,它看起来像最终返回true,如果不是,那么它将返回false

因此,有两种方法可以去了解这一点:

方法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清洁剂。

+0

方法A适用于我,因为我无法访问验证。这是一个很棒的答案。 – user2043814

+0

太棒了!你能标记为已解决吗? ;) –