서론.
티키타자를 개발하면서 실제 사용자가 써봤으면 하는 마음이 컸다.
'특별한 목적이 있어야 한다', '로그인이 꼭 필요하다'와 같은 은근한 허들(?)이 없어서, 가볍게 접근할 수 있다는 것이 우리 서비스의 장점같았기 때문이다!!
그래서 매를 잔뜩 맞더라도 피드백 겸 QA를 받고 싶었다!
그리고 드디어 드디어 시도해보았다. (( 험난한 과정이었따....
웹 사이트 사용자 분석 툴이다.
무료이고 가장 간단해서 첫 방법으로 선택하게 되었다.
https://analytics.google.com/analytics/web/provision/?authuser=4#/provision
위 사이트에 접속해 순서대로 가입을 진행한다.
이렇게 다섯단계가 있다
데이터 스트림 설정에 서 분석으로 이용할 웹사이트 url을 넣으면 된다.
[ 스트림 만들기 ] 를 누르면
프로젝트에 적용하기 위한 방법이 뜬다!
( 환경설정 > 데이터 수집 및 수정 > 데이터 스트림 > 태그 안내보기 ) 에서도 같은 화면을 볼 수 있다.
위에서 처럼 스크립트를 이용하는 방법과 외부 다이어리를 사용하는 방법이 있다.
측정 ID가 필요하다!
환경설정 > 데이터 수집 및 수정 > 데이터 스트림에서 정보 확인과 함께 측정ID를 볼 수 있다!
G-로 시작하는 측정 ID를 아래 코드에 사용하면 된다.
이 코드는 환경설정 > 데이터 수집 및 수정 > 데이터 스트림 > 제일 아래 '태그 안내 보기' 에 있다
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=추적아이디"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '추적아이디');
</script>
놀랍게도 끝이다 - !
직접설치도 할 수 있지만 라이브러리를 사용할 수도 있다.
왜?
여러 레퍼런스를 통해 알게 된 것인데,
특정한 측정 기준이나 이벤트로부터 측정을 하려는 경우, 라이브러리로 이를 커슽머 할 수 있는 것 같다!
대표적인 라이브러리로 react-ga4 가 있다.
https://www.npmjs.com/package/react-ga4
https://classic.yarnpkg.com/en/package/react-ga4
yarn add react-ga4
라이브러리부터 모듈을 불러와 사용하는 형식은 이렇다
import ReactGA from "react-ga4"; ReactGA.initialize("your GA measurement id");
이 기본 코드를 통해 프로젝트에 적용해보자!
우선, 환경 변수를 설정해둔다.
// .env
VITE_GA_KEY = "G-..."
url 변경시를 탐지하기 위해 다음과 같은 함수를 만든다.
//GATracker.ts
import { useEffect, useState } from 'react';
import ReactGA from 'react-ga4';
import { useLocation } from 'react-router-dom';
const GA_KEY = import.meta.env.VITE_GA_KEY;
const GATracker = () => {
const location = useLocation();
const [isInitialized, setIsInitialized] = useState(false);
useEffect(() => {
if (GA_KEY) {
ReactGA.initialize(GA_KEY);
setIsInitialized(true);
}
}, []);
// location 변경시 pageview 전송
useEffect(() => {
if (isInitialized) {
ReactGA.set({ page: location.pathname });
ReactGA.send('pageview');
}
}, [isInitialized, location]);
};
export default GATracker;
App에 연결한다
//App.tsx
...
import GATracker from './GATracker';
export const App = () => {
GATracker(); // <- !! 추가 !
return (
...
);
};
2번 라이브러리를 적용했다가, 위에 말했듯 특정 이벤트 등 라이브러리를 활용하는 경우를 세팅하지 않아서, 기본의 스크립트로 적용했다.
일단은 접속자 수를 볼 수 있다.
분석이 더 진행되면 더 많은 정보를 볼 수 있는 듯 하다?
히트맵 같은 섬세한 사용자 분석을 위해서 뷰저블, hotjar 등도 적용해보고 싶다.
우리 사이트는 플로우가 간단하지만은~
나중에 '연습모드'에 얼마나 접속하는지 언제쯤 로그인을 시도하는지 등을 파악할 수 있지 않을까?? 그걸로 어떤 비즈니스가 될지는 아직 모르겠다만!
재밌다!
https://classic.yarnpkg.com/en/package/react-ga4
url 변경 코드 참고 - '좌충우돌프론트엔드생존기 Tistory'
삽질을 지켜봐준 석주횽님께도 감사 🥹