Next.js Google AnalyticsNext.js GA4Next.js ScriptHow to use Google Analytics in Next.jsfrontend

Next.js에서 next/script를 사용하여 Google Analytics 통합하기

KUKJIN LEE
KUKJIN LEE
2024년 11월 26일
386

왜 Next.js에서 Google Analytics를 사용해야 하나요?

Google Analytics를 사용하면 페이지 조회수, 사용자 상호작용, 전환 등 중요한 메트릭을 측정할 수 있어 데이터 기반의 결정을 내리는 데 도움이 됩니다. Next.js와 통합함으로써 서버 사이드 렌더링(SSR) 기능을 활용하면서도 원활한 분석을 유지할 수 있습니다.

 

※ Next Version 15 이상 사용할 경우, 아래 내용으로 진행하지 마세요.

 

단계별 통합 방법

  1. Google Analytics 계정 생성

    • 아직 계정이 없다면 Google Analytics 계정을 설정하고 웹사이트에 대한 속성을 생성하세요.

    • 추적 코드에 사용할 측정 ID(예: G-XXXXXXX)를 얻으세요.

  2. next/script 설치

    • next/script는 타사 스크립트를 Next.js 앱에 추가하면서 적절한 로딩과 실행을 보장하는 내장 컴포넌트입니다.

  3. _app.js 또는 _app.tsx에 Google Analytics 스크립트 추가

    • _app.js 또는 _app.tsx 파일을 엽니다. 이 파일에서 모든 페이지에 Google Analytics를 전역으로 추가할 수 있습니다.

import { useEffect } from 'react';
import Script from 'next/script';
function MyApp({ Component, pageProps }) {
  useEffect(() => {
    if (typeof window !== "undefined") {
      window.dataLayer = window.dataLayer || [];
      function gtag() { window.dataLayer.push(arguments); }
      gtag('js', new Date());
      gtag('config', 'G-XXXXXXX'); // 측정 ID로 대체하세요
    }
  }, []);
  return (
    <>
      {/* Google Analytics 스크립트 */}
      <Script
        strategy="afterInteractive"
        src={`https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX`}
      />
      <Script id="google-analytics" strategy="afterInteractive">
        {`
          window.dataLayer = window.dataLayer || [];
          function gtag(){window.dataLayer.push(arguments);}
          gtag('js', new Date());
          gtag('config', 'G-XXXXXXX');
        `}
      </Script>
      <Component {...pageProps} />
    </>
  );
}
export default MyApp;

next/script를 사용하여 Next.js 애플리케이션에 Google Analytics를 통합하는 것은 사용자 상호작용에 대한 유용한 통찰을 수집하는 간단한 과정입니다. 위 단계를 따르면 효율적으로 메트릭을 추적할 수 있으며, 프로젝트에 대한 이해와 의사 결정을 개선할 수 있습니다.

관련 글

TypeScript any 린트 에러(no-explicit-any) 근본적으로 해결하기

TypeScript 프로젝트에서 @typescript-eslint/no-explicit-any 린트 에러는 단순 규칙 비활성화로 해결할 문제가 아닙니다. 눈 앞 문제는 해결할 수 있지만, TypeScript를 사용하는 가장 중요한 이유를 위배하게 됩니다. any 타입은...

2025년 7월 23일269

JSP 주석, 아직도 `` 쓰시나요? 올바른 사용법

코드를 작성하다 보면 주석을 남기는 경우가 많습니다. 하지만 JSP 환경에서 어떤 주석을 사용하냐에 따라 보안 수준과 성능 이 크게 달라집니다. 표준 주석: 서버 사이드 주석 &lt;%-- --%&gt; JSP 페이지 내 개발 관련 주석은 &lt;%-- --%&gt; 를 사용하는게 좋습니다...

2025년 7월 9일144

쉽게 만드는 React Tab 라이브러리 react-tabs

개발자가 커스텀 스타일을 쉽게 적용할 수 있도록 최소한의 스타일만 제공하여 유연한 스타일링 이 가능한 라이브러리입니다. 상태 관리가 내장되어 있어 탭 선택 및 패널 표시 로직을 직접 구현할 필요 없이 간편하게 사용할 수 있습니다. 기본 사용법 먼저, 라이브러리를 설치합...

2025년 6월 17일173

Next.js 환경 변수 NEXT_PUBLIC 접두사 역할

NEXT_PUBLIC 접두사를 붙이면 변수의 접근 범위가 완전히 달라집니다. 이 차이점을 이해하는 것이 안전하고 효율적인 Next.js 애플리케이션을 구축하는 데 중요합니다. NEXT_PUBLIC 접두사가 없는 환경 변수 (서버 전용) NEXT_PUBLIC 접두사 없이...

2025년 6월 13일156