「Google Analytics API 」をPHPから便利に使えるクラスライブラリ:phpspot開発日誌
をみて、「ほぅ、ライブラリでてるなら楽勝じゃろ」と思ったので、PHPからGoogle Analytics API使ってみました。
とりあえず最初に、Google Analytics API class for PHP | Ask About PHPから、ファイルをダウンロード。
あとは、適当にゴニョゴニョしてれば出来上がり。
以下、サンプルコード!!
<?php
include "googleanalytics.class.php";
try {
// ID パスワード入力
$ga = new GoogleAnalytics('example@example.com','password');
// Analytics プロファイル
$ga->setProfile('ga:xxxxxxx');
// データ選択期間。
$ga->setDateRange('2009-08-01','2009-10-31');
$report = $ga->getReport(
array('dimensions'=>urlencode('ga:month,ga:pageTitle'),
'metrics'=>urlencode('ga:pageviews,ga:visits,ga:entrances,ga:bounces,ga:exits'),
'filters'=>urlencode('ga:pageTitle=@ページ名'),
'sort'=>'ga:pageTitle,ga:month'
)
);
if (is_array($report) && count($report)) {
echo "<table>";
echo "<tr>";
echo "<th>タイトル</th>";
echo "<th>PV</th>";
echo "<th>訪問者</th>";
echo "<th>直帰率</th>";
echo "<th>離脱率</th>";
echo "</tr>";
foreach ($report as $key => $value) {
echo "<tr>";
echo "<td>".$key."</td>";
echo "<td>".$value['ga:pageviews']."</td>";
echo "<td>".$value['ga:visits']."</td>";
// ID 直帰率の計算
echo $value['ga:entrances'] ? "<td>".sprintf('%0.2f%%',$value['ga:bounces'] / $value['ga:entrances'] * 100)."</td>" : "<td>--</td>";
// ID 離脱率の計算
echo $value['ga:pageviews'] ? "<td>".sprintf('%0.2f%%',$value['ga:exits'] / $value['ga:pageviews'] * 100)."</td>" : "<td>--</td>";
echo "</tr>";
}
echo "</table>";
}
} catch (Exception $e) {
print 'Error: ' . $e->getMessage();
}
?>
一応、ポイント説明
-
include "googleanalytics.class.php";googleanalytics.class.phpは、cURL関数つかってるので、インストールされてない場合は、PHPの設定変更が必要。
※さくらの共有サーバには入っていました。 -
$ga->setProfile('ga:xxxxxxx');は、AnalyticsのURL
https://www.google.com/analytics/reporting/?reset=1&id=xxxxxxxx&pdr=20090915-20091015のid部分。
ga:はお決まりなので、必ず必要。 -
$ga->setDateRange('2009-08-01','2009-10-31');がデータの取得期間
-
'dimensions'=>urlencode('ga:month,ga:pageTitle'),がデータのまとめ単位。
上の例だと、ページタイトル毎の一ヶ月単位のデータを出す。'dimensions'=>urlencode('ga:date,ga:pageTitle'),とすれば、1日ごとのデータを抽出。
-
'metrics'=>urlencode('ga:pageviews,ga:visits,ga:entrances,ga:bounces,ga:exits'),が抜き出すデータ。
これだと、PVと訪問者、入り口数と直帰数と離脱数をピックアップ!!
ga:何とかの詳しい説明は、Dimensions & Metrics Reference – Google Analytics – Google Codeをチェック。 -
'filters'=>urlencode('ga:pageTitle=@情報トップ'),がフィルター。
この条件に一致するデータのみをピックアップする。 -
'sort'=>'ga:pageTitle,ga:month'がソート。もちろん複数指定OK
'sort'=>'-ga:pageTitle,-ga:month'のように、-をつけると降順になる。
- APIで取得した場合、Google Analyticsの画面と違って、直帰数と離脱数は%じゃなくて、数字でデータが抽出されるので、自分で計算してやる必要がある。
- あとは、抽出してきたデータを整形してやれば完成!!
毎月定期的に抜き出しているデータとかをAPIで抜き出せば、作業が楽になるってことだ!!
\うんことどっこいしょ!/ 人 (__) _(__)____∧_∧___ ( ・∀・) ( ・∀・) l <ドッコイショ ―( .)―( )―┘、 -―┐ ) ).―┐ ) )――┐ ∑ (__ノ__ノ ∑ (__ノ__ノ |
このエントリと似たかんじのエントリ
[...] http://www.plusmb.jp/2010/04/12/5381.html http://kota.oue.me/php%E3%81%A7google-analytics-api%E3%82%92%E3%81%84%E3%81%98%E3%82%8B%E3%80%82/ [...]