2009-06-03 55 views
0

我正在使用Google Analytics的網站上工作。在大多數頁面上,默認調用_trackPageView()來記錄GA中使用當前URL的頁面視圖工作得很好。我可以將該代碼添加到母版頁,以便將其包含在每個頁面中。使用ASP.NET覆蓋Google Analytics_trackPageView的方法

但是,在某些情況下,我想覆蓋GA中記錄的頁面的名稱。例如,我可能只有一個頁面,它有多個步驟,並且希望將它們記錄爲GA中的單獨頁面。 _trackPageView方法對此很好,但我不確定將它合併到ASP.NET中的最佳方式。我不想處理在每個頁面上調用_trackPageView的邏輯。

我在想,或者在母版頁上暴露一個屬性(類似OverrideGAURL),如果存在的話插入到_trackPageView的調用中,或者將GA腳本渲染包裝到具有暴露方法或屬性的用戶控件中覆蓋默認的渲染。

有沒有做過類似的事情或對此有何建議?我的主要目標是封裝GA腳本渲染,並且只需在代碼後面添加一行代碼或通過設置屬性即可覆蓋頁面名稱。

回答

1

結束了創建一個公共頁面名稱屬性一個簡單的用戶控制。如果PageName屬性被設置,則_trackPageView被調用並且PageName值被傳遞,否則_trackPageView被調用而沒有任何參數。

這種方法運行得非常好,通過從用戶控件中的web.config中讀取,可以非常容易地管理環境之間的GA跟蹤代碼。

2

我不是ASP.NET的人,但使用_trackPageView生成一個額外的虛擬頁面視圖只能以一種方式完成:使用適當的URL路徑調用該方法。在有多個步驟的相應頁面,你必須調用_trackPageView每一步,就像這樣:

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

除此之外,你仍然需要在標準的跟蹤代碼原來_trackPageView電話。

請參閱How do I track AJAX applications?在Google Analytics幫助中瞭解更多詳細信息。