QiitaのGoogle Analyticsを見やすくする（URLを記事名で上書き）

#QiitaのGoogle Analyticsを見やすくする
カスタムフィルタを利用して記事名でURL上書き

GoogleアナリティクスでQiitaの記事の状態を確認するとき、URLが
http://qiita.com/AQRiL_1132/items/4e1d8eb980b952275c09
のように表示され、何のページなのか全く分からないので、強制的に記事URLを記事名によって以下のように上書きしてしまうフィルタを作りました。

**▼Before**
`http://qiita.com/AQRiL_1132/items/4e1d8eb980b952275c09`
**▼After**
`http://qiita.com/AQRiL_1132/items/【Excel】 日時情報の正体`

これを設定することで行動フローも見やすくなり、
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/d4f71c48-639a-d410-bc07-9a2b942320eb.png)

プライマリディメンジョンを一々「ページタイトル」に切り替える必要もなくなります。
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/bdaf86fb-4db1-1d93-0924-57577fb90994.png)

QiitaへのGoogleアナリティクスの設定そのものの手順についてはこちらの記事を参考にどうぞ
[QiitaでGoogleアナリティクスを利用する手順 - Qiita](http://qiita.com/Qiita/items/c7f704e3786df3aa7a11)

##手順
### ① カスタムフィルタの作成
記事URLを強制的に記事タイトルで上書きするフィルタを作成します

####手順1-1. アカウントの「すべてのフィルタ」をクリック
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/40c4fd66-6c0e-93fa-343e-1cd28172c379.png)


####手順1-2. 「+フィルタを追加」をクリック
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/02d8baed-d709-6db3-7beb-1456718e4b2c.png)


####手順1-3. フィルタを以下のように作成
フィルタ名に「Qiita_記事タイトルパス上書き」などの任意の名前を入力
「カスタム」をクリック→「詳細」をクリック

![image](https://qiita-image-store.s3.amazonaws.com/0/103957/3739632d-2ee1-9f00-d571-8131dcdd152d.png)

以下のように内容を入力
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/48c0f30b-0ec3-54cf-d37e-75e520184dcd.png)

**設定内容**

| 設定項目 | 設定項目2 |設定内容|
|:-:|:-:|:-:|
| フィルタ名  | -  |Qiita_記事タイトルパス上書き|
| フィルタの種類  |  カスタム　 |詳細|
| フィールド A -> 引用 A  | リクエストURI  |`(^/[^/]+/items/)([0-9a-z]+)`|
| フィールド B -> 引用 B  | ページタイトル  |`(.*)( - Qiita.*)`|
| 出力先 -> 構成  |リクエストURI| `$A1$B1`  |
| フィールド A は必須  | - | チェック|
| フィールド B は必須  | -  |チェック|
| 出力フィールドをオーバーライド  | -  |チェック|
| 大文字と小文字を区別  | - | -|

「ビューにフィルタを適用」は一旦無視して「保存」

### ② カスタムフィルタフィルタ適用先ビューの作成
先程作成したカスタムフィルタは適用したビューのレポート中のURLを本来存在しない架空のURLに変えてしまいます。又、これまでのレポートとのデータ整合性も無くなるので、いつも使っているビューとは別に「フィルタを適用するビュー」を新たに作成します。
これにより、これまでのビューはそのまま閲覧可能な状態で、安心してカスタムフィルタを使用することができます。

####手順2-1. ビューの「ビュー設定」をクリック
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/af75ae7c-2563-8b86-a374-6fdf7d65cd95.png)

####手順2-2. 「ビューをコピー」をクリック
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/d7bd16b3-c0f5-747c-de81-98d95f340fa3.png)

####手順2-3. 任意の名前を付けて保存
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/9798802b-a740-c643-2851-01ef730b1647.png)

### ③ フィルタの適用
先ほど作成したビューにカスタムフィルタを適用
####手順3-1. ビューの「フィルタ」をクリック
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/6f4d7f04-f201-00e4-dcfd-e407ec056fdf.png)


####手順3-2. ビューの「+フィルタを追加」をクリック
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/8482d15b-a55f-f322-18e6-c6745408bd82.png)


####手順3-3. フィルタを適用
「既存のフィルタを適用」→作成したカスタムフィルタをクリック→「追加」→「保存」
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/978c7343-b943-9a48-aa27-17c46c1fa0c1.png)

**設定完了**

