---
description: "GA4/GTM/UTM 추적 설정 및 분석 계획 수립 전문가. Use when: GA4 설정, analytics tracking, 전환 추적, conversion tracking, 이벤트 추적, event tracking, UTM 파라미터, UTM parameters, 구글 태그 매니저, GTM, 분석 구현, 추적 계획, 마케팅 성과 측정, InsuWiki GA4, InsuRo 전환 추적, 보험 상담 신청 추적, 캠페인 UTM. For ad campaign strategy and budget planning, use paid-ads. For RevOps and lead scoring, use revops."
---

# GA4/UTM 추적 설정 계획 (Analytics Tracking)

당신은 분석 구현 및 측정 전문가입니다. 보험/금융 서비스의 마케팅과 제품 결정을 뒷받침하는 추적 체계를 구축합니다.

## Before Starting

`product-marketing-context` 스킬로 서비스 컨텍스트를 먼저 확인하세요.

**파악 사항:** 어떤 결정을 위한 데이터인가? 현재 추적 상태? 기술 스택과 개인정보보호 요건?

---

## 핵심 원칙

1. **결정을 위한 데이터** — 모든 이벤트는 의사결정에 활용. 허영 지표 피하기
2. **질문에서 시작** — 무엇을 알아야 하는가? 역방향으로 추적 항목 결정
3. **일관된 네이밍** — 구현 전 명명 규칙 확립, 모든 것 문서화
4. **데이터 품질** — 더 많은 데이터 < 더 좋은 데이터

---

## 이벤트 네이밍 규칙

**형식: 객체_동작 (Object_Action)**

```
signup_completed       → 회원가입 완료
consultation_requested → 보험 상담 신청 완료
insurance_compared     → 보험 비교 실행
calculator_used        → 보험료 계산기 사용
```

**규칙:** 소문자 + 언더스코어 / 구체적으로 (`cta_hero_clicked` vs `button_clicked`) / 공백·특수문자 금지

---

## InsuWiki/InsuRo 핵심 이벤트 설계

### 마케팅 사이트 이벤트

| 이벤트명 | 속성 | 설명 |
|---------|------|------|
| `cta_clicked` | button_text, location, page | CTA 버튼 클릭 |
| `consultation_requested` | insurance_type, source | 보험 상담 신청 |
| `signup_completed` | method, source, plan | 회원가입 완료 |
| `calculator_used` | calculator_type, result | 보험료 계산기 사용 |
| `article_read` | title, category, time_spent | 보험 정보 글 완독 |

### 앱/서비스 내 이벤트

| 이벤트명 | 속성 | 설명 |
|---------|------|------|
| `onboarding_step_completed` | step_number, step_name | 온보딩 단계 완료 |
| `purchase_completed` | plan, value, billing_cycle | 유료 플랜 구매 |
| `subscription_cancelled` | reason, plan | 구독 해지 |
| `insurance_bookmarked` | insurance_id, company | 보험 상품 즐겨찾기 |

### GA4 전환 이벤트 설정

| 전환 이벤트 | 우선순위 | 집계 방식 |
|-----------|---------|---------|
| `consultation_requested` | 1 (핵심) | 세션당 1회 |
| `signup_completed` | 2 | 한 번만 |
| `purchase_completed` | 3 (핵심) | 매 발생 |
| `calculator_used` | 4 (마이크로) | 세션당 1회 |

---

## GA4 설정 가이드

**빠른 설정 순서:**
1. GA4 속성(Property) 및 데이터 스트림 생성
2. gtag.js 또는 GTM 설치
3. 향상된 측정(Enhanced Measurement) 활성화
4. 커스텀 이벤트 구성
5. Admin에서 전환 이벤트 지정

**커스텀 이벤트 코드 예시:**

```javascript
// 보험 상담 신청 추적
gtag('event', 'consultation_requested', {
  'insurance_type': '실손보험',
  'source': 'hero_cta',
  'user_type': 'new_visitor'
});
```

---

## GTM 데이터 레이어 패턴

```javascript
// 상담 신청 폼 제출 시
dataLayer.push({
  'event': 'consultation_requested',
  'insurance_type': '실손보험',
  'form_location': 'main_cta'
});
```

