をみて、「ほぅ、ライブラリでてるなら楽勝じゃろ」と思ったので、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();
}
?>
一応、ポイント説明
googleanalytics.class.phpは、cURL関数つかってるので、インストールされてない場合は、PHPの設定変更が必要。include "googleanalytics.class.php";
※さくらの共有サーバには入っていました。
は、AnalyticsのURL$ga->setProfile('ga:xxxxxxx');
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'),
上の例だと、ページタイトル毎の一ヶ月単位のデータを出す。
とすれば、1日ごとのデータを抽出。'dimensions'=>urlencode('ga:date,ga:pageTitle'),
が抜き出すデータ。'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=@情報トップ'),
この条件に一致するデータのみをピックアップする。
がソート。もちろん複数指定OK'sort'=>'ga:pageTitle,ga:month'
のように、-をつけると降順になる。'sort'=>'-ga:pageTitle,-ga:month'- APIで取得した場合、Google Analyticsの画面と違って、直帰数と離脱数は%じゃなくて、数字でデータが抽出されるので、自分で計算してやる必要がある。
- あとは、抽出してきたデータを整形してやれば完成!!
毎月定期的に抜き出しているデータとかをAPIで抜き出せば、作業が楽になるってことだ!!
\うんことどっこいしょ!/
人
(__)
_(__)____∧_∧___
( ・∀・) ( ・∀・) l <ドッコイショ
―( .)―( )―┘、
-―┐ ) ).―┐ ) )――┐
∑ (__ノ__ノ ∑ (__ノ__ノ |
0 件のコメント:
コメントを投稿