# Phase 3: Tagging Plan Design

사용자 행동 흐름에 맞춘 맞춤 이벤트 정의, 명명 규칙, 파라미터, 맞춤 측정 기준/지표 설계.

## Objectives

1. Custom Event 정의
2. 이벤트 명명 규칙 수립
3. 환경 변수 및 파라미터 정의
4. Custom Dimensions/Metrics 설계
5. DataLayer 스키마 연계

## Tagging Plan Document Structure

### 1. Executive Summary
```
Project: [프로젝트명]
Client: [클라이언트명]
Website/App: [URL/앱명]
Version: 1.0
Last Updated: YYYY-MM-DD
Author: [작성자]
```

### 2. Measurement Objectives
| Priority | Objective | KPI | Target |
|----------|-----------|-----|--------|
| P1 | 구매 전환 추적 | Conversion Rate | 3% |
| P2 | 장바구니 이탈 분석 | Cart Abandonment | < 70% |

### 3. Event Naming Convention

#### Pattern
```
[domain]_[action]_[object]
```

#### Rules
- 소문자, 언더스코어 사용
- GA4 권장 이벤트 우선 사용
- 커스텀 이벤트는 접두어로 구분: `custom_`

#### Examples
| Action | Event Name | Type |
|--------|------------|------|
| 상품 조회 | view_item | Recommended |
| 장바구니 담기 | add_to_cart | Recommended |
| 위시리스트 | add_to_wishlist | Recommended |
| CTA 클릭 | custom_cta_click | Custom |
| 탭 전환 | custom_tab_change | Custom |

### 4. Parameter Design

#### Standard Parameters (GA4 Recommended)
| Parameter | Type | Required | Example |
|-----------|------|----------|---------|
| currency | string | Yes | "KRW" |
| value | number | Yes | 29000 |
| items | array | Yes | [...] |
| transaction_id | string | purchase only | "T_12345" |

#### Custom Parameters
| Parameter | Type | Scope | Description |
|-----------|------|-------|-------------|
| user_type | string | event | new/returning |
| page_type | string | event | home/product/cart |
| login_method | string | event | kakao/naver/email |

### 5. Custom Dimensions

| Name | Scope | Values | GA4 Configuration |
|------|-------|--------|-------------------|
| User Type | User | new, returning | user_type |
| Membership Level | User | bronze, silver, gold | membership_level |
| Page Type | Event | home, category, product, cart, checkout | page_type |

### 6. Custom Metrics

| Name | Unit | Description | Event Source |
|------|------|-------------|--------------|
| Wishlist Adds | Count | 위시리스트 추가 수 | add_to_wishlist |
| Form Starts | Count | 폼 시작 수 | form_start |

### 7. Environment Configuration

```javascript
// 환경 변수 설정
const GTM_CONFIG = {
  development: {
    gtmId: 'GTM-DEV123',
    ga4Id: 'G-DEV456',
    debugMode: true
  },
  staging: {
    gtmId: 'GTM-STG123',
    ga4Id: 'G-STG456',
    debugMode: true
  },
  production: {
    gtmId: 'GTM-PROD123',
    ga4Id: 'G-PROD456',
    debugMode: false
  }
};
```

### 8. Platform Mapping

| Action | GA4 | Meta | Kakao | Google Ads |
|--------|-----|------|-------|------------|
| 상품 조회 | view_item | ViewContent | viewContent | - |
| 장바구니 | add_to_cart | AddToCart | addToCart | - |
| 구매 완료 | purchase | Purchase | purchase | purchase |

→ 상세 매핑: [platform-mapping.md](platform-mapping.md)

### 9. DataLayer Requirements

→ 상세 스키마: [datalayer-schema.md](datalayer-schema.md)

## Tagging Plan Template

```markdown
# [Project] Tagging Plan v1.0

## 1. Overview
### 1.1 Project Information
### 1.2 Measurement Objectives
### 1.3 Key Conversions

## 2. Event Specification
### 2.1 Recommended Events
### 2.2 Custom Events
### 2.3 Parameter Reference

## 3. DataLayer Specification
### 3.1 Page Load Data
### 3.2 E-commerce Events
### 3.3 Engagement Events

## 4. Tag Configuration
### 4.1 GA4 Tags
### 4.2 Google Ads Tags
### 4.3 Meta Pixel Tags
### 4.4 Kakao Pixel Tags

## 5. Implementation Notes
### 5.1 Developer Requirements
### 5.2 QA Checklist
### 5.3 Timeline

## Appendix
- A. Naming Conventions
- B. Platform Event Mapping
- C. Change Log
```

## Quality Checklist

- [ ] 모든 P1 이벤트 정의됨
- [ ] 이벤트 명명 규칙 일관성
- [ ] 필수 파라미터 정의 완료
- [ ] Custom Dimensions scope 적절
- [ ] 플랫폼별 매핑 완료
- [ ] DataLayer 스키마와 정합성 확인

## Next Phase

Tagging Plan 완료 후 → Phase 4: Event Taxonomy Design