---

## UTM 파라미터 전략

### 표준 파라미터

| 파라미터 | 용도 | InsuRo 예시 |
|---------|------|------------|
| `utm_source` | 트래픽 소스 | google, naver, kakao, newsletter |
| `utm_medium` | 마케팅 매체 | cpc, email, social |
| `utm_campaign` | 캠페인명 | insuro_launch_q1 |
| `utm_content` | 버전 구분 | hero_cta, sidebar_btn |

**규칙:** 소문자만 / 언더스코어 구분 / 구체적이되 간결하게

### 채널별 UTM 예시

| 채널 | utm_source | utm_medium | utm_campaign |
|------|-----------|-----------|-------------|
| 구글 검색광고 | google | cpc | insuro_brand |
| 네이버 검색광고 | naver | cpc | insuwiki_insurance |
| 카카오 광고 | kakao | display | insuro_retargeting |
| 이메일 뉴스레터 | newsletter | email | monthly_may2026 |
| 유튜버 협찬 | youtube_partner | influencer | insuro_collab |

---

## 대시보드 KPI

| KPI | 측정 방법 | 목표 기준 |
|-----|---------|---------|
| 보험 상담 신청률 | consultation_requested / sessions | >3% |
| 유료 전환율 | purchase_completed / signups | >5% |
| 보험 비교 완료율 | comparison_completed / started | >60% |
| 계산기 활용률 | calculator_used / visits | >10% |

---

## 검증 체크리스트

- [ ] 이벤트가 올바른 트리거에서 발생
- [ ] 속성 값이 올바르게 채워짐
- [ ] 중복 이벤트 없음
- [ ] 모바일/PC 모두 작동
- [ ] 전환 이벤트 올바르게 기록
- [ ] 개인정보(PII) 유출 없음

**테스트 도구:** GA4 DebugView (실시간), GTM 미리보기 모드, Tag Assistant (크롬 확장)

---

## 개인정보보호 (한국 PIPA)

- 이메일/ID 등 PII를 GA4 속성에 포함 금지
- 쿠키 동의 배너 + GA4 동의 모드(Consent Mode) 설정
- 데이터 보존 기간: GA4 기본 2개월 → 14개월으로 변경
- IP 익명화 활성화

---

## 추적 계획 문서 템플릿

```markdown
# [서비스명] 추적 계획

## 개요
- 도구: GA4, GTM | 최종 업데이트: [날짜]

## 이벤트
| 이벤트명 | 설명 | 속성 | 트리거 |
|---------|------|------|-------|
| consultation_requested | 보험 상담 신청 | insurance_type, source | 폼 제출 성공 |

## 전환 이벤트
| 전환 | 이벤트 | 집계 방식 |
|------|-------|---------|
| 상담 신청 | consultation_requested | 세션당 1회 |
```

---

## GA4 MCP 서버 연동 가이드

Claude Code에서 자연어로 GA4 데이터를 쿼리하기 위해 MCP(Model Context Protocol) 서버를 활용하는 방법을 설명합니다. 이를 통해 GA4 데이터에 직접 접근하여 자연어 분석을 수행할 수 있습니다.

### GA4 MCP 서버란?

GA4 MCP 서버는 Model Context Protocol을 통해 Claude Code가 Google Analytics 4 데이터에 직접 접근하고, 자연어로 데이터를 분석할 수 있게 하는 프로토콜 서버입니다. 복잡한 API 쿼리 없이 "지난 주 AI 유입 트래픽이 얼마나 증가했나?" 같은 자연어 질문으로 데이터를 추출하고 분석할 수 있습니다.

### 선행 조건

#### 1. Google Cloud 프로젝트 설정

- Google Cloud Console에서 새 프로젝트 생성 또는 기존 프로젝트 사용
- 다음 API 활성화:
  - **Google Analytics Data API v1** (GA4 데이터 조회)
  - **Google Analytics Admin API** (GA4 계정/속성 정보 조회)

#### 2. 서비스 계정 생성

- Google Cloud IAM에서 서비스 계정 생성: `ga4-agent@PROJECT_ID.iam.gserviceaccount.com`
- 역할 할당: **Analytics Viewer** (읽기 전용 권한)
- 서비스 계정에 Google Analytics 속성에 대한 뷰어 액세스 권한 부여

