見出し画像

GASで繋ぐ!GoogleAnalytics×Slack通知【サンプルコード付き】

こんにちは、元エンジニアのマーケター田平です(@yoshi_tahi)。
今回は私が業務で実際に活用しているGoogle Apps Script(GAS)を用いたGoogle AnalyticsとSlackの連携について紹介します。

サイト運用を担当している方が多く利用しているGoogle Analyticsですが、色々なことが出来るが故に「本当に重要な指標のモニタリングがしづらい」「特定のメンバーしかモニタリングしない」といったことがないでしょうか?

Google Apps Script(GAS)を用いて、Google Analyticsの数値を自動でSlack通知することで、重要な指標の変化をラクにモニタリングできるようになります。「なぜ自動化をすべきなのか」という意義から「GASでどのようなことが出来るのか」という具体的なところまで解説します。


1. 自動化の意義

GASで紡ぐGoogleAnalytics×Slack通知_自動化の意義_人間と機械
人間と機械、どちらの方が優れた存在なのでしょうか…

1-①. なぜ自動化をすべきなのか

唐突ですが、人間と機械どちらの方が優れていると思いますか?
私は人間様に機械が敵うはずがないと思っているのですが、実際のところはケースバイケースです。

例えば以下のようなやることがカッチリと決まっているケース。機械(bot)が得意とするシーンです。逆に人間はあまり得意ではないシーンですね。秒単位で指定されているため、よほど記憶力が良い人ではない限り十中八九忘れます。というか覚える気も湧かないと思います。

GASで紡ぐGoogleAnalytics×Slack通知_自動化の意義_定型作業
定型作業は機械の方が得意

次に、以下のような曖昧な指示。これは人間が得意とするシーンです。言葉の裏に隠れた相手の要望を汲み取り、それに応えるという高度なことを行っています。一方で機械はあまり得意としておらず、具体的な定義がない言葉は基本的に解釈できません。

GASで紡ぐGoogleAnalytics×Slack通知_自動化の意義_曖昧さのある作業
曖昧さのある作業は人間の方が得意

つまり何が言いたいかというと、本来人間は自身が得意とする曖昧さのある(クリエイティブな)仕事に注力すべきだということです。定型作業(やり方やタイミングが決まった作業)にかかる時間は極力減らすべきなのです。なぜなら本分でもなければ得意なことでもないので。

まとめると、自動化の意義は定型作業にかかる時間を減らすことで、クリエイティブな仕事に注力できることです。機械が得意としている定型作業は機械にまかせて、我々人間はクリエイティブなことに集中しましょう。互いに補完し合う、人と人との関係性と一緒です。

1-②. なぜSlack通知をすべきなのか

今回の主題である「重要指標のSlack通知」の意義は何でしょうか?
それはチームメンバー全員の数値変化への感度を高めることです。適切な頻度で強制的に目に入るようにすることで、各自の主体性に依存せずに数字へ意識を向けさせることができます。(各自の主体性も勿論大事ですが!!)

この際に特に気を付けてほしいのは、前期間からの変動や目標に対する進捗度など、数字の変化(比較)を通知するようにすることです。普段からデータを見ている人であれば自分の中にものさしを持っているので、絶対値を見ただけでそれが高いのか低いのか相対的に解釈できます。一方で、普段あまりデータを見ていない人はものさしが無いので絶対値を見ただけで相対的な解釈はできません。なので、最初から相対的な変化(比較)を示しましょう。

以降の章で、Google Apps Scriptを活用したSlackへの自動通知のやり方を詳細に説明します。Slack通知でチームメンバー全員の数値変化への感度を高め、チームでPDCAサイクルをガンガン回せるようになりましょう!

2. 全体像:Google Analytics→スプシ→(GAS)→Slack

GASで紡ぐGoogleAnalytics×Slack通知_出来るようになること

本記事で出来るようになることは、データ抽出とレポーティングの自動化です。

  • Google Analyticsからスプレッドシートへの自動抽出

  • スプレッドシートの内容の自動Slack通知

