日直地獄

小学校では事件が起きる

Google Data Studioのスクリーンショットを定期的にSlackに投稿するツールを作った

サービスを運用していく上でメンバーに数字感を身に付けてもらったり、リリースした機能の利用状況、狙い通り正常に動作しているかを把握してもらったりすることはとても大事です。
同じオフィスにいる場合には、常時モニタに表示するなど工夫が可能ですが、リモートワーク下においてはそれも困難になりました*1

これにまつわる、いくつかの課題を解決するためにGoogle Data Studio *2の任意のページのスクリーンショットを定期的にSlackに投稿するGoogle Apps Scriptを書きました。

利用開始する前にはSlack側でAppを作成したりそれなりに準備が必要なのですが、一度設定したら、あとは手がかからなくなるので、費用対効果はいいと思います。

詳しい導入方法などは下記を参照してください。
https://github.com/airreader/datastudio-2-slack

以下はメリットなどです。

良いところ

非エンジニアでも内容を調整できる

数字感を養うだけならば、GAのAPIを叩いて、テキストでSlackに流すということも可能そうです。しかしながら、評価したいサービスの動向は、実際には1つの指標だけで完結することは稀で、複数の指標を見比べる必要があることがほとんどです。
そういう場合に、APIを叩いてそれっぽいテキストを構成するのは至難の技となりますし、ほとんどの非エンジニア職には難しいでしょう。更に悪いことに、得てして指標を作成するのは、企画職という場合が多いはずで、指標を出力するのにコミュニケーションコストが発生したり、そもそもテキストでは推移を表現するのが困難であったりなど、やはりAPIからデータを取り出してゴニョゴニョするのはよくない解決だろうと思います。

非エンジニア職でも利用できるといえば、何らかのBIツールが思い浮かびます。特に、指標を構成する数字がGoogle Analytics もしくは BigQuery に含まれている我々にとっては、 Data Studio を利用するのが自然でした。だから、Data StudioのスクリーンショットをSlackに流せるというのはとても良い解決となりました。

一番良く見る場所に投稿できる

数字感を養うためには、メンバーがいちばんよく見る場所に掲載する必要があります。常時モニタに表示するのもそういう意図かと思います。Data Studio にてダッシュボードをこさえておりましたが、それなりにページも重いので、1クリックは結構遠かったなという感じです。画像の連携だけで数字が身近になるかというと、別の施策が必要になると思いますが、これだけでも確実に近くはなると思います。

初回のセットアップを除いてエンジニアの手がかからない

Data Studioのメールでのスケジュール配信機能を利用しているため、どのページを送信するかの選択もData Studio側で完結します。例えば、新しいページを作った場合にも、Data Studio側の設定でそのページを追加したら良いだけです。

GASでやってること

技術的には大した事はしていないです。Data Studioにはスクリーンショットを作成するAPIがない*3ので、Data Studioのメールでのスケジュール配信機能を使い、メールから画像を拾ってSlackにポストしているだけです。
トリガーの実行者のメールアドレスが取得できるので、設定にメールアドレスを含めておくと、その人の連携設定だけ発射できるようになり、汎用化できたのはちょっとしたアイデアです。

どうぞご利用ください

どうぞご利用ください。

*1:なお、そもそも複数拠点の場合には、モニタ常時表示では情報格差が生まれるので状況によっては良くないという説もあります

*2:和名はGoogle データポータルですが以降はData Studioに統一

*3:サムネイルを生成するAPIはあるけど、トップページにしか対応していないし、認証を突破するのも大変