[Heroku アドオン]keen.ioで簡単にアクセス解析を入れてみる

簡単なアクセス解析を実装するheroku addonとして、keen.ioなるものがあったので、使って見た。

プラン

プランはイベントの保存数によって決まっており、月5万イベントまでは無料。

Keen IO | Add-ons | Heroku

herokuのaddonページには月、と書いてないけど、公式の方では/Monthとあった。
Self-Service | Keen IO – Analytics for Developers

インストール

環境はPHP。
composerでインストールする。

$ composer require keen-io/keen-io:~2.5 

もしくは、composer.jsonに直接追加する。

1
2
3
4
5
{
    "require": {
        "keen-io/keen-io": "~2.5"
    }
}

composer installでインストール。

herokuに追加

Herokuには管理画面から、もしくは、以下のコマンドで追加。

$ heroku addons:create keen

環境変数に必要な情報が格納される。

  • KEEN_PROJECT_ID
  • KEEN_WRITE_KEY
  • KEEN_READ_KEY

利用

公式のまんまだけど、以下で送信。

1
2
3
4
5
6
7
8
9
10
use KeenIO\Client\KeenIOClient;

$client = KeenIOClient::factory([
    'projectId' => getenv('KEEN_PROJECT_ID'),
    'writeKey'  => getenv('KEEN_WRITE_KEY'),
    'readKey'   => getenv('KEEN_READ_KEY')
]);

$event = ['purchase' => ['item' => 'Golden Elephant']];
$client->addEvent('purchases', $event);

purchaseは自由に変更可能。
addEventpurchasesは、Event Collectionの名前。
送信する内容は日本語も可能。

取得

APIで取得も出来るようだけれど、とりあえず管理画面から確認。
送信された生のJSONは以下のようになる。

1
2
3
4
5
6
7
8
9
10
{
    "keen": {
        "timestamp": "2015-10-06T08:19:26.564Z",
        "created_at": "2015-10-06T08:19:26.564Z",
        "id": "5613840e672e6c1748501885"
    },
    "purchase": {
        "item": "Golden Elephant"
    }
}    

Exploerから表示方法を選ぶことでグラフ表示などが可能。
例えば以下は、purchaseitem項目ごとに件数でグルーピングした場合。
(1件しかないのでわかりにくいけれど)

切り口は以下の様なものがあるよう。
Data Analysis | Keen IO

まとめ

送信や取得のデータの基本がJSONになっているのはプログラム的には扱いやすそう。
また、簡単な表示であれば管理画面からさくっと出来そうでよさげ。
CSVの出力も出来た。

お手軽に実装し解析する分にはよさそう。

参考

Keen IO | Add-ons | Heroku
keenlabs/KeenClient-PHP · GitHub
laravel+Keen.io+herokuで簡易解析 · MAN.IN.BLOG
Keen IOでグロースハックするための分析をする | yujilog

   このエントリーをはてなブックマークに追加