google AnalyticsのAPIを利用してアクセスの多いページの情報を取得します。 利用するライブラリは↓
気になっていたcurlが使ってあっていいサンプルになりそう。
利用するのはanalytics_api::data()。引数はたぶんこんな感じ。
必須のパラメータ。サイトのプロファイルID。 IDは 「Analytics 設定 > プロファイル設定」で確認できる。

必須のパラメータ。何のデータを取るかを指定。 ga:pagePathとかga:browserとか。 複数指定する場合はカンマで区切るga:browser,ga:browserVersion
必須のパラメータ。何のデータを基準にするか的な指定。訪問者数ならga:visitsとか。 複数指定はカンマで区切る。ga:visits,ga:pageviews
ソートの指定。指定しないと$metricに基づく。
期間の始まりを指定。指定しないと実行日前日から1ヶ月分になる。予め用意されている値には today、yesterday、weekがある。
指定する場合はYYYY-MM-DDで。デフォルトは前日。
取得するMAX件数。デフォルトは10件。最高でも1000件?
取得するページのインデックス。デフォルトはページ目から。
フィルター。analytics_filtersってクラスが用意されているので 何かしらフィルターをかけれるっぽいけど詳細は不明
デバッグ用?デフォルトはfalse
重要なパラメーターはDimensionsとMetrics。これを把握すれば自在に情報を取得できそう。
実行結果はこちら
キーが日本語でなんだか気持ち悪いけどまぁいいか。 あとはforeachとかでまわすだけ。
んんっ!?(not set)ってなんだ・・・?フィルタ使えばこいうのはじけるのかな?
とりあえず置いておいてデータの比較をしてみる。
Analyticsのカスタムレポート作成から新規作成でこんな感じで設定。

レポートプレビューでレポートを表示して期間をあわせると こんな感じで出てくる。
なんか似てるけど結構違う結果。なぜだろ?? 数字はもしかしたらタイムゾーンの違いで誤差出てるのかも? それかAPIのデータとAnalyticsのデータが異なってるか?
ぼくの書いたスクリプトが間違ってたらごめんなさいw
まっ大体あってるからいいか・・・効果測定するわけじゃないし・・・と言い訳しながら終わります。
| 投稿日 | 2009年12月 5日 02:19 |
|---|---|
| カテゴリ | PHP |
| タグ | Google Analytics | サンプルコード | テストコード | ライブラリ |
| トラックバック URL | http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1198 |
2009年12月19日 01:01
「WEBプログラム覚書::[PHP]google Analytics からアクセスの多いページの情報を取得」に引き続きGoogle Analytics A...続きを読む