# Phase 6: Progressive Audit & Update

설정된 GTM Container에 대한 주기적 진단, 유효성 검증, 마이너 업데이트 및 태그 추가.

## Objectives

1. GTM 컨테이너 건강 상태 점검
2. 태그 발화 및 데이터 정합성 검증
3. 최신 요구사항 반영 업데이트
4. DTM Agent 연계 자동화

## Audit Schedule

| Frequency | Scope | Trigger |
|-----------|-------|---------|
| Weekly | Tag firing validation | 자동 스케줄 |
| Monthly | Full container review | 월간 리포트 |
| Quarterly | Architecture review | 분기 회의 |
| Ad-hoc | Issue investigation | 이슈 발생 시 |

## Audit Checklist

### 1. Container Health Check
- [ ] 버전 히스토리 확인 (최근 변경사항)
- [ ] 미사용 태그/트리거/변수 식별
- [ ] 명명 규칙 준수 여부
- [ ] 폴더 구조 정리 상태

### 2. Tag Firing Validation
- [ ] 모든 P1 태그 정상 발화
- [ ] 트리거 조건 정확성
- [ ] 변수 값 정확성
- [ ] 차단 트리거 작동

### 3. Data Quality
- [ ] GA4 Realtime 데이터 확인
- [ ] 전환 데이터 정합성
- [ ] 파라미터 값 검증
- [ ] 이상치 탐지

### 4. Platform Sync
- [ ] GA4 ↔ GTM 동기화
- [ ] Google Ads 전환 데이터
- [ ] Meta Events Manager 상태
- [ ] Kakao Pixel 상태

## DTM Agent Integration

> The legacy `dintel-gtm-toolkit` (Python scripts operating on exported container JSON) is deprecated. All container operations now go through the **DTM Agent** — a set of Claude Code skills backed by the `dtm` CLI and the Google Tag Manager API, operating on **live containers** instead of exported JSON.

### DTM Agent Skills

| Capability | Skill | Replaces |
|------------|-------|----------|
| Tag CRUD | `dtm-tags` | `analyze_container.py` (tags section) |
| Trigger CRUD | `dtm-triggers` | `analyze_container.py` (triggers section) |
| Variable CRUD | `dtm-variables` | `analyze_container.py` (variables section) |
| Dependency graph & unused detection | `dtm-lookup` | `find_unused.py` |
| Version management & diff | `dtm-version` | `diff_versions.py` |
| Container diagnostics (A–D grading) | `dtm-debug` | Container health check |
| Page audit (tracking coverage) | `dtm-audit` | Tag firing gap analysis |
| Live tag-firing QA | `gtm-validator` (this skill) | `validate_tags.py` |
| Event taxonomy classification | `dtm-taxonomy` | Naming-convention review |
| Schema.org JSON-LD | `dtm-schema` | n/a (new capability) |
| Active account/container switch | `dtm-set` | n/a |
| Status check | `dtm-status` | n/a |

### Integration Workflow

```
1. Active container selection
   └── /dtm-set  (or dtm set account/container)

2. Live container analysis
   ├── /dtm-tags, /dtm-triggers, /dtm-variables  (list / inspect)
   ├── /dtm-lookup  (dependency graph, unused resources)
   └── /dtm-debug   (configuration + performance grading)

3. Page-level audit
   └── /dtm-audit   (Chrome DevTools MCP — fired tags vs. configured)

4. Validation (this skill)
   └── /gtm-validator  (live page QA, trigger conditions, naming, cross-platform)

5. Versioning & rollout
   └── /dtm-version  (create version, compare, publish)

6. Report distribution
   └── Notion via notion-writer skill (see CLAUDE.md routing rules)
```

### Sample DTM Agent Commands

```bash
# Container status & active context
dtm status
dtm list accounts
dtm list containers

# Tags / triggers / variables
dtm list tags
dtm get tag <TAG_ID>
dtm list triggers
dtm list variables

# Version management
dtm list versions
dtm version live
dtm create version --notes "Audit checkpoint"
```

Most workflows should invoke the skill (e.g. `/dtm-audit`, `/dtm-lookup`, `/gtm-validator`) rather than raw CLI calls — the skills bundle the right tool sequence, output formatting, and Notion reporting.

## Audit Report Template

```markdown
# GTM Audit Report

## Summary
- **Container**: GTM-XXXXXX
- **Audit Date**: YYYY-MM-DD
- **Version Reviewed**: XX
- **Overall Status**: ✅ Healthy / ⚠️ Needs Attention / ❌ Critical

## Findings

### ✅ Passing
- [항목]

### ⚠️ Warnings
| Issue | Impact | Recommendation |
|-------|--------|----------------|

### ❌ Critical
| Issue | Impact | Action Required |
|-------|--------|-----------------|

## Tag Firing Status

| Tag | Expected | Actual | Status |
|-----|----------|--------|--------|
| GA4 - Event - purchase | Thank You | Thank You | ✅ |

## Data Quality Check

| Metric | Expected | Actual | Variance |
|--------|----------|--------|----------|
| Daily Purchases | ~50 | 48 | -4% |

## Recommendations
1. 
2. 

## Next Steps
- [ ] 
- [ ] 

## Appendix
- Container JSON snapshot
- D.intel Toolkit output
```

## Update Procedures

### Minor Update (태그 수정)
```
1. 변경 필요 태그 식별
2. Preview 모드에서 수정
3. 테스트 완료
4. Publish with version note
5. Notion 문서 업데이트
```

### Major Update (신규 태그 추가)
```
1. Phase 3-4 문서 업데이트
2. DataLayer 요구사항 개발팀 전달
3. GTM 태그/트리거/변수 설정
4. QA 체크리스트 수행
5. 단계적 배포
6. Notion 문서 업데이트
```

### Emergency Fix
```
1. 이슈 원인 파악
2. 최소 변경으로 수정
3. Publish (emergency version note)
4. 근본 원인 분석
5. 영구 수정 계획
```

## Versioning Best Practices

### Version Naming
```
v[Major].[Minor] - [Description]
예: v12.1 - Added form_submit event
```

### Version Notes Template
```
## Changes
- Added: [새로 추가된 항목]
- Modified: [수정된 항목]
- Removed: [삭제된 항목]

## Reason
[변경 이유]

## Testing
- [테스트 항목 및 결과]

## Rollback Plan
[롤백 필요 시 절차]
```

## Monitoring Setup

### GA4 Alerts
- 일일 전환 수 급감 (>30%)
- 세션 수 급감 (>50%)
- 이벤트 수집 오류

### Custom Monitoring
- DataLayer 오류 로깅
- Tag Manager 오류 추적
- 서버 사이드 태그 상태 (sGTM 시)

## Next Phase

주기적 감사 완료 후 → Phase 7: Lookup App (필요 시)
