2012-12-06 49 views
6

請求URI過濾器我有2個登陸頁面:搜索和替換在谷歌Analytics(分析)

/aa/index.php/aa/index/[sessionID]/alpha 
/bb/index.php/bb/index/[sessionID]/bravo 

因爲會話ID是唯一的,每一個登陸頁面將被跟蹤不同的頁面。因此,我需要一個過濾器來刪除sessionID。這些是我想要跟蹤:

/aa/index.php/aa/index/alpha 
/bb/index.php/bb/index/bravo 

我創建的搜索和請求URI替換自定義過濾器:

Search String: /(aa|bb)/index\.php/(aa|bb)/index/(.*) 
Replace String: /$1/index.php/$2/index/$3 

但我得到/$1/index.php/$2/index/$3第二天在儀表盤上所報告。所以我嘗試/\1/index.php/\2/index/\3,但我得到了很奇怪的結果,//aa/index.php/aa/index/alpha/index.php/aa/index/aa

有誰知道如何引用替換字符串中的分組模式?

我的解決方案: 我設法使用高級過濾器來解決它。我的解決辦法:

Field A => Request URI: /(aa|bb)/index\.php/(aa|bb)/index/(.*)/(.*) 
Field B => - 
Output to => Request URI: /$A1/index.php/$A2/index/$A4 
+0

我認爲您可能必須使用[高級篩選](http://support.google.com /analytics/bin/answer.py?hl=zh_CN&answer=1034836&topic=1034830&ctx=topic)而不是搜索和替換過濾器。 – Barmar

+0

謝謝!我設法使用高級過濾器解決它。解決方案在我的文章中。 –

+2

你應該添加,作爲一個答案,而不是編輯,並接受它:) – Ryan

回答

1

我沒有用過谷歌Analytics(分析)正則表達式引擎,但在我看來,\1被引用在整場比賽(這在其他regex實現被稱爲\0),而\2是第一組,\3是第二組,依此類推。

您最初的正則表達式,但看起來不完全 - 我認爲它應該如下:

Search String: /(aa|bb)/index\.php/(aa|bb)/index(/.*)/(alpha|bravo) 
Replace String: /\2/index.php/\3/index/\5 

(請注意,我不知道是否?在這個表達式執行作爲非貪婪支持但如果是這樣,如果將/.*更改爲/.*?,則上述搜索字符串模式可能會運行得更快一些。)

+0

我試過你的解決方案,但不幸的是,sessionID仍然出現在GA報告標準報告>內容>網站內容>所有頁面。至於(alpha | bravo),我有超過15個組合,因此我使用了/(aa|bb)/index\.php/(aa|bb)/index(/.*)/(.*)改爲將其分組。 –

+0

這個分組對我來說看起來很好 - 你不會再錯過最後一個'/',這是主要問題。 至於sessionID仍然出現,你是說,搜索和替換過濾器現在什麼都不做? –

+0

是的,它似乎搜索和替換過濾器什麼都不做。無論如何,我用高級過濾器解決了它。上面的解決方案... –