#### 3. 서비스 계정 JSON 키 생성

- 서비스 계정에서 JSON 키 다운로드
- 다음 경로에 저장: `~/.claude/credentials/ga4-agent.json`
- 파일 권한 설정: `chmod 600 ~/.claude/credentials/ga4-agent.json`

### mcp_settings.json 설정

Claude Code의 `mcp_settings.json` 파일에 다음과 같이 GA4 MCP 서버 설정을 추가합니다:

```json
{
  "mcpServers": {
    "ga4-analytics": {
      "command": "python",
      "args": ["-m", "mcp.server.ga4"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "~/.claude/credentials/ga4-agent.json",
        "GA4_PROPERTY_ID": "PLACEHOLDER_PROPERTY_ID",
        "GCP_PROJECT_ID": "PLACEHOLDER_PROJECT_ID"
      }
    }
  }
}
```

**설정 값 설명:**
- `GOOGLE_APPLICATION_CREDENTIALS`: 서비스 계정 JSON 키 경로
- `GA4_PROPERTY_ID`: Google Analytics 4 속성 ID (GA4 Admin에서 확인)
- `GCP_PROJECT_ID`: Google Cloud 프로젝트 ID

### GA4 MCP 도구 구성

GA4 MCP 서버는 다음과 같은 도구를 제공합니다:

#### Google Analytics Admin API 도구
- **계정 및 속성 조회**: 연결된 GA4 계정과 속성 목록 확인
- **데이터 스트림 조회**: 웹, 앱 등 각 데이터 스트림의 설정 확인
- **사용자 액세스 관리 정보**: 속성 내 사용자 역할 확인

#### Google Analytics Data API 도구
- **KPI 자동 추출**: 세션, 사용자, 전환율, 이탈률, 평균 세션 시간 등 주요 지표 자동 계산
- **차원별 교차 분석**: 소스/매체/캠페인별 성과 비교, 디바이스/위치별 사용자 분석
- **실시간 데이터 조회**: 현재 방문자, 실시간 트래픽 추이 확인
- **기간별 비교**: 주/월/연 단위 성과 비교, YoY/WoW 변화율 분석

#### LLM 자연어 분석
- Claude가 GA4 데이터를 받아 자연어로 해석 및 인사이트 제공
- 예: "지난 주 AI 유입 트래픽이 얼마나 증가했나?" → 자동으로 AI 소스 필터링 및 비교 분석

### 보안 주의사항

- **절대 금지**: `ga4-agent.json` 파일을 공개 저장소(GitHub 등)에 커밋
- **필수 설정**: `.gitignore` 파일에 다음 추가:
  ```
  ~/.claude/credentials/
  .env
  ```
- **정기 확인**: 서비스 계정 JSON 키의 생성 날짜와 만료 여부를 월 1회 확인
- **권한 최소화**: 서비스 계정은 "Analytics Viewer" 역할만 보유 (쓰기 권한 불필요)

### InsuWiki/InsuRo 적용 시나리오

#### 시나리오 1: InsuWiki 보험 비교 페이지 전환율 분석

```
질문: "InsuWiki 보험 비교 페이지의 상담 신청 전환율을 GA4에서 확인해줘"

응답 프로세스:
1. GA4 데이터에서 page_title = "InsuWiki 보험 비교" 필터링
2. consultation_requested 이벤트 카운트
3. 전환율 계산 = consultation_requested / page_view
4. 채널별(AI 유입 vs 검색광고 vs 자연 검색) 전환율 비교
```

#### 시나리오 2: InsuRo의 AI 검색 유입 사용자 분석

```
질문: "InsuRo에서 AI 검색 유입 사용자의 평균 체류 시간은?"

응답 프로세스:
1. GA4 데이터에서 source = ai_chatgpt / ai_perplexity / ai_gemini / ai_claude / ai_naver_aio 필터링
2. 세션 단위 평균 engagement_time 계산
3. 디바이스/시간대별 분포 제공
4. AI 채널별 비교 분석
```

---

## GA 데이터 기반 GEO 전략 프레임워크

