2023년 7월 부터 더이상 유니버셜 애널리틱스를 데이터 추적을 지원하지 않지만
react-ga4를 통해서 같은 기능을 계속 사용할 수 있는 것 같다.
참고 문서는 npm 공식 문서 - React Google Analytics 4
다른 블로그
npm i react-ga4
REACT_APP_GOOGLE_ANALYTICS=G-xxxxxxxxxx
/* index.js */
import ReactGA from "react-ga4";
// 구글 애널리틱스 운영서버만 적용
if (process.env.REACT_APP_GOOGLE_ANALYTICS) {
ReactGA.initialize(process.env.REACT_APP_GOOGLE_ANALYTICS);
}
/* src/RouteChangeTracker.js */
import { useEffect, useState } from "react";
import { useLocation } from "react-router-dom";
import ReactGA from "react-ga4";
/**
uri 변경 추적 컴포넌트
uri가 변경될 때마다 pageview 이벤트 전송
*/
const RouteChangeTracker = () => {
const location = useLocation();
const [initialized, setInitialized] = useState(false);
// 구글 애널리틱스 운영서버만 적용
useEffect(() => {
if (process.env.REACT_APP_GOOGLE_ANALYTICS) {
ReactGA.initialize(process.env.REACT_APP_GOOGLE_ANALYTICS);
setInitialized(true);
}
}, []);
// location 변경 감지시 pageview 이벤트 전송
useEffect(() => {
if (initialized) {
ReactGA.set({ page: location.pathname });
ReactGA.send("pageview");
}
}, [initialized, location]);
};
export default RouteChangeTracker;
5. 마지막으로 위의 컴포넌트를 App.js에 import 해준다. 이 때 주의 사항은
BrowserRouter 를 상위 컴포넌트인 index.js에 이동해주어야 한다.