2009年12月05日 02:19

[PHP]google Analytics からアクセスの多いページの情報を取得

| http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/501

google AnalyticsのAPIを利用してアクセスの多いページの情報を取得します。 利用するライブラリは↓

気になっていたcurlが使ってあっていいサンプルになりそう。

指定期間のPV数の多いページを取得

利用するのはanalytics_api::data()。引数はたぶんこんな感じ。

@param string $id

必須のパラメータ。サイトのプロファイルID。 IDは 「Analytics 設定 > プロファイル設定」で確認できる。

@param string $dimension

必須のパラメータ。何のデータを取るかを指定。 ga:pagePathとかga:browserとか。 複数指定する場合はカンマで区切るga:browser,ga:browserVersion

@param string $metric

必須のパラメータ。何のデータを基準にするか的な指定。訪問者数ならga:visitsとか。 複数指定はカンマで区切る。ga:visits,ga:pageviews

@param string $sort

ソートの指定。指定しないと$metricに基づく。

@param string $start

期間の始まりを指定。指定しないと実行日前日から1ヶ月分になる。予め用意されている値には today、yesterday、weekがある。

@param string $end

指定する場合はYYYY-MM-DDで。デフォルトは前日。

@param integer $max_results

取得するMAX件数。デフォルトは10件。最高でも1000件?

@param integer $start_index

取得するページのインデックス。デフォルトはページ目から。

@param string|analytics_filters

フィルター。analytics_filtersってクラスが用意されているので 何かしらフィルターをかけれるっぽいけど詳細は不明

@param boolean $debug

デバッグ用?デフォルトはfalse

重要なパラメーターはDimensionsとMetrics。これを把握すれば自在に情報を取得できそう。


require_once('/analytics_api.php');
$api = new analytics_api();

// 引数はログイン用のメールアドレスとパス
if($api->login(MAIL, PASS)) {
    $result = $api->data(
              'ga:792415',                 // id プロファイルのNoを指定
              'ga:pageTitle,ga:pagePath',  // dimension ページタイトルとパス
              'ga:pageviews',              // metric ページビュー
              false,                         // sort
              '2008-11-01',                // start
              '2008-11-30',                // end 
              '25'                         //max_results 取得件数
              );
} else {
    throw new Exception('ログインに失敗しました。IDとパス要確認');
}

echo '<pre>';
var_dump($result);
echo '</pre>';

実行結果はこちら

キーが日本語でなんだか気持ち悪いけどまぁいいか。 あとはforeachとかでまわすだけ。


$html = '';
foreach ($result as $name => $pagedata) {
    $title = $name;
    $url = key($pagedata);
    $view = $pagedata[$url]['ga:pageviews'];
    
    $html .= sprintf(
                    '<li><a href="%s">%s(%sビュー)</a></li>',
                    $url,$title,$view
                    );
}
echo '<ol>' . $html . '</ol>';

実行結果

  1. WEBプログラム覚書::PHP 参照渡し(リファレンス)と値渡し(420ビュー)
  2. WEBプログラム覚書::jQueryによる表示、非表示切り替え(371ビュー)
  3. 情報備忘録::Photoshop チュートリアル 基本的な光の作り方(308ビュー)
  4. 情報備忘録::eclipse + PDT 2.0 + XAMPP で作るWordpress開発環境(288ビュー)
  5. 情報備忘録::Dreamweaverで文字コードを変換する手順(278ビュー)
  6. WEBプログラム覚書::javascript フォーム関連オブジェクトの取得(240ビュー)
  7. WEBプログラム覚書::PHP empty() isset() is_null() if()(228ビュー)
  8. WEBプログラム覚書::表示内容の切り替え(JavaScript)(207ビュー)
  9. WEBプログラム覚書::MySQLエラー「Column 'カラム名' in field list is ambiguous」(204ビュー)
  10. WEBプログラム覚書::PHP Array関数いろいろ(201ビュー)
  11. 情報備忘録::googleのJavaScriptのツール Closure Tools(195ビュー)
  12. 情報備忘録::IE6以下で<a>以外にも:hoverを利用(186ビュー)
  13. WEBプログラム覚書::javascript 子要素取得のメモ(185ビュー)
  14. WEBプログラム覚書::Divの高さを揃える方法 (css版)(174ビュー)
  15. WEBプログラム覚書::最小?IEブラウザ判定(155ビュー)
  16. 情報備忘録::フリーテクスチャ ダウンロードサイト2(146ビュー)
  17. WEBデザイン・ホームページ制作 KANTENA:アプリケーション:グラフィックツール:PhotoShop:チュートリアル:一覧(133ビュー)
  18. WEBデザイン・ホームページ制作 KANTENA:アプリケーション:グラフィックツール:PhotoShop:チュートリアル:基本的な光の作り方2(110ビュー)
  19. WEBプログラム覚書::ActionScript3 メモ3 [基礎]Arrayクラス(101ビュー)
  20. WEBプログラム覚書::ウィンドウサイズを取得(99ビュー)
  21. 情報備忘録::Eclipseの用語とかショートカットとかメモ(98ビュー)
  22. WEBデザイン・ホームページ制作 KANTENA:アプリケーション:グラフィックツール:PhotoShop:チュートリアル:基本的な光の作り方1(96ビュー)
  23. WEBプログラム覚書::ActionScript3.0 表示リスト メモ(92ビュー)
  24. WEBデザイン・ホームページ制作 KANTENA:WEBデザイン・制作:開発環境:XAMPP:複数サイトの開発:複数サイトの開発(86ビュー)
  25. WEBプログラム覚書::jQuery プラグイン Slide boxメモ(85ビュー)

んんっ!?(not set)ってなんだ・・・?フィルタ使えばこいうのはじけるのかな?

とりあえず置いておいてデータの比較をしてみる。

カスタムレポート作成

Analyticsのカスタムレポート作成から新規作成でこんな感じで設定。

レポートプレビューでレポートを表示して期間をあわせると こんな感じで出てくる。

なんか似てるけど結構違う結果。なぜだろ?? 数字はもしかしたらタイムゾーンの違いで誤差出てるのかも? それかAPIのデータとAnalyticsのデータが異なってるか?

ぼくの書いたスクリプトが間違ってたらごめんなさいw

まっ大体あってるからいいか・・・効果測定するわけじゃないし・・・と言い訳しながら終わります。

プログラミングPHP 第2版

著者 : Rasmus Lerdorf / 金額 : ¥ 3,990

[PHP]google Analytics からアクセスの多いページの情報を取得タグ:

トラックバック

  • http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/501
[WEBプログラム覚書]2009年12月19日 01:01
[PHP]Google Analytics からデータを取得 part2
「WEBプログラム覚書::[PHP]google Analytics からアクセスの多いページの情報を取得」に引き続きGoogle Analytics A...
コメント (0)
コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)





この情報を登録しますか?


先月アクセスが多かったページ