意外と知られていない Google Analytics の便利な機能 〜その2〜 「カスタムディメンション」

#はじめに
Google Analytics Advent Calender 5日目の記事です

この記事は以下の様な方々に捧げます

* Google Analyticsでどんなことが具体的にできるのかもっと知りたい
* 基本的な使い方は理解しているが、もっと便利な方法があるなら知りたい
* 今の分析軸以外にも独自の軸を追加したい
* オイラ、GAに関して全然知らないだよー
* えっ、Google Analyticsってアクセス解析のツールじゃないの？

##概要

Google Analyticsの機能の中で、
「知ってるようで、知られていない」そんな意外な機能を紹介していきます。
できることを説明するだけでなく、実際にどういう風に使うかも解説していこうと思います。
本日ご紹介するのは、「カスタムディメンション機能」について

この機能、知られているのは知られているのですが、
実際に活用しておられる方が少ないように感じます。

#カスタムディメンション

[公式のヘルプはこちら]
(https://support.google.com/analytics/answer/2709828?hl=ja)

カスタムディメンションとは、Google Analytics（以下、GA）に備わっているディメンションにプラスして、自分で独自にディメンションを追加できる機能です。

標準ディメンションではなかなか示唆が得られないデータに対して、データをスライスする軸を追加するイメージです。

その前に、一度ディメンションと指標についておさらいしてみましょう。

##ディメンションと指標

GAには、分析に使う軸が2つあります。それがディメンションと指標です。

イメージ的にはこんな感じ。

||ディメンション|指標|
|---|---|---|
|英語表記|Dimension|Metrics
|備考|基数があり、データをスライスする軸となるもの|実際の数値やパーセント等|
|例|ブラウザ、デバイス、参照元、OS等|PV数、ユーザー数、コンバージョン率|

ディメンションは、「データをどう分けるか」の基準になります。性別というディメンションなら、男と女という二種類のデータに別れるイメージです。

つまりカスタムディメンションは、データを分ける軸を新たに追加する感じ。
では実際にカスタムディメンションを追加していきましょう。

##使用例

自分がよく使うのは、ユーザーに関するカスタムディメンション。
[3日目の記事](http://qiita.com/ssaita/items/ccdda4035fa9c9d595c0)で紹介したUserID機能は、ユーザーのIDを利用してユニークユーザー数をできるだけ正確に把握するための機能でした。しかし、データをユーザー軸で見ることができないため、ユーザー一人一人のデータを閲覧することが叶いません。

そこで、カスタムディメンションにもユーザーIDをの項目を追加し、ユーザーごとにデータを見れるようにします。

追加するのは、以下のユーザーID。

ユーザーIDを追加することで、ユーザーごとの行動がGA上から追うことができるようになります。

例えば、「ユーザーごとの直帰率やコンバージョン率を見る」というなことが可能になります。

今回はそれに追加して、CookieIDの値も取ることにしましょう。

###補足：CookieIDについて
CookieIDというのは、GAがトラッキングするのに使っているCookieのID情報のことです。
デバッグツールなどを使ってCookieの値を除くとユーザーに対して一位の値が割り振られているのが確認できます。

<img width="573" alt="capture 2015-12-05 23.15.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/72413/52e360b7-d570-47fd-2ed9-aed8621773de.png">

それをカスタムディメンションに追加します。
これによって、**同一のユーザーがサイトにどのぐらいのブラウザ（デバイス）を使って訪問しているか、ユーザーごとに見ることが可能になります。**

〜補足終わり〜


では・・・
まずは、GAの設定画面からカスタムディメンションを追加します
少しわかりにくいですが、プロパティの設定の下の方にある、
[カスタム定義]→[カスタムディメンション]へとたどります。


![custom_4.png](https://qiita-image-store.s3.amazonaws.com/0/72413/c8f26678-a1a0-136a-02de-02379b4617e5.png)


今回は2つのディメンションを追加するので、2つをそれぞれ追加します。
[範囲]の項目は、どちらもユーザーで。

![custom_1.png](https://qiita-image-store.s3.amazonaws.com/0/72413/431438b4-0384-c5d0-cea8-33058210ceb1.png)

![custom_2.png](https://qiita-image-store.s3.amazonaws.com/0/72413/4a428325-086b-cdff-9fa0-e407e95ae0f9.png)


##Google Tag Managerでの設定

今回のカスタムディメンションの設定はGoogle Tag Manager（以下、GTM）で行うので、タグの仕込みをします。

###CookieIDの取得マクロ

まず、CookieIDを取ってくるマクロを作成します。

|項目|値|
|---|---|
|名前|Cookie ID|
|種類|カスタムJavascript|

以下のコードを貼り付けます。

```js:CookieID取得処理
function(){
   var name = '_ga';
	var cookie_value = '';

	if (window.navigator.cookieEnabled) {
		// 発行したクッキーの取得（読み込み）
		if (document.cookie) {
			var cookies = document.cookie.split("; ");
			for (var i = 0; i < cookies.length; i++) {
				var str = cookies[i].split("=");
				if (str[0] == name) {
					cookie_value = unescape(str[1]);
					break;
				}
			}
		}
	}
	else {
		// クッキーの受け入れが無効時の処理
	}

   return cookie_value;
  
}
```

###タグの設定

タグは、通常のGA（UA）タグの設定から
**[その他の設定]→[カスタムディメンション]**
のところを設定します

自分はそのほかにも、ユーザーのタイプと開発環境か本番環境かを調べるためのカスタムディメンションを設定しています。

※UserIDの取得の仕方は[2日目の記事](http://qiita.com/ssaita/items/ccdda4035fa9c9d595c0)をご参照ください

![Google Tag Manager_cdi2.png](https://qiita-image-store.s3.amazonaws.com/0/72413/5ddacf82-8822-e641-c606-a7dfa4debf29.png)


以上の設定をしてタグを公開することで、自分のサイトにきたユーザーのデータをユーザー単位でスライスして見ていくことが可能になります！
うむ、カスタムディメンション便利便利。

##実際のレポート画面

こんな感じで見れます。
例えば、これだと**ユーザーIDが6のユーザーが、2つのブラウザからアクセスしてきている**ことが解りますね！

![テストレポート   Google Analytics.png](https://qiita-image-store.s3.amazonaws.com/0/72413/873191be-db77-40f4-2a7c-0b21b25e4580.png)


#余談

カスタムディメンションの他にもカスタム指標というものがあるので、それと組み合わせることにより通常のWebトラッキングでは測れないもっと複雑なデータも取れるようになります。

Webゲームを運営しているサイトだと、ユーザーごとのゲームスコアを集計したり、例えばMMORPGのようなゲームだと魔法使い等の職業ごとの行動を集計したりすることも夢ではありません。

みなさんの発想次第で、色々なデータをGAに食わせることができますよ！