GASでGoogle Analyticsデータを自動取得!初心者向け解説
/ 初心者向け
GASでGoogle Analyticsデータを自動取得!初心者向け解説
「Google Analyticsのデータ、毎回手動でダウンロードするのが面倒…」
そんな悩みを抱えているあなたに朗報です!Google Apps Script (GAS) を使えば、Google Analyticsのデータを自動で取得し、スプレッドシートなどに連携させることができます。この記事では、GAS初心者の方でも安心して取り組めるように、基本的な設定から具体的なコード例までを分かりやすく解説します。
なぜGASでGoogle Analyticsデータを自動取得するのか?
Google Analyticsは、ウェブサイトのアクセス状況を把握するための強力なツールですが、データを定期的に確認・分析するためには、手動でレポートをダウンロードしたり、スプレッドシートに転記したりする作業が発生しがちです。これは時間と労力がかかるだけでなく、ヒューマンエラーのリスクも伴います。
GASを活用することで、これらの手作業を自動化し、以下のようなメリットを享受できます。
- 時間と労力の削減: 定期的なデータ取得・集計作業から解放されます。
- データの一元管理: 取得したデータをスプレッドシートなどに集約し、分析しやすくします。
- リアルタイムな状況把握: 最新のデータを常に確認できるようになります。
- カスタムレポートの作成: 必要なデータだけを抽出・加工した独自のレポートを作成できます。
GASでGoogle Analyticsデータを取得するための準備
GASでGoogle Analyticsのデータを取得するには、いくつかの準備が必要です。
1. Googleアカウントの準備
Google AnalyticsとGASは、どちらもGoogleアカウントに紐づいています。普段お使いのGoogleアカウントで問題ありません。
2. Google Analyticsアカウントとプロパティの確認
GASからアクセスしたいGoogle Analyticsのプロパティ(ウェブサイト)が、該当するGoogleアカウントで管理されていることを確認してください。GA4(Google Analytics 4)とユニバーサルアナリティクス(UA)で、APIの仕様や設定方法が若干異なりますが、基本の流れは同じです。
3. スプレッドシートの準備(任意)
取得したデータを保存・活用するために、Googleスプレッドシートを用意しておくと便利です。新しいスプレッドシートを作成しておきましょう。
GASでGoogle Analyticsデータを取得する基本的な流れ
GASでGoogle Analyticsデータを取得する基本的な流れは以下の通りです。
1. GASエディタを開く: GoogleスプレッドシートからGASエディタを開くのが簡単です。
2. Google Analytics APIへの接続: GASからGoogle Analytics APIを利用するための設定を行います。
3. レポート取得のためのコード記述: 取得したいデータの条件(期間、ディメンション、指標など)を指定するコードを書きます。
4. コードの実行とデータ取得: コードを実行し、データを取得します。
5. 取得したデータの活用: 取得したデータをスプレッドシートに書き込んだり、メールで送信したりします。
実際にGASでGoogle Analyticsデータを取得してみよう!
ここでは、GA4のデータ(例: ページビュー数、セッション数)をスプレッドシートに取得する基本的なコード例を紹介します。
1. GASエディタを開く
対象のスプレッドシートを開き、「拡張機能」>「Apps Script」を選択します。
2. Google Analytics APIへの接続(OAuth同意画面)
初めてGASからGoogle Analytics APIを利用する場合、APIへのアクセス許可を求める「OAuth同意画面」が表示されます。
Analytics Data API v1betaなどの必要なAPIにチェックを入れて、「許可」をクリックしてください。
3. コードの記述
GASエディタが表示されたら、既存のコードを削除し、以下のコードを貼り付けてください。
function getAnalyticsData() {
// 取得したいGA4のプロパティIDを設定します。
// "xxxxxxxxx" の部分をあなたのプロパティIDに置き換えてください。
const propertyId = "xxxxxxxxx";
// 取得したい期間を設定します(例: 昨日)
const startDate = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd");
const endDate = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd");
// APIリクエストのボディを作成します。
const requestBody = {
dateRanges: [
{
startDate: startDate,
endDate: endDate,
}
],
metrics: [
{ name: "sessions" }, // セッション数
{ name: "screenPageViews" } // ページビュー数
],
dimensions: [
{ name: "pagePath" } // ページパス
]
};
// Google Analytics Data API v1beta を使用します。
const response = AnalyticsData.Properties.runReport({
property: `properties/${propertyId}`,
requestBody: requestBody
});
// 取得したデータをスプレッドシートに書き込む処理
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const header = ["Date", "Page Path", "Sessions", "Page Views"];
const rows = [];
// ヘッダー行を書き込む
sheet.getRange(1, 1, 1, header.length).setValues([header]);
// APIレスポンスからデータを抽出し、スプレッドシート用の形式に変換
response.rows.forEach(row => {
const pagePath = row.dimensionValues.find(dv => dv.value).value;
const sessions = row.metricValues.find(mv => mv.name === "sessions").value;
const pageViews = row.metricValues.find(mv => mv.name === "screenPageViews").value;
rows.push([startDate, pagePath, sessions, pageViews]);
});
// データをスプレッドシートに書き込む
if (rows.length > 0) {
sheet.getRange(2, 1, rows.length, rows[0].length).setValues(rows);
Logger.log(`${rows.length}件のデータを取得し、スプレッドシートに書き込みました。`);
} else {
Logger.log("取得できるデータがありませんでした。");
}
}
コードの解説:
propertyId: ここにあなたのGA4プロパティIDを入力します。startDate,endDate: 取得したい期間を指定します。この例では昨日を取得しています。metrics: 取得したい指標(セッション数、ページビュー数など)を指定します。dimensions: データを集計する軸(ページパス、日付など)を指定します。AnalyticsData.Properties.runReport: Google Analytics Data API v1beta を使ってレポートを取得する関数です。sheet.getRange().setValues(): 取得したデータをアクティブなシートに書き込みます。
4. コードの保存と実行
- GASエディタの上部にあるフロッピーディスクアイコン(保存)をクリックします。
- 関数のドロップダウンメニューから
getAnalyticsDataを選択し、再生ボタン(▶)をクリックして実行します。
初めて実行する際には、先述のOAuth同意画面が表示されることがありますので、適切に承認してください。
5. 結果の確認
コードが正常に実行されると、スプレッドシートにGoogle Analyticsのデータが書き込まれているはずです。もしエラーが発生した場合は、ログを確認して原因を特定しましょう。
より高度な活用方法
今回の例は基本的なものですが、GASを使えばさらに様々なことが可能です。
- 定期実行: トリガーを設定して、毎日・毎週・毎月自動でデータを取得・集計する。
- 条件分岐: 特定の条件を満たす場合にのみデータを取得・通知する。
- メール送信: 取得したデータをメールで担当者に自動送信する。
- グラフ化: 取得したデータを元に、グラフを自動生成する。
- 他のサービスとの連携: Slackに通知を送ったり、Looker Studio(旧Googleデータポータル)のデータソースとして活用したりする。
まとめ
Google Apps Script (GAS) を活用することで、Google Analyticsのデータを自動で取得し、業務効率を大幅に向上させることができます。本記事で紹介した基本的なコードを参考に、ぜひご自身の環境で試してみてください。最初は難しく感じるかもしれませんが、実際に手を動かすことで理解が深まります。GASを使いこなし、データに基づいた意思決定を加速させていきましょう!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。