kotaoueはそんなかんじ

kotaoueの最新情報。

PHPでGoogle Analytics APIをいじる。

「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(); 
}
?>

一応、ポイント説明

  1. include "googleanalytics.class.php";

    googleanalytics.class.phpは、cURL関数つかってるので、インストールされてない場合は、PHPの設定変更が必要。
    ※さくらの共有サーバには入っていました。

  2. $ga->setProfile('ga:xxxxxxx');

    は、AnalyticsのURL
    https://www.google.com/analytics/reporting/?reset=1&id=xxxxxxxx&pdr=20090915-20091015のid部分。
    ga:はお決まりなので、必ず必要。

  3. $ga->setDateRange('2009-08-01','2009-10-31');

    がデータの取得期間

  4. 'dimensions'=>urlencode('ga:month,ga:pageTitle'),

    がデータのまとめ単位。
    上の例だと、ページタイトル毎の一ヶ月単位のデータを出す。

    'dimensions'=>urlencode('ga:date,ga:pageTitle'),

    とすれば、1日ごとのデータを抽出。

  5. 'metrics'=>urlencode('ga:pageviews,ga:visits,ga:entrances,ga:bounces,ga:exits'),

    が抜き出すデータ。
    これだと、PVと訪問者、入り口数と直帰数と離脱数をピックアップ!!
    ga:何とかの詳しい説明は、Dimensions & Metrics Reference – Google Analytics – Google Codeをチェック。

  6. 'filters'=>urlencode('ga:pageTitle=@情報トップ'),

    がフィルター。
    この条件に一致するデータのみをピックアップする。

  7. 'sort'=>'ga:pageTitle,ga:month'

    がソート。もちろん複数指定OK

    'sort'=>'-ga:pageTitle,-ga:month'

    のように、-をつけると降順になる。

  8. APIで取得した場合、Google Analyticsの画面と違って、直帰数と離脱数は%じゃなくて、数字でデータが抽出されるので、自分で計算してやる必要がある。
  9. あとは、抽出してきたデータを整形してやれば完成!!

毎月定期的に抜き出しているデータとかをAPIで抜き出せば、作業が楽になるってことだ!!


 \うんことどっこいしょ!/
   人
  (__)
_(__)____∧_∧___
  ( ・∀・)  ( ・∀・)  l <ドッコイショ
―(    .)―(    )―┘、
-―┐ ) ).―┐ ) )――┐
 ∑ (__ノ__ノ ∑ (__ノ__ノ    |

コメントを残す

メールアドレスが公開されることはありません。