0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Next.js + Vercel アプリに Google Analytics を導入する方法(pnpm)

0
Posted at

はじめに

Next.jsの公式パッケージ @next/third-parties を使って、簡単にGoogle Analyticsを導入したので、その方法を記録しておきます。
今回は、pnpm を使っていますが、npmやyarnでもinstall方法が少し異なるだけで、流れは大体同じかと思います。
以下のようなものを最近作っているので、見ていって、できればフィードバックください。

1. Google Analytics プロパティの作成

まずは Google Analytics でプロパティを作成します。

Screenshot 2026-01-12 at 13.47.22.png

  1. Google Analytics にアクセス
  2. 「管理」→「プロパティを作成」をクリック
  3. プロパティ名、タイムゾーン、通貨を設定
  4. ビジネスの説明を入力
  5. 目標を選択
  6. 「ウェブ」(あるいは皆さんお好きなものを)を選択し、サイトのURLとストリーム名を入力
  7. 作成完了後、Measurement IDG-XXXXXXXXXX 形式)をメモしておく

2. パッケージのインストール

Next.js公式のサードパーティ統合パッケージをインストール。

# pnpm の場合
pnpm add @next/third-parties@latest

# npm の場合
npm install @next/third-parties@latest

# yarn の場合
yarn add @next/third-parties@latest

3. 環境変数の設定

.env.local(ファイル名は人による) に Measurement ID を追加します。

NEXT_PUBLIC_GOOGLE_ANALYTICS_ID=G-XXXXXXXXXX

NOTE

NEXT_PUBLIC_ プレフィックスをつけることで、クライアントサイドでも参照可能になります。

4. layout.tsx への実装

app/layout.tsxGoogleAnalytics コンポーネントを追加します。
私の場合は以下みたいな感じに。

import { GoogleAnalytics } from '@next/third-parties/google';
import { ReactNode } from 'react';

export default function RootLayout({ children }: { children: ReactNode }) {
  return (
    <html lang="ja" suppressHydrationWarning>
      <body suppressHydrationWarning>
        {process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS_ID && (
          <GoogleAnalytics gaId={process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS_ID} />
        )}
        <Header />
        <div className="flex-1">
          {children}
        </div>
        <Footer />
      </body>
    </html>
  );
}

環境変数が設定されている場合のみコンポーネントが読み込まれるようにしています。これにより、開発環境では Analytics を無効にするといった運用も可能です。

5. Vercel への環境変数の追加

最後に、Vercel のダッシュボードで環境変数を設定します。

注意
これ忘れがちです!

Screenshot 2026-01-12 at 14.15.15.png

  1. Vercel のプロジェクトページを開く
  2. 「Settings」→「Environment Variables」に移動
  3. 以下を追加:
    • Key: NEXT_PUBLIC_GOOGLE_ANALYTICS_ID
    • Value: G-XXXXXXXXXX(取得した Measurement ID)
  4. 必要に応じて適用する環境(Production / Preview / Development)を選択
  5. 「Save」をクリック
  6. 再デプロイして反映

動作確認

デプロイ後、Google Analytics のリアルタイムレポートでアクセスが計測されていれば成功。数日待つかも?

まとめ

@next/third-parties を使うことで、面倒なスクリプトタグの埋め込みなしに、数行のコードで Google Analytics を導入できました。Next.js + Vercel の組み合わせなら、環境変数の管理も簡単ですね。

お疲れ様でした。

わからないところ、間違っているところ、もっといい方法がある場合は、コメントでもDMでも教えてください。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?