新たに作ったビューはGoogleアナリティクス内のURLを開くためのリンクをクリックしても、該当のURLは実際には存在しないURLであるため、404になります
![image](https://qiita-image-store.s3.amazonaws.com/0/103957/1d392c58-6efa-058a-b3ba-a709d57e7c7f.png)


##カスタムフィルタの解説
[正規表現](https://support.google.com/analytics/answer/1034324?hl=ja)を使用して必要な情報を抽出、リクエストURI（＝レポートに記録されるURLのパスとクエリパラメータ部分）を強制的に上書きしています。

![image](https://qiita-image-store.s3.amazonaws.com/0/103957/48c0f30b-0ec3-54cf-d37e-75e520184dcd.png)

**フィールドA**
リクエストURIの抽出

| 設定項目 | 設定項目2 |設定内容|
|:-:|:-:|:-:|
| フィールド A -> 引用 A  | リクエストURI  |`(^/[^/]+/items/)([0-9a-z]+)`|
| フィールド A は必須  | - | チェック|

リクエストURIの正規表現で書き換え対象となるURLを指定し、必要な情報を抽出するため括弧記号でグループ分けしています。

Googleアナリティクスに入ってきたURLが http://qiita.com/AQRiL_1132/items/4e1d8eb980b952275c09 であるとき、
リクエストURIは`/AQRiL_1132/items/4e1d8eb980b952275c09`になります。

「出力先 -> 構成」の部分で
`$A1`と入力することにより、正規表現グループ1`(^/[^/]+/items/)`の部分に該当する `/AQRiL_1132/items/`の部分を、
`$A2`と入力することにより、正規表現グループ2`([0-9a-z]+)`の部分に該当する
`4e1d8eb980b952275c09`の部分を出力可能です。
このフィルタでは`$A1`のみを利用しています。

リクエストURIがこの正規表現に該当しないとき、このカスタムフィルタは無視されます。

**フィールドB**
ページタイトルから記事名を抽出

| 設定項目 | 設定項目2 |設定内容|
|:-:|:-:|:-:|
| フィールド B -> 引用 B  | ページタイトル  |`(.*)( - Qiita.*)`|
| フィールド B は必須  | -  |チェック|

記事のページタイトルには「【Excel】 日時情報の正体 - Qiita」のように 必ず後ろに「 - Qiita」が付きますが、この部分は不要です。
記事名である「【Excel】 日時情報の正体」のみを抽出するため、正規表現でグループ分けしています。

Googleアナリティクスに入ってきたページタイトルが 「【Excel】 日時情報の正体 - Qiita」であるとき、
「出力先 -> 構成」の部分で
`$B1`と入力することにより、正規表現グループ1`(.*)`の部分に該当する 
「【Excel】 日時情報の正体」の部分を、
`$B2`と入力することにより、正規表現グループ2`( - Qiita.*)`の部分に該当する
「 - Qiita」の部分を出力可能です。
このフィルタでは`$B1`のみを利用しています。

ページタイトルがこの正規表現に該当しないとき、このカスタムフィルタは無視されます。


**出力先 -> 構成**
リクエストURIを上書き

| 設定項目 | 設定項目2 |設定内容|
|:-:|:-:|:-:|
| 出力先 -> 構成  |リクエストURI| `$A1$B1`  |
| 出力フィールドをオーバーライド  | -  |チェック|

先ほど抽出した情報を使って、リクエストURIを上書きします。
`$A1$B1`なので、
フィールドA（元々のリクエストURI）の正規表現グループ1`(^/[^/]+/items/)`に該当する文字列の後ろに
フィールドB（ページタイトル）の正規表現グループ1`(.*)`（記事名）に該当する文字列が付いた状態でリクエストURIが上書きされます。

今回の例では、
リクエストURI`/AQRiL_1132/items/4e1d8eb980b952275c09`が
`/AQRiL_1132/items/【Excel】 日時情報の正体`に上書きされて出力されるようになります。

##おまけ

どうせURIが存在しないものに置換えられてしまうので、パスが壊れることを気にしないのであれば以下のようにカスタムフィルタを設定してしまうとスマホアプリでも見やすくて楽かもです。

[Googleアナリティクス - Android版ダウンロード](https://play.google.com/store/apps/details?id=com.google.android.apps.giant&hl=ja)
[Googleアナリティクス - iOS版ダウンロード](https://itunes.apple.com/jp/app/google-analytics/id881599038?mt=8)

![image](https://qiita-image-store.s3.amazonaws.com/0/103957/bb882696-e965-fcb8-bcaf-3533a845d4d6.png)

**設定内容**

| 設定項目 | 設定項目2 |設定内容|
|:-:|:-:|:-:|
| フィルタ名  | -  |Qiita_記事タイトルパス上書き|
| フィルタの種類  |  カスタム　 |詳細|
| フィールド A -> 引用 A  | リクエストURI  |`(^/[^/]+/items/)([0-9a-z]+)`|
| フィールド B -> 引用 B  | ページタイトル  |`(.*)( - Qiita.*)`|
| 出力先 -> 構成  |リクエストURI| `/a/$B1`  |
| フィールド A は必須  | - | チェック|
| フィールド B は必須  | -  |チェック|
| 出力フィールドをオーバーライド  | -  |チェック|
| 大文字と小文字を区別  | - | -|

![image](https://qiita-image-store.s3.amazonaws.com/0/103957/85f75208-f97d-b076-3100-06f63d5fdb8c.png)

**完**