Home > Mobile | WEB > Google Analyticsでモバイル解析

Google Analyticsでモバイル解析

アクセス解析は色々ありますが、高機能で人気なのがGoogle Analytics。Googleっていうネームバリューもしかり、使いやすくて自分も気に入ってます。でもJavaScriptを埋め込んで情報を送る仕組みなため、携帯とかモバイル関連の解析ができないのが難点。

そこでエクスブリッジからSELENE.GA4KというGoogle Analyticsを携帯サイトで利用するためのライブラリが登場しました。

で、Wordpressのktai styleプラグイン利用環境に導入する手順の覚書です。

SELENE.GA4Kの設置

まずこちらからSELENE.GA4Kをダウンロードして解凍。

Configフォルダ内のanalytics_config.phpファイルを修正。
21,22行目先頭のコメントアウトを消して有効にし、自分の環境に書き換える。

define('ANALYTICS_ID',      'XX-XXXXXXX-X');
define('WEBSITE_DOMAIN',    'http://muda.info');

Google Analyticsフォルダごとktai styleのテーマファイルのある場所にアップロード。
次にktai styleのテーマファイルheader.phpファイルを編集。
headタグの中あたりに以下のコードを追加。

<?php
require_once (dirname(__FILE__) . '/../GoogleAnalytics/Config/analytics_config.php');
require_once (dirname(__FILE__) . '/../GoogleAnalytics/Service/analytics.php');
sendGoogleAnalytics(ANALYTICS_ID, WEBSITE_DOMAIN);
?>

ちなみにフォルダ構成はこんな感じです。
wp-content/ktai-themes/GoogleAnalitics/Service/
wp-content/ktai-themes/GoogleAnalitics/Config/
wp-content/ktai-themes/muda.info/header.php

パスはheader.phpファイルからの相対パスで。
dirname(__FILE__)は後ろに/付かないので入れ忘れないように注意。

一応これだけで解析そのものはできるようになります。

記事タイトルの解析

このままだと記事のタイトルが記録されず、すべてハイフンになるので使いづらいです。
なので記事タイトルもGoogle Analyticsに送信するようにします。

analytics.phpファイルの53行目に以下を追加

$ptitle  = urlencode(ks_title()); //page title

その下の$urchinUrlにセットする処理でutmdtに$ptitleを記述。
つまり以下↓

$urchinUrl = 'http://www.google-analytics.com/__utm.gif?utmwv=1&utmn='.$utmn.'&utmsr=-&utmsc=-&utmul=-&utmje=0&utmfl=-&utmdt='.$ptitle.'&utmhn='.$utmhn.'&utmr='.$referer.'&utmp='.$utmp.'&utmac='.$utmac.'&utmcc=__utma%3D'.$cookie.'.'.$random.'.'.$today.'.'.$today.'.'.$today.'.2%3B%2B__utmb%3D'.$cookie.'%3B%2B__utmc%3D'.$cookie.'%3B%2B__utmz%3D'.$cookie.'.'.$today.'.2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B__utmv%3D'.$cookie.'.'.$uservar.'%3B';

別にいちいち変数かまさなくてもいいと思いますが、わかりづらいので一応。

検索エンジンクローラー対策

ktai styleはそもそもモバイル端末しか来ない(PCからのアクセスではSELENE.GA4Kは実行されない)のでPC用クローラーは心配ありません。さらにSELENE.GA4KはPC用のクローラー防御対策を備えています。なのでもし仮に通っても記録されません。

でも携帯に模した検索クローラーはすごい数やってくる。。。
なので対策。

クローラー対策についてはke-tai.orgさんの記事を参考にしました。

isCrawler関数をanalytics.phpに追加。

/**
 * クローラ判定
 * @return	bool	true:クローラ、false:非クローラ
 */
function isCrawler()
{
	$crawler_arr = array(
		'Googlebot-Mobile',
		'moba-crawler',
		'mobile goo',
		'LD_mobile_bot',
		'froute.jp',
		'Y!J-SRD',
		'Y!J-MRD'
	);

	foreach ($crawler_arr as $val) {
		if (false !== strpos($_SERVER['HTTP_USER_AGENT'], $val)) {
			return true;
		}
	}

	return false;
}

isMobile関数内のユーザーエージェント判定処理をisCrawlerの判定文で囲む。
つまり、クローラーだったら情報をGoogle Analyticsに送信しない。

if(!isCrawler()){
	if(eregi(USER_AGENT_PATTERN_DOCOMO, $user_agent)){
		//echo("ドコモ");
		$mobile_flg = true;
	}else if(eregi(USER_AGENT_PATTERN_SOFTBANK, $user_agent)){
		//echo("SoftBank");
		$mobile_flg = true;
	}else if(isset($_SERVER["HTTP_X_JPHONE_MSNAME"])){
		//echo("旧 J-Phone");
		$mobile_flg = true;
	}else if(eregi(USER_AGENT_PATTERN_AU, $user_agent)){
		//echo("au");
		$mobile_flg = true;
	}else if(eregi(USER_AGENT_PATTERN_WILLCOM, $user_agent)){
		//echo("WILLCOM");
		$mobile_flg = true;
	}else{
		//echo("PC");
		$mobile_flg = false;
	}
}

こんな感じです。正直これやらないとクローラーきまくりで使い物にならないかと。
有用なクローラー判定処理を作成していただいたke-tai.orgさんに感謝です。

一応手順は以上ですがこの方法、サーバー内でJavaScrit送信処理を生成して送る方式なのでGoogle Analyticsの規約としては正直微妙だと思います。

なので試す方は自己責任でお願いします。

【追記】
Ver1.1.1でクローラー対策などが改善された模様です。

【さらに追記】
Google Analyticsで携帯解析がサポートされました。

関連記事:

  1. セキュリティ関連を追加した「Google パック」リリース
  2. WP-Cacheプラグイン導入
  3. 「Google ノートブック」日本語版公開
  4. Google、モバイルGmailでケータイ絵文字を送信可能に
  5. WordPressでPCから携帯対応の絵文字入力

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.nakatta.net/archives/2009/02/google-analytics-mobile.html/trackback
Listed below are links to weblogs that reference
Google Analyticsでモバイル解析 from Nakatta blog

Home > Mobile | WEB > Google Analyticsでモバイル解析

Search
Feeds
Meta

Return to page top