トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   一覧 最終更新   ヘルプ   最終更新のRSS
 


TIPS

Google Analyticsで携帯のアクセス解析を行う

つい最近(2009年10月末)、Google Analyticsがようやく携帯対応を行ったようです。
以前は、エクスブリッジ社のGA4Kや、猛者が独自に作ったコードぐらいしかGoogle Analytics With ケータイは実現されていなかったので、本家Googleの本腰入れての対応は、Web業界では「待望?」だったのかもしれません。 そのせいなのか、このネタのブログが多いこと、多いこと。
せっかくなので、便乗してこのサイトでもPHPでの設置方法について紹介します。

  1. まず、「Google Analytics Now More Powerful, Flexible And Intelligent」にアクセスします。
  2. download snippet instructions」のリンクから、ソースとサンプルコードのセットをダウンロードします。
  3. 上記のダウンロードファイルに同梱されている「Readme.PDF」を参考にしながら、Webサーバーの適当な(インターネットからアクセス可能な)場所に「ga.php」を配置します。
  4. トップページとなるPHPスクリプト(ここではindex.phpとします)に、以下のコードを埋め込みます。
    $GA_ACCOUNT = "MO-XXXXXXX-X";
    $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 $url;
    }
  5. 「global」がチョットだけイヤなので、以下のように「googleAnalyticsGetImageUrl」の中に入れてしまいましょう。
    function googleAnalyticsGetImageUrl() {
      $GA_ACCOUNT = "MO-XXXXXXX-X";
      $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 $url;
    }
  6. 「Readme.PDF」に従い、「$GA_ACCOUNT = "MO-XXXXXXX-X";」の「XXXXXXX-X」の部分をGoogle Analyticsの「ウェブプロパティID」に書き換えます。
    この際注意するのは、「MO」は「MO」のままにしておく必要があるってこと。
    「ウェブプロパティID」の通り「MO」の部分を「UA」と記述してしまうと、携帯の計測が正しく行われません。
  7. 「$GA_PIXEL」のパスは、事前に配置した「ga.php」のパスと一致している必要があります。
  8. index.php内のbodyタグの開始タグから終了タグを出力している範囲であれば、どこでも構わない(もちろんDOCTYPEに従った記述でね)ので、以下のようなコードを埋め込みます。
    <body>
    .
    .
    .
    <?php
      $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
    ?>
    <img src="<?= $googleAnalyticsImageUrl ?>" />
    .
    .
    .
    </body>
  9. 以上で準備完了なので、ケータイから実際にアクセスしてみて、Google Analyticsの画面から確認してみましょう。

ちなみに、「ga.phpはphp4では動かない」といったブログが散見されますが、なにが問題かというと、「ga.php」に使用されている「setrawcookie」がPHP5からしか利用できないからのようです。
PHPのマニュアルには「ブラウザに送信される際、クッキーの値が自動的にURLエンコードされないことを除き、setcookie() と等価です。」と記載されています。
なので、単純に「setrawcookie」を「setcookie」に書き換えてしまえば、実はPHP4でも動いてしまいます。
「ga.php」は「Copyright 2009 Google Inc. All Rights Reserved.」なので、もちろん、保障は一切しませんが。。。。。。

PHP4でイロイロと試したみたトコロ、リクエストは正しく受け付けている(ga.phpにアクセスが行われ、HTTPのステータスコードで200が返されている)んですが、やはり「setcookie」が問題なのか、解析結果に正しく反映されませんでした。
で、PHP5で試すと、すんなり、「DoCoMo / NTT DoCoMo」や「UP.Browser / EZweb Device」などが解析結果に表示されたので、結論は、「PHP4ではNG」ということのようです。。。
誰だ!!PHP4で解析できるって断言したヤツは!!

  • Google Alnalyticsの用語
    • ウェブプロパティID:「UA-XXXXX-YY」形式の番号。UA番号とも言う。
    • アカウント番号:ウェブプロパティIDの「XXXXX」の部分をアカウント番号と言う。
    • プロファイル番号:ウェブプロパティIDの「YY」の部分をプロファイル番号と言う。
    • プロファイルID:トラッキングプロファイル毎のID。プロファイル設定画面(プロファイルの一覧画面で「編集」のリンクをクリックし、表示される画面)で、画面左上に表示される番号。

Last-modified: 2009-11-22 (日) 00:43:10 (3314d)