携帯サイトのGoogleAnalytics for モバイル
2011年5月14日PCサイトでは利用の多いGoogleAnalyticsですが、携帯サイトにも対応してます。
トラッキングコードの取得画面で、「詳細」タブを選択後、「携帯電話向けのサイト」を選択することで、php or perl or jsp or aspxのいずれかのコードを取得できます。
phpを利用してたんですが、2点修正して利用した方がよさそうな部分があったので、メモしておきます。
変更前コード
<?php // Copyright 2009 Google Inc. All Rights Reserved. $GA_ACCOUNT = "MO-23350941-1"; $GA_PIXEL = "/ga.php"; function googleAnalyticsGetImageUrl() { global $GA_ACCOUNT, $GA_PIXEL; $url = ""; $url .= $GA_PIXEL . "?"; $url .= "utmac=" . $GA_ACCOUNT; $url .= "&utmn=" . rand(0, 0x7fffffff); $referer = $_SERVER["HTTP_REFERER"]; $query = $_SERVER["QUERY_STRING"]; $path = $_SERVER["REQUEST_URI"]; if (empty($referer)) { $referer = "-"; } $url .= "&utmr=" . urlencode($referer); if (!empty($path)) { $url .= "&utmp=" . urlencode($path); } $url .= "&guid=ON"; return str_replace("&", "&amp;", $url); } ?>
このコードを、以下のように変更します。
理由:
- global変数が、取得できない場合がある(テンプレート利用など)
- SERVER環境変数が取得できない場合がある
<?php // Copyright 2009 Google Inc. All Rights Reserved. function googleAnalyticsGetImageUrl() { $GA_ACCOUNT = "MO-xxxxxxxx"; $GA_PIXEL = "/ga.php"; $url = ""; $url .= $GA_PIXEL . "?"; $url .= "utmac=" . $GA_ACCOUNT; $url .= "&utmn=" . rand(0, 0x7fffffff); $referer = @$_SERVER["HTTP_REFERER"]; $query = @$_SERVER["QUERY_STRING"]; $path = @$_SERVER["REQUEST_URI"]; if (empty($referer)) { $referer = "-"; } $url .= "&utmr=" . urlencode($referer); if (!empty($path)) { $url .= "&utmp=" . urlencode($path); } $url .= "&guid=ON"; return str_replace("&", "&amp;", $url); } ?>
$GA_PIXELのファイルパスは、ドメインTOPからのパスになるので、ディレクトリを切ってる場合は、
$GA_PIXEL = '/some/where/ga.php';
のように指定してあげます。
あとは、正常にトラッキングされているかどうかを確認して完了。