携帯サイトのGoogleAnalytics for モバイル
2011年5月14日PCサイトでは利用の多いGoogleAnalyticsですが、携帯サイトにも対応してます。
トラッキングコードの取得画面で、「詳細」タブを選択後、「携帯電話向けのサイト」を選択することで、php or perl or jsp or aspxのいずれかのコードを取得できます。
phpを利用してたんですが、2点修正して利用した方がよさそうな部分があったので、メモしておきます。
変更前コード
[php]
<?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(“&”, “&”, $url);
}
?>
[/php]
このコードを、以下のように変更します。
理由:
- global変数が、取得できない場合がある(テンプレート利用など)
- SERVER環境変数が取得できない場合がある
[php]
<?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(“&”, “&”, $url);
}
?>
[/php]
$GA_PIXELのファイルパスは、ドメインTOPからのパスになるので、ディレクトリを切ってる場合は、
[php]
$GA_PIXEL = ‘/some/where/ga.php’;
[/php]
のように指定してあげます。
あとは、正常にトラッキングされているかどうかを確認して完了。