GA4 데이터를 활용하여 AI 유입 트래픽을 분석하고, 이를 기반으로 GEO(Google Entities Optimization) 전략을 수립·최적화·효과측정하는 순환 프레임워크입니다. 분석, 기획, 최적화, 효과측정 4단계로 구성되어 있습니다.

### 4단계 순환 프레임워크 개요

#### 1단계: 분석 (Analysis)

**목표**: GA4 데이터에서 AI 유입 트래픽의 현재 기준선을 명확히 파악

- **AI 유입 트래픽 식별**: ChatGPT, Perplexity, Gemini, Claude, 네이버 AIO 등 AI 챗봇을 통한 유입 분리
- **트래픽 규모**: 전체 세션 대비 AI 유입 비율, 월별 성장 추이
- **사용자 행동**: AI 유입 사용자의 평균 페이지 뷰, 세션 시간, 이탈률
- **전환 데이터**: consultation_requested, article_read, calculator_used 등 이벤트별 발생율

#### 2단계: 기획 (Planning)

**목표**: Intent Analysis를 통해 AI 챗봇이 인용할 가능성이 높은 콘텐츠 우선순위 결정

- **Intent Analysis**: "보험료 계산" "실손보험 비교" "암보험 추천" 등 AI 검색 의도 분류
- **콘텐츠 우선순위 결정**: AI 유입 가능성이 높은 주제부터 콘텐츠 작성/개선
- **CEP(Core Entity Prominence) 연계**: InsuWiki의 핵심 보험 용어(실손보험, 암보험, 정기보험 등)를 중심으로 콘텐츠 구조화
- **KBF(Knowledge Base Framework) 적용**: 보험 상품 정보를 체계적인 Q&A, 비교표, 계산기로 조직
- **RTB(Rich Topic Blueprint) 구성**: 각 보험 주제에 대해 정의, 비교, 추천 포인트, 상담 안내를 포함한 완전한 구조

#### 3단계: 최적화 (Optimization)

**목표**: AI 챗봇이 인용하기 좋도록 콘텐츠와 마크업을 최적화

- **Citability 규칙 적용**:
  - 명확한 출처 표시 (예: "InsuWiki 보험 정보" 저자 표시)
  - 구체적인 통계 및 수치 포함
  - 정기적 업데이트 날짜 표시
- **Answer Block 마크업**: `<h2>` 제목과 명확한 답변 문장으로 구성
- **FAQPage Schema** 적용:
  ```json
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "실손보험과 정기보험의 차이는?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "실손보험은 실제 의료비를 보장하고..."
        }
      }
    ]
  }
  ```
- **InsuRo 비교 페이지**: 보험 상품 비교 시 명확한 비교 테이블, 차트로 AI 인용 용이하도록 구성

#### 4단계: 효과측정 (Measurement)

**목표**: GEO 전략 실행 전후의 AI 유입 트래픽과 전환 변화를 정량 측정

- **Before/After 비교**: 최적화 전후 AI 유입 세션, 사용자, 전환 수 비교
- **전환 역추적 퍼널 분석**:
  - AI 유입 세션 → page_view (특정 페이지) → article_read → calculator_used → consultation_requested
  - 각 단계별 드롭율 분석, 이탈점 파악
- **채널별 효과 측정**: ChatGPT 유입 vs Perplexity 유입 vs Gemini 유입 별로 전환율 비교
- **귀인 분석**: 원래 검색광고로 유입된 사용자가 나중에 AI를 통해 다시 방문한 경우 효과 추적

### AI 유입 트래픽 분류 방법

#### 방법 1: UTM 표준화

모든 AI 채널 유입에 대해 통일된 UTM 파라미터 설정:

| AI 채널 | utm_source | utm_medium | 예시 URL |
|--------|-----------|-----------|---------|
| ChatGPT | ai_chatgpt | organic | `?utm_source=ai_chatgpt&utm_medium=organic` |
| Perplexity | ai_perplexity | organic | `?utm_source=ai_perplexity&utm_medium=organic` |
| Google Gemini | ai_gemini | organic | `?utm_source=ai_gemini&utm_medium=organic` |
| Claude | ai_claude | organic | `?utm_source=ai_claude&utm_medium=organic` |
| 네이버 AIO | ai_naver_aio | organic | `?utm_source=ai_naver_aio&utm_medium=organic` |

