Googleアナリティクスと Googleタグマネージャーを使って 1セッションごとのセッション数、 ページビュー数を個別に取得する。

Pocket

timestmp_ttl
Googleアナリティクスは、直帰率、新規セッション率、ページ/セッション、平均セッション時間、コンバージョン率と平均で求める指標があります。
ですが、ページ/セッション、平均セッション時間については、特定のセッションが非常に多くのページを閲覧したりサイトに長く滞在していた場合、特異点に引きずられて平均値が本来の数値とかけ離れている場合も考えられます。
この検証方法はGoogleアナリティクスには現在ないので、必要なデータのみ取り出してExcelなどで分析するのがスムーズ。
というわけで、GoogleアナリティクスのカスタムディメンションとGoogleタグマネージャーを利用することで1セッションごとのページビュー数やセッション時間を個別に取得してみるのを試してみました。

カスタムディメンションを作成

Googleアナリティクス側で「カスタムディメンション」を作成しておきます。

timestmp01
アナリティクス設定 > プロパティ > カスタム定義 > カスタムディメンション
timestmp02
「+新しいカスタムディメンション」をクリック。

timestmp03
設定はこのような感じで。
「名前」がカスタムディメンション名になるので、わかりやすい方がよいかと。

ga('set', 'dimension1', dimensionValue);

サンプルコードが表示されるので、「dimensionValue」のところを忘れずに変更。
webサイトのソースにコピペしておきます。(私は「timestamp」にしました)

変数を作成する

ここからはGoogleタグマネージャーでの作業となります。
タイプが「カスタムJavaScript」のユーザー定義変数を作成。
timestmp04
変数名を「タイムスタンプ」とします。
JavaScriptのコードでセッションのタイムスタンプ(年月日と時分秒)を取得します。

function(){
	function padZero(num) {
		return (num<10)?'0'+num : "+num";
	}
	var now = new Date();
	var elem = [now.getFullYear(),now.getMonth()+1,now.getDate(),now.getHours(),now.getMinutes(),now.getSeconds()];
	var connect = ['-','-','',':',':'];
	var result = elem[0].toString();
	for (var i = 0; i < connect.length; ++i) {
		result += connect[i] + padZero(elem[i+1]);
	}
	return result;
}

ブラウザが取得している時間をJavaScriptで取得、「yyyy-mmm-dd hh:mm:ss」の形に整形します。(コード間違ってたらごめんなさい…)

トリガーを作成する

イベントタイプが「ページビュー」のトリガーを作成します。
timestmp05
トリガー名を「リファラーが外部サイト」とします。
タイムスタンプはセッションが開始された時だけ取得したいので、リファラーが自分のサイトを含まないという条件を「配信するタイミング」に設定。

タグを設定する

イベントを送信するためのGoogleアナリティクスのタグを作成します。
timestmp06
プロダクトは「Googleアナリティクス」、タグの種類は「ユニバーサルアナリティクス」に。
トラッキングタイプを「イベント」、カテゴリ・アクション共に先ほど作成した「タイムスタンプ」、「Referre」にします。
インデックスが「1」のカスタムディメンションに変数「タイムスタンプ」の値を格納します。(その他をクリックすると出てきます)

timestmp07
配信するタイミングは「一部のページ」とし、タグを配信するトリガーは先ほど作成したトリガー(リファラーが外部サイト)にします。
ここまでで完了したら、プレビュー > 公開を忘れずに。
Googleタグマネージャーの設定はおしまい。

カスタムレポートを作成する

設定が完了したら、Googleアナリティクスに戻ってカスタムレポートを作成します。

カスタム > サマリー > 新しいカスタムレポートをクリック
timestmp08
ディメンションは「TimeStamp」に。
初めに設定した「カスタムディメンション」が表示されます。

timestmp09
設定はこのような感じ。
種類は「フラットテーブル」を選びます。
ちなみに、ディメンションにあるタイムスタンプは個別のセッション開始時間となるため、各行のセッション数は「1」になります。

最後に

たぶんこれでデータとれてる…はず…。(若干不安)
「ここ間違ってるー」とか「こうした方がいいのでは?」など、お気づきの点ありましたらご指摘いただけると助かります!
さて、Googleアナリティクスのデータは「全てのヒットを個別に取得する」こともできるとのこと。
私はAPIは理解していないのですけど、その辺りもできれば外部BIツールで分析したりとできることも増えそうです。
できる方、あとはよろしくお願いします!w

こちらの本を参考にさせていただきました!

できる逆引き Googleアナリティクス Web解析の現場で使える実践ワザ240 ユニバーサルアナリティクス&Googleタグマネージャ対応

実践 Google タグマネージャ入門 増補版

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください