背景
- ランディングページの計測体制を整えるために、Google Analytics(以下GA)のレポーティング結果とSlackを連動させたい。
- 広報の効果測定をしたい
- このプレスを打った結果、コーポレートサイトへのアクセスにどれだけ貢献したかetc
- 掲載された媒体を見逃さないように昨日のリファラーを可視化
ほかの代替案
- GAのレポートをGoogle Data Studio(以下GDS)を利用してSlackに通知設定しようとした
- 先人が挑戦したもののGDSでリアルタイムで数値が更新されないまま通知することになり困った。
GASでデータスタジオのレポートをSlackに自動投稿させてみた。
— Ray@チョコパフェ会やります (@tomray0306) August 13, 2018
カスタムレポートのエクスポートもこれ一つで済むハズ!
①データスタジオでレポート作る
②SlackのWebhookインストールし、URLをメモ
③GAS書く(text=文面、url=2のURLを指定)
④GASにトリガー設定
⑤Slackに通知くるようになる pic.twitter.com/XpUX9kE9DX
ダッシュボードのURLを載せてしまえば、Slackの投稿にサムネイル表示されるのか。
— SEM Technology (@SEM_Technology) August 13, 2018
AppsスクリプトのChart APIでグラフを作り、SlackにアップロードしてPostして、ってやってたけど無駄だった。。。
ありがとうございます!
— Ray@チョコパフェ会やります (@tomray0306) January 22, 2019
ツイートをもとにブログに書き起こした時に、
以前ツイートしたthumbnail方法も試したのですがダメだったんですよね、、、
今はまたいけるようになったのかな。https://t.co/gAyB8SHs2e
- Google SpreadsheetにGAのデータをエクスポートして、その結果をGoogle Apps ScriptでSlackのWebhook URLに対してPOSTする方法もあったが、毎回コード書くのは面倒くさい。
要件
- GAのレポートをリアルタイムでSlackに画像とともにポストできるようにしたい
- さらに定期実行ができるのが望ましい
- Codeless Programmerを目指しているので、コードを書かずになんとかしたい
解決方法
- Google Cloud PlatformのGoogle Cloud EngineにRe:dashを立てる
- RedashとSlackのintegrationを利用する
- RedashのURLをSlackのリマインダーを設定して実行する
Google Cloud PlatformのGoogle Cloud EngineにRe:dashを立てる
- Redash公式でGCPでRedashのインスタンスを利用できるようにする。
- Setting up a Redash Instance (https://redash.io/help/open-source/setup#gce)
RedashのDatasourceにGAを追加する
- 起動したRedashにGoogle AnalyticsのJSON Credentialをアップロードして連携する
- Google Analytics Setup (https://redash.io/help/data-sources/setup/google-analytics)
Redash上でGAのレポートを作成する
- Query Explorerを利用して、取得したいデータを抽出する
- re:dashのGoogle Analyticsデータソースを試す (https://qiita.com/hideji2/items/271ae82adf524b6789e0)
- queryを作成して、chartを作成する
SlackとRedashを連携する
- RedashのintegrationがSlackにあるので、追加する
- Bring data to your conversations (https://redash.io/slack/)
- 【Slack×Re:dash】リアルタイムKPI通知をコード0行で実現する (https://data.gunosy.io/entry/slack-redash-kpi-notify)
Slackでリマインダーを設定する
- 定期実行してレポートを呼び出したいチャンネルに
@redash
を入力し、チャンネルに参加させる - チャンネル内で
/remind http://${hostname}/queries/12#22
みたいな感じで、redashのchartのURLを指定する - 毎朝6時/毎日に設定する
- 指定時間になると、毎日KPIのグラフを出してくれるようになる
結果
- 冬休みに実装したので、年明けが楽しみだが、広報の可視化など進んだ。
最後に
- 一応ここまでコードを書かずに(簡単なSQLは書いたけど)簡単にBI環境を整えることができた。
- GCPは1年間無料枠があるので、簡単に試しやすいのでおすすめ!
- Gunosyさんの記事にめっちゃ助けられました。あれ見ればだいたいどんなことができるようになるのかわかるので、最初にみるのがおすすめです。