GASでデータポータル(旧データスタジオ)のGAレポートをSlackに定期投稿させる方法

この記事では、下記ツイートでご紹介した「データポータル(旧データスタジオ)のレポートをSlack経由で定期的にアラートさせる方法」を詳細に書き起こしています。

 

 

 

概要

GAのデータを確認する際、カスタムレポートだとユーザーをまたいで同じレポートを閲覧することができません。

その為、スプレッドシートのように共同編集ができるデータポータルのレポートであれば、社内外問わずデータ共有が行いやすいのではないかと考えデータポータルでレポート作成をしました。

計算フィールドと呼ばれる関数を使った独自フィールドを作成することでチャネルグループのようにデータをグルーピングすることもできますし、レポートの表示期間も固定期間や直近の××日間にできる等、GAの上位互換のBIツールとして利用することができます。

2018年10月からはPDFエクスポートも行えるようになり、より共有方法の幅も広がって定点観測のレポートを作成するのに向いていると思います。

 

ただ、レポートを作成しても毎日開くのって面倒であり忘れてしまいがちです。

そこで、「いつも開くSlackに定期的にレポート通知が届いたら見るのでは?」と考え、Google Add Script(GAS)を使って定期実行させてみることにしました。

以下、実際に行った設定手順です。

 

 

1:データポータルにレポート作成

 Slackに通知させたいレポートを作成します。

数に制限はありません。

ただ、1Slack Channelに対して1レポートに収まる方が受け取り手は辛くないかと思います。

f:id:rayanalytics:20181127104048p:plain

 

 

2:Slack App「Incoming Webhook」を作成

投稿botを作る為、下記AppをSlack ワークスペースに追加します。

tsuchinoko.slack.com

 

追加を行うと、以下のような画面が表示されます。

f:id:rayanalytics:20181127105945p:plain

チャンネルへの投稿:このbotが投稿を行うChannelを指定

Webhook URL:投稿を行う為に必要なので、こちらはコピーしておきます

説明ラベル:追加済みインテグレーションリストに説明文を追加できる(らしい)

名前をカスタマイズ:bot名(キャプチャでは愛犬にしました)

アイコンをカスタマイズする:botのプロフィールアイコン

 

 

3:GASに投稿用Scriptを作成

GASを接続済みであれば、[Google ドライブ] > [新規] > [その他] から、

未接続であればスプレッドシートの[ツール] > [スクリプト エディタ] からGASを開きます。

Apps Script – Google Apps Script

f:id:rayanalytics:20181127112116p:plain

Slackに通知させる際の記述テンプレートは以下をご利用ください。

function postSlackTest() {
  var payload  = {
    'text'      "メッセージを入力",
  };
 
  var options = {
    'method'      'post'                 ,
    'contentType' 'application/json'     ,
    'payload'     : JSON.stringify(payload),
  };
 
  var url = 'Webhook URLを入力';
  UrlFetchApp.fetch(url, options);
}

textには通知時のメッセージを、

urlにはWebhook URLを指定します。

 

textで指定する際、便利そうな記述一覧:

<!channel> :@channel メンション

\n :改行

 

実際に設定したのがこちらです。

画面見切れてしまったのですが、https://の後にはデータポータルで作成したレポートURLが続きます。

f:id:rayanalytics:20181127113056p:plain

 

 設定が完了したら、一度テスト実行をしてみましょう。

「▶」を押し、このプログラムを実行します。

※初回実行時、アプリケーションの認証画面が表示されます

f:id:rayanalytics:20181127113904p:plain

問題なく実行ができれば、上記のように投稿が行われると思います。

※2018年11月現在はレポート内容のサムネイルが表示されなくなったようなのでご注意ください。

 

 

 4:GASのトリガーを設定し完了

 時計アイコンをクリックし、設定したGASを定期実行させるようトリガーを設定します。

トリガー一覧が別タブで開かれますので、右下の [+トリガーを追加] をクリックします。

f:id:rayanalytics:20181127114558p:plain

実行する関数を選択:設定したGASの関数名(今回はpostSlackTestとしていますが、記述時に別の値に書き換えていただいても問題ありません)

実行するデプロイを選択:Head

イベントのソースを選択:時間主導型

時間ベースのトリガーのタイプを選択:日付ベースのタイマー

時刻を選択:午前8時~9時

このようにしていただくと、毎日午前8~9時の間に自動投稿が行われるようになります。

 

 

補足

ツイート後、SEM Technologyの山田さんから以下のようなツイートをいただきました。

現在ですとサムネイル表示ができないのでChart APIを使っていただくのもぱっと見で数字確認ができてとても良いと思います。

自社の要望に合わせてご検討ください。

 

ブログ継続のためにご支援してもらえると嬉しいです!
Rayのほしいものリスト