# TOP사업단 리쿠르팅 캠페인 UTM 추적 표준 규칙

## 1. 개요

TOP사업단 리쿠르팅 캠페인 Phase 0의 UTM 추적 표준 규칙입니다.
7개 채널의 UTM 파라미터를 표준화하여 캠페인 성과 추적의 일관성을 확보합니다.

---

## 2. UTM 필드 규칙

### utm_source (트래픽 소스)

| 값 | 설명 |
|---|---|
| `meta` | Meta(Facebook/Instagram) 광고 |
| `google` | Google Ads |
| `naver_sa` | 네이버 검색광고 (Search Ad) |
| `naver_gfa` | 네이버 GFA (성과형 디스플레이) |
| `kakao` | 카카오 광고 |
| `danggeun` | 당근마켓 광고 |
| `saramin` | 사람인 채용공고 |
| `jobkorea` | 잡코리아 채용공고 |

### utm_medium (유입 매체)

| 값 | 설명 |
|---|---|
| `cpc` | 클릭당 과금 (검색광고) |
| `display` | 디스플레이/배너 광고 |
| `social` | 소셜 미디어 광고 |
| `job_board` | 채용 플랫폼 |

### utm_campaign (캠페인명)

| 값 | 설명 |
|---|---|
| `AB_A_snu` | A/B 테스트 A그룹 (서울대보험쌤 브랜드) |
| `AB_B_incar` | A/B 테스트 B그룹 (인카금융 브랜드) |
| `org_move` | 조직이동 캠페인 |
| `always_A` | 상시 모집 A |
| `always_B` | 상시 모집 B |
| `urgent_A` | 긴급 모집 A |

### utm_content (광고 소재)

| 값 | 설명 |
|---|---|
| `carousel_a1` | Meta 캐러셀 광고 A1 |
| `rsa_groupA` | Google RSA A그룹 |
| `powerlink_brand` | 네이버 파워링크 브랜드 |
| `gfa_banner_a` | 네이버 GFA 배너 A |
| `kakao_moment_a` | 카카오모먼트 A |
| `danggeun_feed_a` | 당근마켓 피드 A |
| `saramin_premium` | 사람인 프리미엄 |
| `jobkorea_super` | 잡코리아 슈퍼기업 |
| `branch_manager` | 지점장 대상 (조직이동) |

### utm_term (키워드, 검색광고 전용)

검색광고(Google Ads, 네이버 검색광고)에서만 사용합니다.
- 검색 키워드를 그대로 입력
- 예: `보험설계사`, `보험영업`, `FC모집`

---

## 3. A/B 그룹별 설정

### A그룹 (서울대보험쌤 브랜드)
- **utm_campaign**: `AB_A_snu`
- **랜딩페이지**: https://incar-top.tistory.com

### B그룹 (인카금융 브랜드)
- **utm_campaign**: `AB_B_incar`
- **랜딩페이지**: https://incar-top.tistory.com

### 조직이동
- **utm_campaign**: `org_move`
- **utm_content**: `branch_manager`
- **랜딩페이지**: https://incar-top.tistory.com

---

## 4. 랜딩페이지

| 캠페인 유형 | URL |
|---|---|
| 상시 모집 | https://incar-top.tistory.com |
| 긴급 모집 | https://incar-top1.tistory.com |

---

## 5. 채널별 기본 UTM 조합 테이블

### Meta (Facebook/Instagram)

**A그룹**
```
?utm_source=meta&utm_medium=social&utm_campaign=AB_A_snu&utm_content=carousel_a1
```

**B그룹**
```
?utm_source=meta&utm_medium=social&utm_campaign=AB_B_incar&utm_content=carousel_a1
```

### Google Ads

**A그룹**
```
?utm_source=google&utm_medium=cpc&utm_campaign=AB_A_snu&utm_content=rsa_groupA&utm_term={keyword}
```

**B그룹**
```
?utm_source=google&utm_medium=cpc&utm_campaign=AB_B_incar&utm_content=rsa_groupA&utm_term={keyword}
```

### 네이버 검색광고 (Search Ad)

**A그룹**
```
?utm_source=naver_sa&utm_medium=cpc&utm_campaign=AB_A_snu&utm_content=powerlink_brand&utm_term={keyword}
```

### 네이버 GFA (성과형 디스플레이)

**A그룹**
```
?utm_source=naver_gfa&utm_medium=display&utm_campaign=AB_A_snu&utm_content=gfa_banner_a
```

### 카카오

**A그룹**
```
?utm_source=kakao&utm_medium=display&utm_campaign=AB_A_snu&utm_content=kakao_moment_a
```

### 당근마켓

**A그룹**
```
?utm_source=danggeun&utm_medium=social&utm_campaign=AB_A_snu&utm_content=danggeun_feed_a
```

### 사람인

**상시 모집**
```
?utm_source=saramin&utm_medium=job_board&utm_campaign=always_A&utm_content=saramin_premium
```

### 잡코리아

**상시 모집**
```
?utm_source=jobkorea&utm_medium=job_board&utm_campaign=always_A&utm_content=jobkorea_super
```

---

## 6. URL 빌더 스크립트 사용법

### CLI 사용
```bash
python3 /home/jay/workspace/scripts/utm_builder.py \
  --source meta \
  --medium social \
  --campaign AB_A_snu \
  --content carousel_a1 \
  --base https://incar-top.tistory.com
```

### 배치 처리
```bash
python3 /home/jay/workspace/scripts/utm_builder.py --batch urls.json
```

---

## 7. 네이밍 규칙

- 모든 값은 **소문자 + 언더스코어**로 작성
- 공백, 대문자, 특수문자 금지
- 새 채널/캠페인 추가 시 이 문서를 먼저 업데이트

---

## 주의사항

- 모든 UTM 파라미터는 소문자와 언더스코어만 사용
- 채널별 조합 테이블의 URL 파라미터 문자열은 그대로 복사하여 사용 가능
- `{keyword}` 표기된 항목은 실제 검색 키워드로 교체 필요
- 새로운 채널이나 캠페인 추가 시 이 문서의 관련 섹션 업데이트 필수
