# Step 8: 추가 설정 - 이벤트 추적
## 이 문서의 목표
- 자동 수집 이벤트 이해하기
- 커스텀 이벤트 추가 방법 알기
- 전환 설정하기
---
## GA4 이벤트 유형
GA4는 이벤트 기반 분석 도구입니다. 이벤트는 3가지 유형으로 나뉩니다:
| 유형 | 설명 | 설정 필요 |
|------|------|----------|
| **자동 수집 이벤트** | GA4가 자동으로 수집 | 없음 |
| **향상된 측정 이벤트** | 토글로 활성화 | 최소 |
| **커스텀 이벤트** | 직접 코드 추가 | 필요 |
---
## 자동 수집 이벤트
GA4 스크립트만 추가하면 자동으로 수집되는 이벤트:
| 이벤트명 | 설명 |
|----------|------|
| `first_visit` | 첫 방문 |
| `session_start` | 세션 시작 |
| `page_view` | 페이지 조회 |
| `user_engagement` | 사용자 참여 |
---
## 향상된 측정 이벤트
데이터 스트림 설정에서 토글로 켜/끄기 가능:
| 이벤트명 | 설명 | 기본값 |
|----------|------|--------|
| `scroll` | 90% 스크롤 | ON |
| `click` | 외부 링크 클릭 | ON |
| `view_search_results` | 사이트 내 검색 | ON |
| `video_start` | 동영상 재생 시작 | ON |
| `video_progress` | 동영상 10/25/50/75% | ON |
| `video_complete` | 동영상 완료 | ON |
| `file_download` | 파일 다운로드 | ON |
### 설정 확인/변경:
관리 → 데이터 스트림 → 웹 스트림 → 향상된 측정 (톱니바퀴)
---
## 커스텀 이벤트 추가하기
### 예시 1: 문의 버튼 클릭 추적
```tsx
// components/ContactButton.tsx
"use client";
export default function ContactButton() {
const handleClick = () => {
// GA4 이벤트 전송
if (typeof window !== 'undefined' && window.gtag) {
window.gtag('event', 'contact_button_click', {
button_location: 'header',
page_title: document.title
});
}
// 실제 동작
window.location.href = '/contact';
};
return (
);
}
```
### 예시 2: 문의 폼 제출 추적
```tsx
// 폼 제출 성공 시
const onSubmitSuccess = () => {
if (typeof window !== 'undefined' && window.gtag) {
window.gtag('event', 'contact_form_submit', {
form_name: 'contact',
page_path: window.location.pathname
});
}
};
```
### TypeScript 타입 정의 추가
```tsx
// types/gtag.d.ts
declare global {
interface Window {
gtag: (
command: 'event' | 'config' | 'js',
action: string,
params?: Record
) => void;
dataLayer: any[];
}
}
export {};
```
---
## 전환 설정하기
전환(Conversion)은 비즈니스에 중요한 이벤트를 표시하는 것입니다.
### 전환으로 설정하면 좋은 이벤트:
- 문의 폼 제출
- 회원가입 완료
- 구매 완료
- 특정 페이지 도달
### 설정 방법:
1. **관리** → **이벤트**
2. 전환으로 만들 이벤트 찾기
3. **"전환으로 표시"** 토글 활성화
또는
1. **관리** → **전환**
2. **"새 전환 이벤트"** 클릭
3. 이벤트 이름 입력: `contact_form_submit`
---
## 권장 이벤트 네이밍
Google 권장 이벤트명을 사용하면 GA4가 자동으로 최적화:
| 이벤트명 | 용도 |
|----------|------|
| `generate_lead` | 리드 생성 (문의 등) |
| `sign_up` | 회원가입 |
| `login` | 로그인 |
| `purchase` | 구매 |
| `add_to_cart` | 장바구니 추가 |
| `search` | 검색 |
### 사용 예시:
```tsx
window.gtag('event', 'generate_lead', {
currency: 'JPY',
value: 1000
});
```
---
## Debug View로 이벤트 테스트
### 활성화:
1. **관리** → **DebugView**
2. 또는 URL에 `?debug_mode=true` 추가
### 코드에서 디버그 모드:
```tsx
gtag('config', 'G-XXXXXXXXXX', {
'debug_mode': true
});
```
### DebugView 화면:
실시간으로 이벤트가 전송되는 것을 확인 가능
---
## 다음 단계
v9에서는 자주 발생하는 문제와 해결 방법을 알아봅니다.
---
*작성일: 2024-12-05*
*프로젝트: PlanitAI 웹사이트 방문자 분석 설정*