Legato で GoogleAnalytics から PV を取得する

More than 5 years have passed since last update.


概要

Legato という gem を利用すると Google Analytics API 経由で簡単にアクセス解析結果を取得することができます。

tpitale/legato

競合の gem (garb)と比べると開発も活発なようです。


導入方法

導入はやや面倒です。

事前準備として以下が必要となります。



  1. Google Developers Console にて API キーを発行

  2. Google Analytics にて、上記で作成したサービスアカウントのメールアドレスを登録

こちらのブログ記事が大変参考になりました。

Google Analytics のデータを読み込んで表示する (rubyからAPI経由で取得) | レリッシャブル {{ relishable }}


利用方法


特定ページの PV を取得したい

Legato::Model を継承したクラス内にて、metrics と dimensions を指定します。

filter メソッドを使うことによって、よく使うフィルタを登録することが可能です。

例: /dashboard の PV を取得したい場合

class PageviewAnalyzer

extend Legato::Model

filter :for_page_path, &lambda {|page_path| matches(:page_path, page_path)}

metrics :pageviews
dimensions :page_path
end

PageviewAnalyzer.for_page_path("/dashboard", profile).each {|result| p result}

またフィルタはチェインして利用することも可能です。

参考: Filtering · tpitale/legato Wiki


日付を指定したい

results メソッドは様々なオプションが用意されています。

例: 2012-01-01 以降の /dashboard の PV を取得したい場合

PageviewAnalyzer.for_page_path("/dashboard", profile).results(start_date: "2012-01-01".to_date).each {|result| p result}

参考: Quick Start · tpitale/legato Wiki


所感

Legato を使うと Google Analytics API 経由でアクセス解析結果を取得することができました。

導入はやや面倒ではありますが、PV を取得する程度であれば簡単に実装できそうです。

API には様々なオプションがあるため、徐々に慣れていこうと思います。


参考