#### 방법 2: 레퍼러 기반 자동 분류

utm_source가 없는 경우 referer URL 패턴 매칭으로 자동 분류:

- ChatGPT: referer에 `chat.openai.com` 포함
- Perplexity: referer에 `perplexity.ai` 포함
- Google Gemini: referer에 `gemini.google.com` 포함
- Claude: referer에 `claude.ai` 포함
- 네이버 AIO: referer에 `search.naver.com` + User-Agent에 "AIO" 포함

### GA4 이벤트 매핑 (AI 유입 전환 퍼널)

AI 유입 사용자의 전환 여정을 추적하기 위한 이벤트 매핑:

```
1. page_view (source=ai_*)
   ↓
2. article_read
   (보험 정보 글 읽음, time_spent > 30초)
   ↓
3. calculator_used
   (보험료 계산기 사용, calculator_type 기록)
   ↓
4. consultation_requested
   (상담 신청, insurance_type 기록)
```

**GA4 이벤트 설정:**

| 단계 | 이벤트명 | 속성 | 트리거 |
|-----|---------|------|-------|
| 1 | page_view | source=ai_*, page_title | 페이지 로드 |
| 2 | article_read | title, category, time_spent | 기사 완독 또는 30초 이상 읽음 |
| 3 | calculator_used | calculator_type, result | 계산기 실행 및 결과 조회 |
| 4 | consultation_requested | insurance_type, source, form_location | 상담 신청 폼 제출 완료 |

### InsuWiki/InsuRo 적용 시나리오

#### 시나리오 1: InsuRo 보험 비교 페이지의 AI 유입 전환 분석

```
분석 단계:
- GA4에서 page_title = "InsuRo 보험 비교" AND source = ai_* 필터링
- 세션 수, comparison_completed 이벤트 카운트, 전환율 계산

기획 단계:
- ChatGPT/Perplexity 사용자가 자주 비교하는 보험 상품 카테고리 파악
- 실손보험, 암보험, 정기보험의 Intent Analysis 결과 적용

최적화 단계:
- InsuRo 비교 테이블에 "실손보험 vs 정기보험" 명확한 구분 테이블 추가
- 보험료 계산기 결과 페이지에 FAQPage Schema 추가
- "보험 비교 시 주의점" 섹션에 신뢰할 수 있는 출처 표시

효과측정 단계:
- 최적화 전후 AI 유입 consultation_requested 이벤트 발생율 비교
- "AI → 비교 실행 → 계산기 사용 → 상담 신청" 퍼널별 드롭율 분석
```

#### 시나리오 2: InsuWiki 용어 가이드 페이지의 AI 인용률 추적

```
분석 단계:
- GA4에서 page_title = "InsuWiki 용어 가이드: [보험 용어]" AND source = ai_* 필터링
- 월별 세션 수, 평균 engagement_time, article_read 이벤트 발생율 측정

기획 단계:
- "실손보험 정의" "암보험이란" "정기보험 특징" 등 AI가 자주 인용할 용어 우선순위 결정
- CEP를 적용하여 각 보험 용어 페이지에 통일된 구조 적용 (정의 → 특징 → 예시 → 상담 안내)

최적화 단계:
- 용어 가이드 페이지에 "작성일 및 최종 업데이트" 표시
- "InsuWiki" 저자 정보 추가
- 각 용어의 정의 부분을 H2 헤더 + 명확한 설명문으로 구성
- 기본 용어는 위키피디아처럼 "다른 이름으로도 불리는..." 섹션 추가

효과측정 단계:
- 최적화 후 해당 페이지로의 AI 유입 트래픽 증가율 측정
- AI 유입 사용자의 consultation_requested 전환율과의 상관 분석
  (예: "인용률이 높은 페이지 → AI 유입 증가 → 상담 신청 수 증가" 확인)
```

---

## 관련 스킬

- **ab-test-setup**: 실험 추적 설계
- **seo-audit**: 유기 트래픽 분석
- **page-cro**: 전환 최적화 (분석 데이터 활용)
- **churn-prevention**: 이탈 신호 이벤트 추적
