🤸♀️
GASでAnalyticsのデータを取得する方法
やりたいこと
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が公式に提供している。
GASでコードを書くとき、ここでのクエリの組み立て方などが参考になることも多い。
参考
Discussion