Javascript/Next

[NEXTJS] Google Analytics 연결

eulBlue 2024. 11. 9. 21:54

📱테스트 환경

"react": "19.0.0-rc-02c0e824-20241028",
"react-dom": "19.0.0-rc-02c0e824-20241028",
"next": "15.0.2"

사실 애널리틱스는 필수느낌으로 가고있는 것 같다.

유저 리텐션이나 유입환경 등 파악하기 위해서는 필수이기 때문이다.

예전에는 설정하기 되게 좀 까다로웠던 같은데

쉽게 설정하는 방법이 있다고 하여 기록하려고 한다.

import Script from 'next/script';

export default function GoogleAnalytics({ gaId }: { gaId: string }) {
    return (
        <>
            <Script
                async
                src={`https://www.googletagmanager.com/gtag/js
				?id=${gaId}`}
            />
            <Script
                id="google-analytics"
                dangerouslySetInnerHTML={{
                    __html: `
		window.dataLayer = window.dataLayer || [];
		function gtag(){dataLayer.push(arguments);}
		gtag('js', new Date());

		gtag('config', '${gaId}');
		`,
                }}
            />
        </>
    );
}

/lib/GoogleAnalytics.tsx

<Html lang="en">
    <Head />
    <body className="antialiased">
        {process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS ? (
          <GoogleAnalytics gaId={process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS} />
        ) : null}
    	<GlobalStyles />
        <StyledComponentsRegistry>
          <Main />
          <NextScript />
        </StyledComponentsRegistry>
    </body>
  </Html>

pages/_document.tsx

이렇게 해주고 해당 키값은 .env 에 저장해놓으면 된다.

ㅇㅣ렇게만 해도 유입정보는 확인할 수 있고

Fuction 들은 따로 만들어야하는데 그건 다음에 작성하도록 하겠다.