技術ブログ

GASでGoogle Analyticsデータを自動取得!初心者向け解説

/ 初心者向け

GASでGoogle Analyticsデータを自動取得!初心者向け解説

GASでGoogle Analyticsデータを自動取得!

Google Analytics (GA) は、ウェブサイトのアクセス状況を把握するための強力なツールですが、定期的にデータを取得し、分析するのは手間がかかりますよね。そこで今回は、Google Apps Script (GAS) を活用して、Google Analyticsのデータを自動で取得する方法を、初心者の方にも分かりやすく解説します。

Google Apps Script (GAS) とは?

GASは、Googleが提供するJavaScriptベースのスクリプト言語です。Gmail、Google Sheets、Google Driveなど、様々なGoogleサービスを連携させたり、自動化したりすることができます。今回のテーマであるGoogle Analyticsも、GASから操作することが可能です。

なぜGASでGAデータを自動取得するのか?

GASを使ってGAデータを自動取得するメリットはいくつかあります。

  • 作業の効率化: 定期的なデータ取得作業を自動化し、時間を節約できます。
  • リアルタイムなデータ分析: 最新のデータを常に把握し、迅速な意思決定に繋げられます。
  • カスタムレポートの作成: GAの標準レポートでは得られない、独自の切り口でのデータ分析が可能になります。
  • 他サービスとの連携: 取得したデータをGoogle Sheetsに書き出したり、Slackに通知したりと、他のサービスと連携させることができます。

GASでGAデータを取得するための準備

GASでGAデータを取得するには、主に以下の2つの方法があります。

1. Reporting API (v4) を使用する: より柔軟で詳細なデータ取得が可能です。多くのユースケースに対応できます。

2. Analytics Service を使用する: GASに組み込まれたサービスで、比較的簡単にGAデータにアクセスできます。初心者にはこちらがおすすめです。

今回は、より手軽に始められる「Analytics Service」を使った方法をご紹介します。

Analytics Service を使ったGASコード例

まずは、Google Spreadsheetを開き、拡張機能 > Apps Script からスクリプトエディタを開きましょう。そして、以下のコードを貼り付けてください。

function getAnalyticsData() {
  // Google AnalyticsのView IDを指定します。
  // ご自身のGAのビューIDに置き換えてください。
  var VIEW_ID = 'YOUR_VIEW_ID';

  // 取得したい期間を指定します。
  // 例: '7daysAgo' (過去7日間), 'yesterday' (昨日)
  var startDate = '7daysAgo';
  var endDate = 'yesterday';

  // 取得するディメンションとメトリクスを指定します。
  // 例: ディメンション「日付」、メトリクス「セッション数」「ユーザー数」
  var dimension = 'date';
  var metrics = 'sessions,users';

  // Analytics Service を使ってデータを取得します。
  var report = Analytics.Data.Ga.get(
      VIEW_ID,
      startDate,
      endDate,
      'ga:' + dimension, // ディメンションは 'ga:' をプレフィックスとして指定します。
      {'metrics': 'ga:' + metrics} // メトリクスも 'ga:' をプレフィックスとして指定します。
  );

  // 取得したデータをGoogle Spreadsheetに書き込みます。
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  // ヘッダー行を書き込みます。
  sheet.appendRow(['日付', 'セッション数', 'ユーザー数']);

  // レポートのデータを1行ずつ追加します。
  var rows = report.getRows();
  if (rows) {
    for (var i = 0; i < rows.length; i++) {
      sheet.appendRow(rows[i]);
    }
  } else {
    sheet.appendRow(['データがありません']);
  }
}

コードの説明:

  • YOUR_VIEW_ID: ここにご自身のGoogle AnalyticsのビューIDを指定します。GAの管理画面で確認できます。
  • startDate, endDate: 取得したい期間を指定します。様々な指定方法があります。
  • dimension, metrics: 取得したいデータの種類を指定します。GAのReporting APIで利用できるディメンションとメトリクスの一覧をご確認ください。
  • Analytics.Data.Ga.get(): Analytics Serviceを使用して、GAからデータを取得する関数です。
  • sheet.appendRow(): 取得したデータをスプレッドシートの末尾に行として追加します。

スクリプトの実行と承認

1. スクリプトエディタのメニューから「実行」ボタン(▶︎)をクリックします。

2. 初めて実行する際には、「承認が必要です」というダイアログが表示されます。指示に従って「権限の確認」に進み、Googleアカウントを選択し、スクリプトにGoogle AnalyticsやGoogle Sheetsへのアクセスを許可してください。

トリガーの設定(自動実行)

このスクリプトを定期的に自動実行するには、トリガーを設定します。

1. スクリプトエディタの左側にある時計のアイコン(トリガー)をクリックします。

2. 右下にある「トリガーを追加」ボタンをクリックします。

3. 以下の設定を行います:

  • 実行する関数を選択: getAnalyticsData
  • 実行するデプロイを選択: Head
  • イベントのソースを選択: 時間主導型
  • 時間の間隔を選択: 例えば「毎日」「週ごと」「月ごと」など、ご希望の間隔を設定します。
  • エラー通知設定: 必要に応じて設定します。

4. 「保存」をクリックします。

これで、指定した間隔で自動的にGoogle Analyticsのデータがスプレッドシートに取得されるようになります。

まとめ

GASを使えば、Google Analyticsのデータを自動で取得し、業務効率を大幅に向上させることができます。今回ご紹介したAnalytics Serviceは、GAS初心者の方でも比較的簡単に実装できるため、ぜひ試してみてください。慣れてきたら、Reporting API v4を使って、さらに高度なデータ取得や分析に挑戦してみましょう!

GASとGAの連携は、ウェブサイト運営におけるデータ分析の強力な味方となります。ぜひこの機会にGASを活用して、データドリブンな意思決定を加速させましょう!

GAS自動化の導入相談

請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。

請求書自動生成ツールを見る / SNS自動投稿ツールを見る