GASで紡ぐGoogleAnalytics×Slack通知_全体構成

以降の章で、GA→スプシへの自動抽出スプシ→Slackへの自動通知に分けて解説していきます。

3. スプレッドシートアドオンによるGoogle Analyticsの自動集計

GASで紡ぐGoogleAnalytics×Slack通知_GA→スプシ

まず、以下の手順でGA→スプシへの自動抽出の設定を行います。

  • ①スプレッドシートにGoogle Analyticsアドオンを追加

  • ②抽出条件の設定

  • ③Google Analyticsのデータを抽出

  • ④自動抽出の設定

それぞれ詳しく解説します。

3-①. スプレッドシートにGoogle Analyticsアドオンを追加

  • スプレッドシートを開き、「アドオン」→「アドオンを取得」をクリック

  • 「Google Analytics」で検索→公式のアドオンをクリック→インストール

3-②. 抽出条件の設定

  • 「アドオン」→「Google Analytics」→「Create new report」をクリック

  • レポート名と参照先の設定

    • ①任意のレポート名を入力

    • ②GAのどのビューを参照するか設定

  • 取得する指標の設定

    • Metrics:取得したいデータ(指標)

      • 例)Pageviews:ページビュー数

      • 例)New Users:新規ユーザー数

    • Dimensions:データの切り口

      • 例)Month of Year:月単位で表示(時系列)

      • 例)User Type:ユーザー種別(新規orリピーター)ごとに表示

    • Segments:セグメントの絞り込み

      • 例)New Users:新規ユーザー

  • 『Report Configuration』というシートが作成され、設定内容が記入されていることを確認


3-③. Google Analyticsのデータを抽出

  • 「アドオン」→「Google Analytics」→「Run reports」をクリック

  • 以下のように新しいシートが作成されればOK

3-④. 自動抽出の設定

  • 「アドオン」→「Google Analytics」→「Schedule reports」をクリック

  • 「Enable reports to run automatically.」にチェック→集計頻度と時間帯を選択→「Save」をクリック

4. GoogleAppsScriptを用いたSlackへの自動通知

GASで紡ぐGoogleAnalytics×Slack通知_スプシ→Slack

次に、スプシ→Slackへの自動通知の設定を行います。

  • ①Google Apps ScriptのSlack連携の設定

  • ②Slack botの作成

  • ③Slack通知のコードを書く

  • ④自動通知の設定

4-①.  Google Apps ScriptのSlack連携の設定

  • スプレッドシート > 拡張機能 > Apps Script

  • ライブラリ横の「+」をクリック

  • SlackAppのスクリプトIDを入力 > 検索 > 追加をクリック

SlackAppのスクリプトID:1on93YOYfSmV92R5q59NpKmsyWIQD8qnoLYk-gkQBI92C58SPyA2x1-bq
  • ライブラリの下にSlackAppと表示されればOK

4-②. Slack botの作成方法

4-③. Slack通知のコードを書く

GASで紡ぐGoogleAnalytics×Slack通知_スプシ→(GAS)→Slackの連携イメージ
Slack通知の完成イメージです。

サンプルシート ※ダミーデータです

  • GAから出力されたデータをサンプルシートでサマリーに起こしています

  • 「先週との比較」や「目標に対する進捗度」等、数字の変化が分かるように設計しています

  • こちらのシートを参考に、ご自身でシートを作成してみてください

サンプルコード(解説付き)

コピペで使えるサンプルコードと共に、このような解説も付いています。
  • サンプルシートに記載されている内容を、行数・列数指定で取得し、メッセージを作成、Slackに通知するコードです

  • "トークンID"、"Slackチャンネル名"、"スプシのID"はご自身で用意したものに書き換えてご利用ください

記事を購入していただくと、コピペで使えるサンプルコードとコードの解説が表示されます。

ここから先は

4,789字 / 8画像

¥ 500

この記事が気に入ったらサポートをしてみませんか?