[Next.js] Google Anaryticsを導入する方法
はじめに
この記事では、Next.js(app router)
プロジェクトにGoogle Analytics
を導入する方法を解説します。
特に、環境変数を使用してトラッキングIDを安全に管理し、@next/third-parties
パッケージを活用して簡単にGoogle Analyticsを設定する方法を紹介します。
目次
- はじめに
- 動作環境
- 前提条件
-
導入手順
- 4.1. Google Analyticsのセットアップをする
- 4.2.
.env
に環境変数の設定 - 4.3. 必要なパッケージのインストール(Next.js: v14~)
- 4.4.
layout.tsx
の設定 - 4.5. 動作確認
- 終わりに
動作環境
技術 | バージョン |
---|---|
node.js | 10.2.4 |
Next.js | 14.2.5 |
前提条件
- 基本的な
Next.js
のプロジェクトがセットアップ済みであること- 今回、既にに運用している
Next.js
のプロジェクトを前提に話を進めるため、プロジェクトの作成等に関しては省略します。
- 今回、既にに運用している
-
Google Analytics
アカウントが既に作成され、トラッキングID
を取得済みであること。-
トラッキングID
取得までは各自で準備をお願い致します。
-
導入手順
1.Google Anaryticsのセットアップをする
このIDが、ウェブサイトのトラッキングを行います。
手順
Google Analyticsにアクセスし、アカウントを作成します。
「プロパティを作成」ボタンをクリックして、ウェブサイト用のプロパティを作成します。
トラッキングID(G-XXXXXXXXXX)を取得し、次のステップで使用します。
.env
に環境変数の設定
2. 目的:トラッキングIDを安全に管理するために環境変数を使用する。
NEXT_PUBLIC_GA_TRACKING_ID=G-XXXXXXXXXX
.env
ファイルにトラッキングIDを記載することで、IDがコードベースに直接書き込まれることを防ぎ、セキュリティを強化します。
NEXT_PUBLIC_ プレフィックス
を使用することで、クライアントサイドでもこの変数にアクセス可能になります。
3.必要なパッケージのインストール(Next.js:v14~)
目的 :@next/third-parties
パッケージを使用してGoogle Analyticsを簡単に導入する。
npm i @next/third-parties@canary
layout.tsx
の設定
4.目的: Google Analyticsをサイト全体で有効にするため、layout.tsx
ファイルに設定を追加する。
import { GoogleAnalytics } from "@next/third-parties/google";
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="ja">
<head>
{/* 他のメタタグやリンクは省略 */}
</head>
<body>
<GoogleAnalytics gaId={process.env.NEXT_PUBLIC_GA_TRACKING_ID!} />
{children}
</body>
</html>
);
}
5. 動作確認
ブラウザでサイトにアクセスし、Google Analyticsのリアルタイムレポートを確認します。
正しく設定されていれば、訪問者データがリアルタイムで表示されるはずです。
終わりに
headタグに直書きでもいいのですが、色々とWebサイトや記事を漁っていると、パフォーマンス向上のために今回の方法を推奨していることが多いことに気づきました。
しかも意外と導入までのコストは小さいため大した労力でもなかったことに驚きです。
Discussion