初めてのシステムと日記

システムも日記も初めてです。

携帯版でのページタイトル取得

公式ブログなどを見ると携帯版ではいくつか制限事項があるとのこと。

※参照URL

http://analytics-ja.blogspot.com/2010/02/expanded-mobile-reporting.html

http://www.kagua.biz/mobile/mo-dekinai.html


出来ないことは以下のようなもの。

  • PC 向けのトラッキング コードとの併用
  • JSに依存するもの(ページタイトル取得、リファラ)
  • 地域情報

などなど


ただ、ページタイトル取得ぐらいは対応できないかと調べてみたら、

http://chinacky.hicage.com/2010/02/16/google-analytics-for-mobile%E3%81%A7%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E5%8F%96%E5%BE%97/

http://archiva.jp/web/server-side/server-side_google-analytics.html

上記のブログを拝見する限り、

utmdtというGETのパラメータにページタイトルを入れると取得できるようです。

なのでトラッキングコード、ga.phpを以下のように修正。


トラッキングコード

// ページタイトル取得
$pagetitle = 'hogehoge';

$url .= "&utmr=" . urlencode($referer);
if (!empty($path)) {
  $url .= "&utmp=" . urlencode($path);
}
$url .= "&utmdt=" .urlencode($pagetitle);  // 追記
$url .= "&guid=ON";


ga.php

// どこか適当なところに追記
$pagetitle = $_GET['utmdt'];
if (empty($pagetitle)) {
  $pagetitle = "-";
}
 ・
 ・
 ・
// Construct the gif hit url.
$utmUrl = $utmGifLocation . "?" .
    "utmwv=" . VERSION .
    "&utmn=" . getRandomNumber() .
    "&utmhn=" . urlencode($domainName) .
    "&utmr=" . urlencode($documentReferer) .
    "&utmp=" . urlencode($documentPath) .
    "&utmac=" . $account .
    "&utmcc=__utma%3D999.999.999.999.999.1%3B" .
    "&utmvid=" . $visitorId .
    "&utmdt=" . $pagetitle .                     // 追記
    "&utmip=" . getIP($_SERVER["REMOTE_ADDR"]);


今は$pagetitleを直接手作業で入れちゃってますが、

上記のような処理でページタイトルを取得できないかと試行錯誤してます。

これでGA側で取得できたら、次に$pagetitleの自動取得を試してみます。



追記(2010/04/12 19:00)

ひとまず半角英数字のみならGA側でページタイトルを取得できました。

ただ日本語になるとおそらくアクセスすら取得できていないような。。



追記(2010/04/13 11:00)

GA側で日本語もページタイトル取得できました。

urlencodeまわりの処理を忘れてました。。

以下、最終的な修正。


トラッキングコード

// ページタイトル取得
$pagetitle = 'hogehoge';

$url .= "&utmr=" . urlencode($referer);
if (!empty($path)) {
  $url .= "&utmp=" . urlencode($path);
}
$url .= "&utmdt=" .urlencode($pagetitle);  // 追記
$url .= "&guid=ON";


ga.php

// どこか適当なところに追記
$pagetitle = $_GET['utmdt'];
if (empty($pagetitle)) {
  $pagetitle = "-";
} else {
  $pagetitle = urldecode($pagetitle);
}
 ・
 ・
 ・
// Construct the gif hit url.
$utmUrl = $utmGifLocation . "?" .
    "utmwv=" . VERSION .
    "&utmn=" . getRandomNumber() .
    "&utmhn=" . urlencode($domainName) .
    "&utmr=" . urlencode($documentReferer) .
    "&utmp=" . urlencode($documentPath) .
    "&utmac=" . $account .
    "&utmcc=__utma%3D999.999.999.999.999.1%3B" .
    "&utmvid=" . $visitorId .
    "&utmdt=" . urlencode($pagetitle) .               // 追記
    "&utmip=" . getIP($_SERVER["REMOTE_ADDR"]);

GA側をたたく時にurlencodeし忘れてました。。