o2o-infinith-demo/supporters/scripts/template/data/site.json
Haewon Kam 8776a15183 feat(ga4): AI 유입 트래픽 연동 뼈대 + 리포트 "측정 가능 범위" 절
2026-09-08 작업분. GA4 에서 AI 답변엔진 유입을 채널로 갈라 보는 뼈대를 세웠다.

- data/ai_channels.json: AI 답변엔진 리퍼러 목록(채널 그룹 정의의 근거)
- scripts/ga4_ai_traffic.py: GA4 Data API 로 AI 유입을 뽑는 러너. --mock 으로 합성
  데이터 검증까지 마쳤다. 실제 속성 연결은 GCP 계정이 정해진 뒤다
- supporters/src/layouts/Base.astro + 템플릿 site.json 2곳: ga4MeasurementId 태그.
  쿠키 고지 배너 결정 전까지 미리보기에는 ID 를 넣지 않는다
- scripts/build_discovery_report.ts: Integrity 절에 "측정 가능 범위" 를 넣어
  무엇을 재고 무엇을 못 재는지 리포트가 스스로 밝히게 했다
- 원진 진단 리포트 v2.1(HTML·PDF) 재생성분

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 10:53:54 +09:00

28 lines
903 B
JSON

{
"_comment": "매체 고유값. 비어 있으면(null·[]) 해당 블록은 '확인 대기' 문장으로 렌더된다. 이미지는 병원 허락을 받은 것만 public/img/ 에 넣고 여기서 참조한다.",
"siteName": "",
"siteNameEn": "SUPPORTERS",
"eyebrow": "",
"tagline": "",
"heroTitle": "궁금한 것부터 답합니다.",
"editorId": "editor",
"logo": null,
"logoFoot": null,
"heroImage": null,
"buildingImage": null,
"imageCredit": "",
"homeVideos": [],
"insideSummary": "",
"insideGallery": [],
"clinicGallery": [],
"clinicDoctors": [],
"visitMaps": [],
"arrivalGuide": "",
"visitReads": [],
"newsNote": "",
"newsOutletsExample": "",
"sponsorNotice": "",
"ga4MeasurementId": "",
"_comment_ga4": "GA4 측정 ID(G-XXXX). 비우면 태그를 넣지 않는다. 키 이벤트 이름은 data/ai_channels.json conversion_events 와 같다."
}