Apps Scriptとは? Apps Scriptとは、Googleが提供するプログラム言語で、javascriptをベースに作られています。 GmailやGoogleドライブなど、Googleのサービスと連携して何かを行うWebサービスやアプリをつくることができます。 アナリティクスと組み合わせて、何かできそう! Googleアナリティクスの分析結果をレポート化...
Apps Scriptとは?
Apps Scriptとは、Googleが提供するプログラム言語で、javascriptをベースに作られています。
GmailやGoogleドライブなど、Googleのサービスと連携して何かを行うWebサービスやアプリをつくることができます。
アナリティクスと組み合わせて、何かできそう!
Googleアナリティクスの分析結果をレポート化して、毎日自動で配信する方法を、下記の記事で紹介しました。
※ここで紹介しているレポートは、テンプレートも配布中です。
このレポート、めちゃくちゃ見やすくて本当に良いものなのですが、1つだけ不得意なことがあります。
それは…「データのストック(蓄積)には不向きなこと」。
つまり、日々の実績をシートにまとめて、後で推移などを分析したり、このタイミングでアクセスが急激に伸びている!と言ったことを見るのには、実は不向きなんです。そこで、このレポートの運用はもちろん継続しつつ、シンプルに実績を蓄積できないかな…と考えました。
そう、こんな感じに。
実は、「Apps Script」とGoogle Analyticsを組み合わせることで、自動でデータを蓄積することができるんです。
Google Analyticsとの連携方法
➀「Apps Script」の画面へ移行します
スプレッドシート「拡張機能」から「Apps Script」を選んでください。
➁GoogleアナリティクスのAPIに接続して、集計値を参照できるように準備します
・「サービス」をクリックし、「Google Analytics Data API」を選択します・バージョンは最新の「ベータ版」、IDが「AnalyticsData」であることを確認します・最後に「追加」を押して、接続完了です
「サービス」の下に「AnalyticsData」と表示がされていればOKです。
Apps Scriptの画面構成
ここで、「Apps Script」の画面構成について、見ておきましょう。
・右下の青枠の広いスペースが、コード(Javascript)を書く場所になります。・「実行」を押すと、上記で書いたコードが動き、処理が開始されます。
上記の画像を翻訳すると…
「myFunction」という名前の空っぽの関数を作っていて、「実行」ボタンを押すことで、「myFunction」の処理が開始されます
という意味になります。
Google Analyticsの集計値を取得してみよう
Apps Scriptへコードを貼り付けます
今回は、下記の項目を取得します。・日付・エンゲージメント時間(秒)・総PV数・アクティブユーザ数・新規ユーザ数・イベント数・コンバージョンイベント数
※下記のJavascriptのコードを、コピーして貼り付けてください※貼り付ける際には、デフォルトで書かれている「function myFunction() {}」は消去して大丈夫です。
貼り付けたコードをちょっとだけ解説
今回のコードの大まかな流れは、こんな感じです。
GA4のプロパティIDを取得↓取得したいメトリクスを定義↓データの行の項目を「日付」で指定↓取得期間を指定↓リクエストを作成↓指定されたプロパティIDからデータを取得↓アクティブなスプレッドシートのシート名を取得↓取得したデータを整理↓整理したデータをスプレッドシートに出力↓成功/失敗メッセージをコンソールに出力
実行ボタンを押してみましょう
「実行」ボタンを押すと、下記の画像のように結果が出力されます。※見出しは出力されないので作成しています。
データが蓄積されると、こんな感じで日々の結果をストックすることができます。
皆さんの環境に合わせるには…ココを書き換えましょう
書き換えなければいけない箇所は「2箇所」です。
➀GA4のプロパティID(上から4行目あたり)
プロパティIDは、この数字です。
プロパティIDは、Google Analyticsの「アカウント名横よこの▼」>「アナリティクスアカウント」>「プロパティとアプリ」で確認ができます。
(例)プロパティIDが「123456789」の場合
➁結果を出力するスプレッドシートの「タブ名」(下から25行目あたり)
上記のコードでは、「Daily」というタブが指定されていますので、Dailyを書き換えましょう。
「タブ名」とは、スプレッドシートのココのことです。今回のコードでは結果を出力する「シート名」については、記載する必要はありません。
(例)タブ名が「Output」の場合
デフォルトでは「myFunction」が実行されるようになっているので、コードを貼り付けた直後に「実行」ボタンを押すと、下記のエラーが表示されます。
これは、コードを貼り付けた直後に出る1回切りのエラーなので、気にしないでください。もう一度、「実行」ボタンを押すと正常に動きます。(以降、同様のエラーが出ることはありません)
集計を自動化してみましょう
「実行」ボタンを押すことで、前日の実績がスプレッドシートへ転記できることが分かりました。でも、毎日「実行」ボタンを押すというタスクをスケジュールへ入れるのは、ちょっとナンセンスです。
そこで、毎日決まった時刻に「実行」ボタンが押されるように、処理を自動化してみましょう。
自動化の方法
「Apps Script」のホーム画面に戻り、「トリガー」>「トリガーを追加」ボタンを押します。
トリガーの詳細設定画面が立ち上がりますので、設定をしていきます。
ここでは、毎日「AM6:00~7:00に処理が自動実行される」ように設定しています。
・実行する関数:今回ペーストした関数の名前を選択してください・実行するデプロイ:「Head」で構いません・イベントのソース:時間主導型・時間ベースのトリガータイプ:日付ベースのタイマー・時刻:午前6時~7時・エラー通知設定:今すぐ通知を受け取る
上記設定ができたら「保存」を押して完了です。
この設定により、毎日自動で「実行」ボタンが押されるようになりました。あとは、毎朝追加される実績をチェックすることに時間が割けるので、有意義にサイト運営ができますね。