読者です 読者をやめる 読者になる 読者になる

evacにGAERプラグインを追加した

GAERというとてもクールなツールがあります。

t32k.me

コマンドラインからJSON文字列を与えるとその内容をGoogle analyticsのイベントトラッキングレポートとして情報を渡してくれるもので、任意のキーと値の組み合わせで与えられる情報の推移をグラフとしてAnalytics上で閲覧できる様になるのでWebサイトのアクセス等のトラフィックと各種指標を並べて閲覧できる様になるのでとても便利なツールです。

GAER自体はGoogle analyticsMeasurement Protocolを利用して通知させていますがnpmとして公開されているのでそれを利用すればAPIとして自身のツールの中で埋め込んでも利用することができます。

t32k/gaer · GitHub

今回、これを利用させてもらって弊作のevacの出力として利用できる様にしました。

例えば、Instagramのフォロワー数をGoogle analytics上のイベントに記録するには先日の手順に倣ってInstagramのフォロワー数をAPI経由で取得してGAERを通じてGoogle analyticsに通知してみます。

以下の様なYAMLファイルを用意します。

in:
  jsonRequest:
    targetProperty: data.counts.followed_by
    url: https://api.instagram.com/v1/users/xxxxxxxxx/?access_token=*******
out:
  gaer:
    id: UA-xxxxxx-99
    reportName: Instagram
    parameterName: Follower

で、これをevacに食わせます。

$ evac -v instagram_follower.yaml
2015-10-17T07:49:20.287Z - info: Settings are loaded from a file :instagram_follower.yaml
2015-10-17T07:49:20.992Z - info: Input plugin called.
(snip)
Sending [||||||||||||||||||||||||] 100%
Success: The data is sent to UA-xxxxxx-99

Google analyticsのイベントにGAER > Instagram というレポートが追加され、Followerの値が記録される様になります。実際にGoogle analyticsを確認してみるとイベントのレポートの箇所に記録されているのがわかります。

これを定期実行すれば、以下の様な形で日毎のInstagramフォロワー数を記録していくことができ、それをグラフとして確認できる様になります。

evacの入力にはWebページのスクレイピング結果やMySQLへのクエリ発行の結果、iTunes connectを通じたアプリのダウンロード数の取得等ができるので、サービスにまつわるKPIを一括で確認できるダッシュボードとしてGoogle analyticsが使える様になります。(きっと)