技術ブログ

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

/ 初心者向け

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

Google AnalyticsデータをGASで自動取得!レポート作成が楽になる!

Google Analytics(以下、GA)は、ウェブサイトのアクセス状況を把握するための強力なツールです。しかし、毎日のようにレポートを確認したり、特定のデータを抽出しExcelなどに貼り付けたりするのは、時間も手間もかかりますよね。

そんな悩みを解決するのが、Google Apps Script(以下、GAS)です!GASを使えば、GAのデータを自動的に取得し、スプレッドシートに記録したり、メールで通知したりといった作業を自動化できます。この記事では、GAS初心者の方でも理解できるように、GASの基本からGAデータの取得方法、さらに具体的な活用例までを丁寧に解説していきます。

GASとは?

GASは、Google Workspace(Gmail、Google スプレッドシート、Google ドキュメントなど)の機能を拡張したり、自動化したりできるJavaScriptベースのプログラミング言語です。特別な開発環境を用意する必要がなく、ブラウザ上でコードを書くことができます。Google Workspaceを使っている方なら、すぐに始められます。

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

GASでGAデータを自動取得することには、以下のようなメリットがあります。

  • 作業の自動化: 手作業で行っていたデータ集計やレポート作成を自動化し、時間を節約できます。
  • リアルタイムなデータ把握: 定期的にデータを更新することで、常に最新の状況を把握できます。
  • カスタマイズ可能なレポート: GAの標準レポートでは得られない、独自の分析や加工が可能です。
  • データに基づいた意思決定: 収集したデータを元に、より精度の高いマーケティング戦略や改善策を立案できます。

GASでGAデータを取得する基本的な流れ

GASでGAデータを取得するには、大きく分けて以下のステップが必要です。

1. GASプロジェクトの作成: Google スプレッドシートからGASプロジェクトを作成するのが一般的です。

2. Google Analytics APIの有効化: GASからGAのデータにアクセスするために、Google Cloud PlatformでAPIを有効にする必要があります。

3. GAのビューIDの確認: データを取得したいGAのプロパティ・ビューのIDを確認します。

4. GASコードの記述: 取得したいデータや期間を指定して、GASのスクリプトを記述します。

5. トリガーの設定: スクリプトを定期的に実行するためのトリガーを設定します。

実際にGASでGAデータを取得してみよう!

それでは、具体的なコード例を見ていきましょう。

まず、Google スプレッドシートを開き、「拡張機能」>「Apps Script」を選択して、スクリプトエディタを開きます。

function getAnalyticsData() {
  // ここにGAのビューIDを記述します。
  var VIEW_ID = 'YOUR_VIEW_ID'; // 例: '123456789'

  // 取得したい期間を指定します。
  var startDate = '2023-10-01'; // 例: 2023年10月1日
  var endDate = '2023-10-31';   // 例: 2023年10月31日

  // 取得したいメトリクス(指標)とディメンション(項目)を指定します。
  // 例: sessions(セッション数), users(ユーザー数), pageviews(ページビュー数)
  // 例: date(日付), deviceCategory(デバイスカテゴリ)
  var metrics = 'ga:sessions,ga:users,ga:pageviews';
  var dimensions = 'ga:date,ga:deviceCategory';

  // Google Analytics APIにアクセスします。
  var response = Analytics.Data.Ga.get(
    'ga:' + VIEW_ID,
    startDate,
    endDate,
    metrics,
    {'dimensions': dimensions}
  );

  // 取得したデータをスプレッドシートに書き込みます。
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // ヘッダー行を書き込む(必要であれば)
  sheet.appendRow(['日付', 'デバイスカテゴリ', 'セッション数', 'ユーザー数', 'ページビュー数']);

  // データを1行ずつ追加していきます。
  var rows = response.rows;
  if (rows) {
    for (var i = 0; i < rows.length; i++) {
      var row = rows[i];
      sheet.appendRow([
        row[0], // 日付
        row[1], // デバイスカテゴリ
        row[2], // セッション数
        row[3], // ユーザー数
        row[4]  // ページビュー数
      ]);
    }
  } else {
    sheet.appendRow(['データがありません']);
  }
}

コードの解説

  • VIEW_ID: データを取得したいGAのビューIDを指定します。GAの管理画面から確認できます。
  • startDate, endDate: 取得したいデータの期間を指定します。YYYY-MM-DD形式で記述します。
  • metrics: 取得したい指標(例: セッション数、ユーザー数)をカンマ区切りで指定します。APIのドキュメントで利用可能なメトリクスを確認できます。
  • dimensions: データを集計する項目(例: 日付、デバイスカテゴリ)をカンマ区切りで指定します。APIのドキュメントで利用可能なディメンションを確認できます。
  • Analytics.Data.Ga.get(): Google Analytics APIを呼び出すための関数です。
  • SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(): 現在アクティブなスプレッドシートのシートを取得します。
  • sheet.appendRow(): 取得したデータをスプレッドシートの新しい行に追加します。

Google Analytics APIの有効化

上記コードを実行する前に、Google Cloud PlatformでGoogle Analytics APIを有効にする必要があります。GASプロジェクトを開き、「サービス」>「Google Analytics API」を選択して有効にしてください。

トリガーの設定

このスクリプトを毎日自動で実行したい場合は、トリガーを設定します。スクリプトエディタの左側にある時計アイコン(トリガー)をクリックし、「トリガーを追加」から「getAnalyticsData」関数を、実行頻度を「毎日」などに設定します。

活用例

GASとGAデータを組み合わせることで、様々な自動化が可能です。

  • 日次・週次・月次レポートの自動作成: 指定した期間のデータをスプレッドシートに自動で集計し、グラフ化することもできます。
  • 目標達成状況のモニタリング: 設定した目標の達成度を毎日チェックし、目標未達の場合は担当者にメールで通知する。
  • 特定キーワードの流入状況を追跡: 特定の検索キーワードからの流入数を定期的に取得し、SEO施策の効果測定に活用する。
  • 競合サイトとの比較: 競合サイトの公開データ(もしあれば)と自社サイトのGAデータを比較し、レポートを作成する。

まとめ

GASを使えば、Google Analyticsのデータを自動で取得し、レポート作成やデータ分析の作業を大幅に効率化できます。今回ご紹介した基本的なコードを参考に、ぜひご自身のウェブサイト分析にGASを活用してみてください。最初は難しく感じるかもしれませんが、一つずつ試していくうちにGASの便利さが実感できるはずです。これからもGASでできることをどんどん紹介していきますので、お楽しみに!

GAS自動化の導入相談

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

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