Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
146 lines (104 sloc) 6.9 KB

blog-kpi-collector

Collect KPIs for blog

Googleスプレットシートで定期的にブログの情報を集計するためのApps Scriptを生成するスターターキットです。

完成図

このリポジトリを使ってApps Scriptとスプレットシートを作成すると、以下のKPI情報をシートに書き込んでいきます。
未設定にしておけば取得もしないので、全てサービスからの情報が不要な方でも利用できます。 後述するトリガーを設定しておくことで定期的にデータを集計できます。

Twitter | フォロワー数
Google Analytics | 前日までの週間PV数、 前日までの週間直帰率
はてなブックマーク | はてなブックマーク総数

使い方

初期設定

自分のPCでclaspコマンドを利用する準備をします。以下のページを参考にclasp loginまで済ませておきます。

このリポジトリをローカルに持ってきて、パッケージ群をインストールします。

git clone git@github.com:budougumi0617/blog-kpi-collector.git
cd blog-kpi-collector

npm install

clasp createコマンドでAdd-on script(Apps Scriptプロジェクト)と紐付けるスプレットシートを作成します。

$ clasp create --title "KPI Sheet" --type sheets --rootDir ./src
Created new Google Sheet: https://drive.google.com/open?id=....
Created new Google Sheets Add-on script: https://script.google.com/d/..../edit
Cloned 1 file.
└─ ./src/appsscript.json

出力されたAdd-on scriptとSpread SheetのURLをメモしておきます。その後、一度clasp pullして連携したあと、clasp pushコマンドでコードをDriveに送ります。

$ clasp pull
Cloned 2 files.
└─ ./src/appsscript.json
└─ ./src/Code.js

$ clasp push
└─ src/Code.js
└─ src/appsscript.json
└─ src/googleAnalytics.ts
└─ src/hatena.ts
└─ src/main.ts
└─ src/twitter.ts
Pushed 6 files.

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

main関数を実行する

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

実行後、スプレットシートを開き、以下の状態になっていたら初期設定は終了です。 実行後のSheetの状態

スクリプトのプロパティにアカウントIDなどを入力すれば実行のたびに最後の行に新しい情報が追加されていきます。 (必要に応じて最初の行に列情報を書いておくといいでしょう)

行タイトルをつけておく

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

Web上でAdd-on script(Apps Scriptプロジェクト)を開いたあと、スクリプトのプロパティに以下の変数を設定します。 なお、未入力の場合は対応するサービスから値が取得されません。

変数名 説明
SHEET_NAME 集計したいシートの名前 未設定の場合は「シート1」に集計する master
TWITTER_NAME Twitter ID フォロワー数を取得する budougumi0617
GA_VIEW_ID GA ID 一週間のPV数と直帰率を集計する
BLOG_URL ブログのURL はてなブックマーク数を取得する https://budougumi0617.github.io/
HATENA_BLOG true or another BLOG_URLが設定済みであることがであることが前提。はてなブログ読者数を取得する、未設定もしくはtrue以外の設定は未入力と同じく値を取得しない true

スクリプトのプロパティの設定方法

  1. このリポジトリで作成したApps Scriptのプロジェクトを開く
  1. メニューの中の「ファイル」→「プロジェクトのプロパティ」をクリックする プロパティを設定する
  2. 「プロジェクトのプロパティ」ウインドウの「スクリプトのプロパティ」タブをクリックする
  3. 設定するプロパティの名前と値を入力していく スクリプトのプロパティ

Google Analyticsとの連携方法

Google Analyticsとの連携にはGA_VIEW_IDの他にAnalytics APIを有効にする必要があります。

GA_VIEW_IDの調べ方

まず、Google Analyticsの情報を取得するためのIDの取得方法は以下の通りです。

  1. 以下のURLを開く
  2. Select Viewで集計したいデータを選択する
  3. Set the query parametersidsに自動入力されるga:000000000というIDをGA_VIEW_IDとする

Analytics APIを有効にする

  1. Add-on scriptのメニューから「リソース」→「Google の拡張サービス」を選択し、Google Analytics APIを有効にします。

拡張サービス Add-on プロジェクト上でAPIを有効にする

  1. Google Cloud Platform API ダッシュボード へのリンクがあるのでクリックすると、別のウインドウが開きます。
  2. APIを有効にするボタンをクリックして「Analitycs API」を探し、有効にします。 APIとサービスを有効にする Analytics APIを有効にする
  3. もう一度Add-on scriptに戻りmain関数を実行すると、最初に出てきた認可ウインドウが表示されるので、最初と同じように「許可」をします。

定期的に実行する(トリガーを設定する)

Add-on scriptの時計のアイコンからトリガーを設定することができます。 メニューの中の「編集」→「現在のプロジェクトのトリガー」から定期的にmain関数を実行するようにします。 トリガーを設定して定期的に実行する

トリガーが時間どおりに動かない場合

タイムゾーンがずれているかもしれません。 メニューの中の「ファイル」→「プロジェクトのプロパティ」をクリックし、「プロジェクトのプロパティ」ウインドウ内の「情報」タブの中に「タイムゾーン」の設定があるのでそちらを確認してください。

要望など

Issueでお願いします。

https://github.com/budougumi0617/blog-kpi-collector/issues/new

製作者

@budougumi0617

ライセンス

MIT