Menu Close
  1. SIS Lab
  2. >
  3. Blog
  4. >
  5. Blog KPI Collector(GAS)で各種KPIを自動取得する

Blog KPI Collector(GAS)で各種KPIを自動取得する

更新日:2020.04.11 作成日:2020.04.10

ブログメンタリング期間中は、事前に設定したブログKPI(ページビュー数、ユーザ数、Twitterフォロワーなど)を報告するため、毎週日曜日に手動で取得していました。

しかし、ブログメンタリング終了後、報告する必要がなくなるとどうしてもめんどくさいことはやらなくなってしまいます。

そこで、今まで取得していたKPIをGoogle Apps Scriptで自動取得するように設定してみました。

Google Apps Script(Blog KPI Collector)の導入

ここでは、@budougumi0617さんが作成したGoogle Apps Scriptのスターターキットである「blog-kpi-collector」を利用させていただきました。

budougumi0617/blog-kpi-collector: `clasp`コマンドを使ってKPIを取得するgoogleスプレッドシートを生成するスターターキット

上記のREADME.mdを見ながらインストールしてきます。

claspインストール

claspとはGoogleが提供する「Google Apps Scriptを操作するコマンドラインツール」です。

google/clasp: 🔗 Command Line Apps Script Projects

元々、Google Apps Script上でスクリプトを書くことで実行はできていました。 しかし、ローカルで作成したファイルをGoogle Apps Scriptにアップロードするには色々と面倒な手順が必要でした。 (例えば、google-apps-scriptというライブラリを使うなど)

このclaspはそれらのツールの決定版という位置付けで、ローカルでGoogle Apps Scriptの開発を行うためには、デフォルトのツールになっているようです。

claspのインストールと初期設定は、GAS のGoogle謹製CLIツール clasp - Qiitaを参考にしました。

まずは、以下の通りclaspコマンドのインストールと初期設定を行います。

$ npm install -g @google/clasp
$ clasp login

Blog KPI Collectorインストール

続いて、Blog KPI Collectorを導入していきます。GitHubから落として、npm installを実行します。

$ git clone git@github.com:budougumi0617/blog-kpi-collector.git
$ npm install

Google Sheet作成

clasp createでKPIを入力していくGoogle SheetとそのGoogle Sheetに紐づくGoogle Apps Scriptを作成します。

$ clasp create --title "KPI Sheet" --type sheets --rootDir ./src
Created new Google Sheet: https://drive.google.com/open?id={ID}
Created new Google Sheets Add-on script: https://script.google.com/d/{ID}/edit
Warning: files in subfolder are not accounted for unless you set a '.claspignore' file.
Cloned 1 file.
└─ ./src/appsscript.json

(初回のみ)Google Apps Script APIの有効化

初めてGoogle Apps Script APIを利用する場合、clasp createを実行すると下記メッセージが出て実行できない場合があります。

$ clasp create --title "KPI Sheet" --type sheets --rootDir ./src
Created new Google Sheet: https://drive.google.com/open?id={XXXXX}
User has not enabled the Apps Script API. Enable it by visiting https://script.google.com/home/usersettings then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

その場合は、メッセージの通り、Settings - Apps Scriptにアクセスして、Apps Script APIを有効にします。

Google Apps Scriptをpull & push

clasp pullで自動生成されたGoogle Apps Scriptのコードを手元にダウンロードします。

その後、clasp pushで、Blog KPI CollectorのコードをGoogle Apps Scriptにアップロードします。

$ clasp pull
 (node:64667) ExperimentalWarning: The fs.promises API is experimental
 Warning: files in subfolder are not accounted for unless you set a '.claspignore' file.
 Cloned 1 file.
 └─ ./src/appsscript.json
$ clasp push
 (node:64687) ExperimentalWarning: The fs.promises API is experimental
 └─ src/appsscript.json
 └─ src/googleAnalytics.ts
 └─ src/hatena.ts
 └─ src/main.ts
 └─ src/twitter.ts
 Pushed 5 files.

Google Apps Scriptを実行する

clasp openコマンドを実行し、Add-on scriptのURLを開きます。 その後、main.gsファイルを選択し、main関数を実行します。

「承認が必要です」と出てくるので「許可を確認」→アカウントを選択→「詳細」→「KPI Sheet(安全ではないページ)に移動」→「許可」とクリックしていきます。

下図の通り、認可を進めていきます。

KPI Sheetに何かしらの値が登録されていれば、OKです。

「スクリプトのプロパティ」を設定する

「スクリプトのプロパティ」を設定するに従って、変数をプロパティに設定します。

これにより、各ユーザごとの指標を取得できます。

Google Analyticsとの連携方法

Google Analyticsとの連携方法に従い、Google Analytics APIを有効にします。

トリガーによる自動実行の設定

仕上げとして、トリガーによる自動実行の設定を行います。 これも、定期的に実行するトリガーを設定するに従い、設定します。

日曜日の朝一で日〜土曜日までの1週間のKPIを取得するようにしました。

まとめ

久しぶりにGoogle Apps Scriptを触ってみると結構変わっていることに気づきました。

  • claspというApps Scriptをコマンドラインから操作するツールが出ている
  • Google Apps ScriptでES 6の機能を利用できる

日々の作業を自動化するために、もっとGoogle Apps Scriptを活用していきます。

スポンサーリンク

Related contents

TECH

2020.03.31

小さな習慣・アウトプット駆動生活〜ブログメンタリングのふりかえり〜

TECH

2020.03.13

npm-run-allでローカルAPI serverとHugo serverを同時に実行する

TECH

2019.11.16

Cloudflare AMP Real URLをブログに導入する

TECH

2019.10.11

AMPページの最適化〜ぼくのAMPサイトがこんなに遅い訳がない〜

TECH

2019.10.06

AMP向けのミニマルCSSフレームワーク「1BX」をHugoに導入した

TECH

2018.12.13

GitHub Pagesで複数の独自ドメインサイトを運用する

TECH

2018.11.03

QrunchとMediumに技術メモをクロス投稿する

TECH

2017.12.22

はてなダイアリーからはてなブログ経由で独自ドメインのブログに記事を移行しました