GoogleAnalyticsのデータをエクセルで取得(API経由)する方法
2011年04月15日
GoogleAnalyticsにはいくつかのAPIがあります。
このAPIを用いれば、
自由にデータを取得して加工できたりします。
おそらく普通に思いつくのが
Excelにデータを取得して加工することですよね。
実はExcelのマクロが組める方であれば、
結構簡単にこのAPI経由でデータが取得できるんですよ。
僕はAPI経由でデータ取得することは、
2つの大きなメリットがあると思っています。
・定型作業を自動化できる
・アドバンスセグメントを使わなくても絞り込んだデータが取得できる
今日はその方法をお伝えします。
※Excellent Analyticsじゃないです。
あれは使いづらいから。。
手順としては3STEPです。
STEP1 : GA data fetch.xlsをダウンロードする
STEP2 : APIの仕組みを簡単に理解する
STEP3 : GA data fetch.xlsを実際に使う
——————————————————
STEP1 : GA data fetch.xlsをダウンロードする
——————————————————
まずこちらから「GA data fetch.xls 」をダウンロードしてください。
※ページの中程にテキストリンクであります。
これが基本機能(関数)を備えた
元になるエクセルブックになります。
カスタマイズ自由だそうです。
これを無料で配ってくれているのは
ありがたいし、素晴らしいことですよね。
下の方にちっちゃく寄付もあるようです。
控え面な人です。。(僕は好きです(笑)
***2011/07/01追記
このプログラム、悪くないのですが、
プロファイルの取得やセグメントの指定方法など
ちょっとしたところにバグがあります(^^;)
しかし僕も無理やり「えいや!」と治しまたので、
修正版の公開レベルには至っておらず。。
制作者にフィードバックするか悩みどころですが、
先に情報連携させてもらいます。
普通に使う分には動きますので問題ないです。
——————————————————
STEP2:APIの仕組みを簡単に理解する
——————————————————
実はGAのAPIにはいくかの種類があるのですが、
今回使うのはDATA EXPORT APIと言います。
知っておかなければいけないDATA EXPORT APIの仕様は以下5つです。
1.まず認証してTOKEN(認証キー)とプロファイルIDを取得する必要がある
2.そのTOKENとプロファイルIDを使って
区分(Dimention)と欲しいデータ(Metrics)をリクエストしてデータを取得する
3.区分(Dimention)は10個まで指定できるので、
かなり絞り込んだデータを取得できる
4.1万行を超えるデータは一気には取得できない
5.1日(24時間)に 10,000回を超えるリクエストはできない
以下順番にご説明します。
1.まず認証してTOKEN(認証キー)を取得する必要がある
google analyticsにログインする時の
IDとパスワードを使ってTOKENを取得します。
深く考えなくても、今回ダウンロードしたエクセルが
簡単にやってくれます。
2.そのTOKENとプロファイルIDを使って区分(Dimention)と欲しい数値(Metrics)をリクエストしてデータを取得する
データを取得するためには、少なくとも
——
・日付の範囲
・欲しいデータの種類
——
をリクエストする必要がありますよね。
この欲しいデータの種類を伝える時、肝になるのが
・区分(Dimention)と
・欲しい数値(Metrics)
です。
区分(Dimention)は、例えば
・Source(yahoo,googleなど)別のデータ一覧が欲しい
・Keyword別のデータ一覧が欲しい
などと指定します。
欲しい数値(Metirics)は、
・Visits(セッション数)の数値が欲しい
・Goal(コンバージョン)の数値が欲しい
などと指定します。
このDementionとMetricsの理解は大切ですので、
例をあげます。
例えば
Demention:Source
Metrics:Visit & Goal
とリクエストすれば、以下のようなデータが取得できます。
Source , Visit , Goal
———————-
yahoo , 100 , 4
Google , 200 , 10
bing , 50 , 2
———————-
上記ではYahoo経由のVisitが100セッション。
そのうちGoalした人は4セッションということがわかります。
つまりDemention毎のMetricsの値が取れるというわけです。
DementionとMetricsの種類一覧は公式マニュアルをご覧ください。
▼Googleのマニュアル
3.区分(Dimention)は10個まで指定できるので、かなり絞り込んだデータを取得できる
これがAPIを使う大きなメリットだと僕は思います。
普通データを絞り込むには
アドバンスセグメントを使いまますよね?
でもこのAPI経由ならば、
簡単にデータが絞り込めます。
例えば、
yahoo経由でお問い合わせページを見た人
GoogleAdwordsのxxxキャンペーン経由でお問い合わせページを見た人
などに絞り込めます。
おわかりですね。
区分(Demention)をたくさん並べていけばいいのです。
source&medium&keyword…
と並べれば、それだけ細かくデータが抽出できます。
GAの画面でセカンドディメンションを使ったことがあるならば、
これが10個まで指定できるとイメージしてもらえば。
4.1万行を超えるデータは一気には取得できない
そのままです。
区分を細かく指定すればそれだけデータ行は増えます。
例えば、
yahoo経由のキーワード別の・・・とやれば、
どんどんデータ行が増えますね。
これを防ぐためにはFilterを有効活用して、
抽出するデータの数を絞るとよいと思います。
Filterの詳細もGoogleのマニュアルページで。
▼Googleのマニュアル(Filterについて)
5.1日(24時間)に 10,000回を超えるリクエストはできない
そのままです。
1万回実行すると、翌日まで待たなくてはなりません。
——————————————————
STEP3 : GA data fetch.xlsを実際に使う
———–
——————————————-
実際に使ってみましょう。
手順としてはこちらも3ステップです。
なお、こちらにちょっと画面が古いけど、
作者の説明があります。
▼作者による説明
1.TOKENとプロファイルIDの取得
まず、Excelのワークシートの該当部分に
メールアドレスとパスワードを入力し、
Excelワークブックの中の
getGAauthenticationToken
という関数を実行します。
そうするとワークブックにTOKENと
そのアカウントに存在するプロファイルの一覧(ID)が表示されます。
2.getGAdata関数を使って試しにデータを取得してみる
先ほど取得したTOKENとプロファイルIDを使って、
データを取得してみましょう。
getGAdata関数には、以下の引数があります。
・ahthToken・・・1で取得したTOKENを指定
・profileNumber・・・1で取得したプロファイルIDを指定
・METRICS・・・Metrics(欲しい数値の種類)を指定します
・startDate・・・データ取得開始日
・endDate・・・データ取得終了日
・filters・・・(オプション)フィルターを指定
・DIMENSIONS・・・(オプション)Dimention(区分)を指定
・segment・・・(オプション)作成済みのアドバンスセグメントIDを指定。動的作成も可能
・sort・・・(オプション)ソートするかどうか
・includeHeaders・・・DimentionやMetricsなどのヘッダー行を取得するかどうか
まずは試しなので、オプションを省いて実行してみましょう。
getGAdata関数は動的配列を戻り値として返します。
dim ary() as variantと宣言しておいて
ary = getGAdata()
と受けると分かりやすいと思います。
3.自由にカスタマイズする
やり方がわかれば、あとはVBAのマクロなので、
自由自在です。
…
今日はGoogleAnalyticsのAPIについてお話しました。
初めての人でもそんなに難しくないし、
VBAのマクロがわかる人ならすごくワクワクすると思います。
ぜひやってみてください。