【GAS】Google Analytics GA4のデータを取得する
Google Analytics(グーグルアナリティクス)UAがあと1年で使えなくなってしまうこと鑑みてGA4のデータを取得するGASを作成しました。
準備
Google Analytics Data APIを追加する
コードを書く
事前にGA4アカウントのIDを確認しておいてください。
function runReport() {
const propertyId = '<GA4アカウントのID>';
try {
// 列の項目を設定 (例:アクティブユーザーとイベント数)
const metric = AnalyticsData.newMetric();
metric.name = 'activeUsers';
const metric1 = AnalyticsData.newMetric();
metric1.name = 'eventCount';
// 行の項目 (例:日付とイベント名)
const dimension = AnalyticsData.newDimension();
dimension.name = 'date';
const dimension1 = AnalyticsData.newDimension();
dimension1.name = 'eventName';
// 取得期間
const dateRange = AnalyticsData.newDateRange();
dateRange.startDate = '7daysAgo';
dateRange.endDate = 'yesterday';
const request = AnalyticsData.newRunReportRequest();
request.dimensions = [dimension,dimension1];
request.metrics = [metric,metric1];
request.dateRanges = dateRange;
const report = AnalyticsData.Properties.runReport(request,
'properties/' + propertyId);
if (!report.rows) {
Logger.log('No rows returned.');
return;
}
// Append the headers.
const dimensionHeaders = report.dimensionHeaders.map(
(dimensionHeader) => {
return dimensionHeader.name;
});
const metricHeaders = report.metricHeaders.map(
(metricHeader) => {
return metricHeader.name;
});
const headers = [...dimensionHeaders, ...metricHeaders];
// Append the results.
let rows = report.rows.map((row) => {
const dimensionValues = row.dimensionValues.map(
(dimensionValue) => {
return dimensionValue.value;
});
const metricValues = row.metricValues.map(
(metricValues) => {
return metricValues.value;
});
return [...dimensionValues, ...metricValues];
});
rows.unshift(headers)
return rows;
} catch (e) {
// TODO (Developer) - Handle exception
Logger.log('Failed with error: %s', e.error);
}
}
function getDate(){
let ss=SpreadsheetApp.getActiveSpreadsheet()
sh=ss.getSheetByName("シート1")
let rows=runReport()
sh.getRange(1,1,rows.length,rows[0].length).setValues(rows)
}
https://developers.google.com/apps-script/advanced/analyticsdata
よく使いそうなMetrics(項目)やDimensions(指標)
期間
today | 今日 |
yesterday | 昨日 |
7daysAgo | 7日前 |
28daysAgo | 28日前 |
2020-09-01 | 日付指定 |
Metrics(項目)
activeUsers | アクティブユーザー |
eventCount | イベント数 |
conversions | コンバージョンイベントの数 |
newUsers | 新しい利用者 |
userEngagementDuration | Webサイトまたはアプリがユーザーのデバイスのフォアグラウンドにあった合計時間(秒単位) |
Dimensions(指標)
city | 街 |
country | 国 |
date | YYYYMMDDとしてフォーマットされたイベントの日付 |
dateHour | YYYYMMDDHHとしてフォーマットされた日付と時間の合計値 |
day | 月の日、01から31までの2桁の数字 |
dayOfWeek | 曜日。日曜日を週の最初の日として、[0,6]の範囲の値を返します |
fullPageUrl | フルページのURL |
googleAdsAccountName | Google広告のアカウント名 |
landingPage | ランディングページ |
operatingSystem | オペレーティング·システム |
pageReferrer | ホスト名とパスを含む完全な参照URL。 この参照URLは、ユーザーの以前のURLであり、このWebサイトのドメインまたは他のドメインにすることができます。 イベントパラメータ「page_referrer」が入力されます。 |
https://developers.google.com/analytics/devguides/reporting/data/v1?hl=ja
https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema
ディスカッション
コメント一覧
まだ、コメントがありません