# Phase 4: Event Taxonomy Design

이벤트 명명 규칙, 태그 이름, 트리거 조건, 파라미터, 맞춤 측정 기준/지표를 구글 시트로 체계화.

## Objectives

1. 이벤트 택소노미 시트 구조화
2. 태그/트리거/변수 명명 일관성
3. 파라미터 및 측정 기준 연계
4. 팀 간 공유 가능한 문서화

## Event Taxonomy Sheet Structure

### Sheet 1: Events Master

| Column | Description | Example |
|--------|-------------|---------|
| event_name | 이벤트 명 | purchase |
| event_category | 이벤트 유형 | ecommerce |
| trigger_type | 트리거 유형 | dataLayer |
| trigger_condition | 트리거 조건 | event equals 'purchase' |
| parameters | 필수 파라미터 | transaction_id, value, currency, items |
| custom_dimensions | 연계 측정기준 | user_type, payment_method |
| custom_metrics | 연계 지표 | - |
| ga4_mapping | GA4 이벤트 | purchase (recommended) |
| meta_mapping | Meta 이벤트 | Purchase |
| kakao_mapping | Kakao 이벤트 | purchase |
| priority | 우선순위 | P1 |
| notes | 비고 | 결제 완료 페이지에서 발화 |

### Sheet 2: Parameters Reference

| Column | Description | Example |
|--------|-------------|---------|
| parameter_name | 파라미터 명 | transaction_id |
| data_type | 데이터 타입 | string |
| required | 필수 여부 | Yes |
| scope | 범위 | event |
| events | 사용 이벤트 | purchase, refund |
| ga4_param | GA4 파라미터명 | transaction_id |
| datalayer_path | DL 경로 | ecommerce.transaction_id |
| validation | 검증 규칙 | not empty, unique |
| example | 예시 | "T_20250115_001" |

### Sheet 3: Custom Definitions

| Column | Description | Example |
|--------|-------------|---------|
| name | 이름 | User Type |
| type | 유형 | dimension / metric |
| scope | 범위 | user / event |
| parameter | 연계 파라미터 | user_type |
| values | 가능한 값 | new, returning |
| description | 설명 | 신규/재방문 사용자 구분 |
| ga4_index | GA4 인덱스 | - (자동생성) |

### Sheet 4: Tag Configuration

| Column | Description | Example |
|--------|-------------|---------|
| tag_name | 태그 명 | GA4 - Event - purchase |
| tag_type | 태그 유형 | GA4 Event |
| platform | 플랫폼 | GA4 |
| trigger | 트리거 명 | DL - purchase |
| blocking_trigger | 차단 트리거 | Block - Internal |
| variables | 사용 변수 | DLV - transaction_id, DLV - value |
| folder | 폴더 | 02. GA4 Events |

### Sheet 5: Trigger Configuration

| Column | Description | Example |
|--------|-------------|---------|
| trigger_name | 트리거 명 | DL - purchase |
| trigger_type | 트리거 유형 | Custom Event |
| event_name | 이벤트 명 | purchase |
| conditions | 조건 | - |
| used_by | 사용 태그 | GA4 - Event - purchase |

### Sheet 6: Variable Configuration

| Column | Description | Example |
|--------|-------------|---------|
| variable_name | 변수 명 | DLV - transaction_id |
| variable_type | 변수 유형 | Data Layer Variable |
| datalayer_name | DL 변수명 | ecommerce.transaction_id |
| default_value | 기본값 | undefined |
| used_by | 사용 태그 | GA4 - Event - purchase |

## Google Sheets Template

### Quick Setup
1. 새 Google Sheets 생성
2. 시트 탭 6개 생성 (위 구조대로)
3. 헤더 행 고정 (View > Freeze > 1 row)
4. 조건부 서식 적용 (Priority별 색상)
5. 데이터 유효성 검사 (Dropdown)

### Dropdown Validations
```
event_category: ecommerce, engagement, lead_gen, content
trigger_type: dataLayer, click, pageview, scroll, timer
priority: P1, P2, P3
data_type: string, number, boolean, array, object
scope: event, user, session
```

### Conditional Formatting
```
P1: Red background
P2: Yellow background
P3: Green background
```

## Sample Event Taxonomy

### E-commerce Events
```csv
event_name,event_category,trigger_type,trigger_condition,parameters,priority
view_item_list,ecommerce,dataLayer,"event equals 'view_item_list'","item_list_id, item_list_name, items",P2
view_item,ecommerce,dataLayer,"event equals 'view_item'","currency, value, items",P1
add_to_cart,ecommerce,dataLayer,"event equals 'add_to_cart'","currency, value, items",P1
begin_checkout,ecommerce,dataLayer,"event equals 'begin_checkout'","currency, value, items, coupon",P1
purchase,ecommerce,dataLayer,"event equals 'purchase'","transaction_id, currency, value, items, shipping, tax",P1
```

### Lead Gen Events
```csv
event_name,event_category,trigger_type,trigger_condition,parameters,priority
form_start,lead_gen,dataLayer,"event equals 'form_start'","form_id, form_name",P2
form_submit,lead_gen,dataLayer,"event equals 'form_submit'","form_id, form_name, success",P1
generate_lead,lead_gen,dataLayer,"event equals 'generate_lead'","currency, value, source",P1
```

## Naming Convention Reference

→ [naming-conventions.md](naming-conventions.md)

### Quick Reference
| Type | Pattern | Example |
|------|---------|---------|
| Tag | [Platform] - [Type] - [Event] | GA4 - Event - purchase |
| Trigger | [Type] - [Event/Condition] | DL - purchase |
| Variable | [Type] - [Name] | DLV - transaction_id |

## Output Delivery

### Format Options
1. **Google Sheets** (권장): 공유 및 협업 용이
2. **Excel (.xlsx)**: 오프라인/보안 요구 시
3. **CSV**: 개발팀 연동 시

### Sharing
- Viewer 권한: 마케팅팀, 경영진
- Editor 권한: 분석팀, 개발팀
- 버전 히스토리 활용

## Next Phase

Event Taxonomy 완료 후 → Phase 5: Implementation Guide
