因此,从您在对 yahelc 答案的评论中发布的 URL 看起来,您有一个通过 AJAX 提交并返回响应的表单。
此外,您的页面 GA 代码是异步版本,但您的问题中的代码是传统的,因此您需要使用异步语法。
在您的页面上,如果访问者未填写某些内容,相关区域将以红色突出显示(旁注:如果我不填写,我看不到“您需要填写此内容”或“这是正确格式”的消息表格正确..您应该考虑添加...)。
您需要确保的主要事情是,如果访问者成功填写表格,您只会弹出“成功”代码。因此,您真的不想将 GA 代码附加到 onsubmit 上,因为这会产生误报。无论何时访问者单击提交按钮,它都会触发,无论他们是否成功填写了表单。
所以看起来处理表单验证的 javascript 在您的 /custom.js 中,并且您在 custom.js 视图源的第 163 行有以下内容:
success: function(response){
jQuery(".ajax_form").before("<div class='ajaxresponse' style='display: none;'></div>");
jQuery(".ajaxresponse").html(response).slideDown(400);
jQuery(".ajax_form #send").fadeIn(400);
jQuery(".ajax_form input, .ajax_form textarea, .ajax_form radio, .ajax_form select").val("");
}
});
这看起来是显示“谢谢”消息的地方,在表单被验证并提交之后,所以你应该把你的 GA“成功”代码放在这个函数的某个地方。
您要插入的代码应如下所示(基于您问题中的代码):
_gaq.push(['_trackEvent', 'Goals', 'CLick-Button']);
_gaq.push(['_trackPageview','/Goa1-Button']);
注意:对于事件跟踪,这会将事件类别设置为“目标”,将事件操作设置为“单击按钮”。您可以将其他可选参数传递给 _trackEvent 以获得进一步的粒度。有关详细信息,请参阅 GA 的事件跟踪器指南。
至于目标跟踪,正如 yahelc 所提到的,这是在界面中设置的。上面的代码将发送一个页面名称为“/Goa1-Button”的虚拟页面视图,您将使用此值来设置您的目标。有很多方法可以设定目标。如果您预计 URL 参数稍后会添加到它,您可以使其与该值完全匹配或从该值开始,等等...(但还要注意,您目前无法根据事件创建目标...这是蹩脚的,但我听说 GA 正在努力最终实现这一目标)。
编辑:显然,如果您使用“新版本”,您实际上可以根据事件设定目标,正如 yahelc 在他的回答评论中提到的那样。好的!