🤸‍♀️

GASでAnalyticsのデータを取得する方法

2022/01/04に公開

やりたいこと

GoogleAppScriptで、GoogleAnalyticsのデータを取得して、Spreadsheetに入力する。

Spreadsheetのアドオンだけで取得することもできるけど、GASを使うことで柔軟にデータを加工できたり、いろいろと小回りが効く。

実装方法

ビューIDを確認

Google Analyticsを開き、取得したいサイトのビューIDを確認してメモしておく。

スプレッドシート&GASを開く

Google Analytics APIを有効化

データを取得する関数を作る

以下のサンプルコードを参考に、GASで関数を作る。

サンプルコード
function fetchGoogleAnalytics() {
  const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = spreadSheet.getSheetByName('テスト');

  const viewId = '111111111' // 最初のステップでメモしたビューID
  const startDate = '2021-03-01'
  const endDate = '2021-03-07'
  const metrics = "ga:pageviews,ga:sessions,ga:users"; // 取得したいデータ
  const dimensions = "ga:pagePath"; // 切り口(何毎に取得するか)
  const sortType = "-ga:pageviews";
  const filters = "ga:pagePath=~/new_users.*;ga:pageviews>=10" // フィルター(任意)

  const gaData = Analytics.Data.Ga.get(
    'ga:' + viewId,
    startDate,
    endDate,
    metrics,
    {
      'dimensions': dimensions,
      'sort': sortType,
      'filters': filters // 任意
    }
  ).getRows();
  sheet.getRange(4, 1, gaData.length, gaData[0].length).setValues(gaData); // セルA4を起点に書き込み
}

Google Analytics APIを有効化したことで、

Analytics.Data.Ga.get("ビューID", "開始日", "終了日", "取得したい指標", {"dimension":"ディメンション", "sort":"ソート方法"})

でデータを取得することが可能になっている。

よく使う指標と、その書き方

よく取得する指標

日本語表記 パラメーターとしての表記
ユーザー ga:users
セッション ga:sessions
ページビュー数 ga:pageviews
ページ/セッション ga:pageviewsPersession
平均セッション時間 ga:avgSessionDuration
直帰率 ga:bounceRate
離脱率 ga:exitRate

よくディメンションに設定する指標

日本語表記 パラメーターとしての表記
ページ ga:pagePath
ページタイトル ga:pageTitle
参照 ga:source
メディア ga:medium
参照/メディア ga:sourceMedium
デバイスカテゴリ ga:deviceCategory
時間帯 ga:dateHour

Query Explorerについて

GoogleAnalyticsのAPIを叩いて、データを取得することができるページ。
Googleが公式に提供している。
https://ga-dev-tools.web.app/query-explorer/

GASでコードを書くとき、ここでのクエリの組み立て方などが参考になることも多い。

参考

https://auto-worker.com/blog/?p=3005
https://auto-worker.com/blog/?p=264

Discussion