使用ASP.NET覆盖Google Analytics _trackPageView的方法

时间:2009-06-03 16:22:22

标签: asp.net google-analytics

我正在使用Google Analytics的网站上工作。在大多数页面上,使用当前URL在GA中记录页面视图的_trackPageView()的默认调用正常。我可以将该代码添加到母版页,以便它包含在每个页面中。

但是,在某些情况下,我想覆盖在GA中记录的页面名称。例如,我可能有一个页面有多个步骤,并希望将它们记录为GA中的单独页面。 _trackPageView方法适用于此,但我不确定将其合并到ASP.NET中的最佳方法。我不想处理在每个页面上呈现_trackPageView调用的逻辑。

我想我要么在母版页上暴露一个属性(类似于OverrideGAURL),如果将其插入到_trackPageView的调用中,或者将GA脚本渲染包装到具有暴露于的方法或属性的用户控件中覆盖默认渲染。

有没有做过类似的事情或有最佳方法的建议?我的主要目标是封装GA脚本呈现,并且只需在后面的代码中使用一行代码或通过设置属性来覆盖页面名称。

3 个答案:

答案 0 :(得分:2)

我不是ASP.NET人员,但使用_trackPageView生成额外的虚拟页面视图只能以一种方式完成:使用适当的URL路径调用方法。在包含多个步骤的网页上,您必须为每个步骤调用_trackPageView,如下所示:

pageTracker._trackPageView('/Page_name/Step2');

除此之外,您仍需要标准跟踪代码中的原始_trackPageView来电。

有关详细信息,请参阅Google Analytics帮助中的 How do I track AJAX applications?

答案 1 :(得分:1)

结束使用公共P​​ageName属性创建简单的用户控件。如果设置了PageName属性,则调用_trackPageView并传递PageName值,否则调用_trackPageView而不带任何参数。

这种方法运行良好,通过从用户控件中的web.config读取,可以非常轻松地在环境之间管理GA跟踪代码。

答案 2 :(得分:0)

您可能最好只让谷歌使用多视图跟踪标准页面名称,如果您不希望它出现在报告中,只需使用Google Analytics过滤页面名称。然后,在每个视图中,只需将此脚本放入:pageTracker._pageView('/ UniqueViewName');跟踪每个步骤,然后您希望显示在您的内容中。

要了解有关过滤页面的信息,请参阅:https://www.google.com/support/googleanalytics/bin/answer.py?answer=55593&hl=en_US&utm_id=ad