便利！無料で使えるStatsbot！Google Analyticsの情報をSlackへ通知する方法とchannel毎にスケジュール通知を設定する方法

![statsbot_ss.png](https://qiita-image-store.s3.amazonaws.com/0/119581/1614bc0a-1570-c59e-62ca-f16e9b80fb22.png)


http://statsbot.co/

---

## 挨拶

どうもはじめまして。
ノリズムことユニバ株式会社 (http://uniba.jp) のノリこと清水です。

最近見かけたStatsbotというサービスが中々良かったので、その紹介と設定の説明です。

## 概要

Statsbot (http://statsbot.co/) はGoogle AnalyticsやNew Relic、MixpanelのサマリーをSlackと連携し通知してくれるbotサービスです。また、監視サービスのNew Relicや解析ツールのMixpanelとも連携できるのでより強そうに見えるのもいいところ。

更に言うと無料(!)です。

導入のしやすさや敷居の低さも相まってサクッとSlackと連携することができるのが一番の強みかもしれません。ということでユニバ株式会社 (http://uniba.jp) と実績ページ (http://works.uniba.jp) でも、ウェブサイト周りで利用しているGoogle Analyticsの通知設定しました。

![http://uniba.jp](https://qiita-image-store.s3.amazonaws.com/0/119581/0b15788a-d319-c511-48cd-22a6fd29b129.jpeg)
http://uniba.jp

![http://works.uniba.jp](https://qiita-image-store.s3.amazonaws.com/0/119581/25224c90-f455-74b9-8e43-0199e80a5822.jpeg)
http://works.uniba.jp

この記事からのアクセスもどのようになるか確認したいので、弊社ウェブサイトも見て頂けると大変ありがたいです！！！
アクセス乞食です。


## 導入方法

http://statsbot.co/ にアクセスして `Add to Slack` をクリックし、利用するteamなどを選んでいくだけです。
Google Analyticsの性質上、Googleアカウントとのひも付けが必要になりますので利用したいGoogleアカウントを選択すれば登録は終わります。
Statsbotがteamへの参加が出来ている状態で http://statsbot.co/ にアクセスすると、設定画面にリダイレクトされると思います。そちらでGoogle Analyticsの使いたいプロファイルを選択してSaveすることで設定は完了です。

![setting](https://qiita-image-store.s3.amazonaws.com/0/119581/904d7492-1032-0a6b-8727-f0ef96ecc365.png)

何事も無ければ5分ぐらいで終わると思います。

その頃Slack上ではDirect messageで `@statsbot` が話しかけてきているはず。
![dm](https://qiita-image-store.s3.amazonaws.com/0/119581/5e080433-798f-7c79-b7a2-0a9b1dfc94ba.png)

これでStatsbotの導入は完了です。

## Statsbotの利用方法

基本的に `@statsbot foo bar baz` のような使い方になります。
`@statsbot help` で使い方も返答してくれます。 http://statsbot.co/ のCommandsタブと併せて参照してください。


```lang:slack
@statsbot new users this week
```

![sample](https://qiita-image-store.s3.amazonaws.com/0/119581/b332d772-66b6-1108-479b-87d7a59e74ab.png)

http://uniba.jp の先週一週間分の訪問数の様子。
こんな感じで使用していきます。

### Statsbotのスケジュール通知

Statsbotにはスケジュール通知という大変素晴らしい便利な機能が存在します。
通常 `@statsbot foo bar baz` のように話しかけないと返答してくれないところを、「都度話しかける必要はないよ！」と気が利いている上、指定した日時に決まった内容の情報をSlackに通知してくれる機能です。
しかも同じchannel内で複数のプロファイルを使用できます。本当便利。(後述)

それが以下のコマンドです。


```lang:command
@statsbot schedule [summary, sources, status]
```

* summary
    * 訪問数やページビューなどの概要
* sources
    * トラフィック
* status
    * 現在アクセスされているURL

このスケジュール通知で大体の空気が掴める感じになります。

早速サンプルとして週報にあたる物を作ってみましょう。
内容としては

* 先週一週間分の概要を
* 毎週
* 月曜日の
* 朝 8:30
 
に通知したい。

まず `@statsbot schedule summary` と呼び出すと「概要の終わりはどこで区切るの？」と聞いてくるので先週一週間分にあたる `last week` と返答します。
そうすると「先週一週間分の概要を毎日？毎週？毎時？10分毎？」と甘えてくるので `weekly` と囁きましょう。
「何曜日に報告すればいいのかな？例えば月曜日なんてどう？」とデートの約束みたいな形になるので `monday` で、とスマートに答えると「何時にしよっか？」となるので `8:30` にしようとなるわけです。

お前は何を言っているんだ。という状態になると思いますので設定の画像を参考にしてください。

![スケジュール通知の設定の様子](https://qiita-image-store.s3.amazonaws.com/0/119581/edab23f5-7c14-f949-4a8e-252b3590041c.png)

予定は分ごとに設定できるため `every 1 mins` なども可能です。
また時間の単位が24時間表記ではなく `AM` か `PM` のため、午後になる場合は `5:00 PM` などの表記にしないと変な時間が指定されます。AMは表記しなくても大丈夫な様子。

別のスケジュール通知を追加したい場合には `@statsbot schedule [summary, sources, status]` で追加が可能です。
また`@statsbot list schedule` でchannel内で作成したスケジュール通知の一覧が見れます。

![list.png](https://qiita-image-store.s3.amazonaws.com/0/119581/f347f946-696a-5b0b-6212-16f9eb6c579d.png)

作成したスケジュール通知を削除したい場合には例にある通り `@statsbot unschedule ID` で削除できます。

## channel毎に使用するプロファイルの変更方法

以下のコマンドでchannel内で使用するプロファイルの設定を変更できます。

```lang:slack
@statsbot setup
```

statsbotとのDirect messageでは `@statsbot setup` に触れられていないため見逃しがちですが、channel内で `/invite @statsbot` コマンドにてbotを呼び出した時と、スケジュール通知を作り終えた際にもstatsbotが `@statsbot setup` の旨を発言しています。

`@statsbot setup` コマンドで呼び出すと現在の設定と権限を与えられているGoogle Analyticsのプロファイル一覧が取得でき、数字で返答すると使用するプロファイルの変更が設定できます。

![ga.png](https://qiita-image-store.s3.amazonaws.com/0/119581/2d3d61c2-4a44-5102-e274-274fd6e05b78.png)

http://works.uniba.jp から http://uniba.jp へ変更している様子。

## スケジュール通知を複数のプロファイルから設定

プロファイルを変更してスケジュール通知を作成、プロファイル変更してスケジュール通知を作成……と繰り返すことで同じchannel内で別プロファイルを使用したスケジュール通知が複数作成可能になります。

## 大体の流れ

* http://statsbot.co/ でSlackに連携
* 設定画面からGoogleアカウントとのひも付け
* 設定画面から利用するGoogle Analyticsのプロファイルを選択・保存

以下Slack上でのコマンド

```lang:slack
/invite @statsbot

@statsbot setup
@statsbot schedule [summary, sources, status]
@statsbot list schedule
@statsbot unschedule ID

# 別のプロファイルを使用したい場合は繰り返し
@statsbot setup
@statsbot schedule [summary, sources, status]
@statsbot setup
@statsbot schedule [summary, sources, status]
@statsbot setup...
@statsbot list schedule
@statsbot unschedule ID

```

![multiple.png](https://qiita-image-store.s3.amazonaws.com/0/119581/834b484e-9deb-d225-e8fe-1fa79e8c50e1.png)


### 雑感

なかなかGoogle Analyticsを見に行くぞ！というのができないので、こういった形で通知をしてくれるとそのタイミングで「あ、見に行くか。」という気持ちになれるためありがたいです。

### 追記 2015.06.07
![plan.png](https://qiita-image-store.s3.amazonaws.com/0/119581/2c9e24c7-55b7-3529-f2cb-ac47ae1bef7b.png)
プランが追加され、段階的に機能が増えるようです。
今まで出来ていた機能が無料プランではシュリンクされてはいますが、必要なものを選択して使えばいいかと思います。