---
scope: task
task_id: naver-sa-collect-260830
type: scheduled-collection
result: success
---

# 네이버 검색광고(SA) 성과 데이터 자동 수집 — 2026-08-30 02:01 KST

## 1. 실행

```
python3 /home/jay/workspace/tools/naver-ads/collect_sa_stats.py --days 7
EXIT=0
```

로그: `NaverSAClient 초기화 완료 (customer_id=1419414)` → `naver-sa-stats.json 저장 완료`

## 2. 저장 확인 (요구사항)

| 항목 | 값 |
|---|---|
| 경로 | `/home/jay/workspace/dashboard/data/naver-sa-stats.json` |
| mtime | 2026-08-30 02:01:33.515 +0900 |
| 크기 | 2,126 B |
| JSON 파싱 | OK (top keys 6종) |
| `last_collected` | `2026-08-30T02:01:33+09:00` (직전 `2026-08-29T02:00:32`) |
| daily_trend | 7일 · 2026-08-24 ~ 2026-08-30 (`--days 7` 일치) |

**저장 확인 완료.** 이전본 대비 diff = `last_collected` 갱신 + 창(window) 1일 전진(08-23 제거 / 08-30 추가). 그 외 값 동일.

## 3. 수집 값

- summary.today / yesterday: 전 항목 0
- daily_trend 7일 합계: imp 0 · clk 0 · cost 0
- budget: daily 21,000 · spent_today 0 · burn_rate 0.0
- campaigns 2건 (status **ELIGIBLE**)
  - `cmp-a001-01-000000001647137` — 전국민 꿀잠 프로젝트! "나이스드림"
  - `cmp-a001-02-000000001684254` — 나이스드림 쇼핑검색#1
- keyword_groups F/G/H: 전부 0

## 4. "0"이 조용한 실패인지 직접 확인

스크립트는 실패 시 `_empty_output()` 폴백으로도 0을 쓰므로, 원시 API를 별도 프로브로 재호출해 구분했다.

```
캠페인 조회      → 2건 반환 (인증 정상)
광고그룹 조회    → 캠페인별 1건씩 반환 (정상)
get_stats(2026-08-24~08-30) → 레코드 0건
```

- **인증·API 경로는 살아 있다** (campaigns·adgroups 실데이터 반환). 폴백 경로를 탄 것이 아니다 — 폴백이었다면 `campaigns`가 빈 배열이어야 하는데 2건 들어 있다.
- **stats 자체가 0 레코드**다. 즉 해당 창에 노출/과금 실적이 없다.
- 이는 메모리 기록(2026-08-20, "네이버 SA 수집은 전 지표 0 = 정상이며 재조사 불요")과 일치한다. 재조사 불요 판정 유지.

## 5. 발견 — keyword_groups 는 구조적으로 항상 0 (범위 밖, 보고만)

`collect_sa_stats.py`에서

- L82·L94: `adgroup_group_map` 을 만들지만 **읽는 곳이 없다** (죽은 맵)
- L99: `group_agg` 초기화 → L170: 읽기. **증가시키는 코드가 없다** (`+=` 0건)

따라서 F(보험영업)/G(개인사업·지점장)/H(무자본창업) 3그룹은 **실제 광고 실적이 들어와도 영구히 0**이다. 지금의 0은 "실적이 없어서"가 아니라 "집계 배선이 없어서"이며, 나중에 실적이 생겨도 대시보드는 계속 0을 보여 준다.

부수적으로, 현재 계정(customer_id 1419414)에 걸린 캠페인은 "나이스드림"(수면 제품)이라 위 3개 보험/리쿠르팅 그룹 규칙과 애초에 매칭되지 않는다. 그룹 규칙과 실제 계정이 어긋나 있다.

→ 이번 지시는 "수집 실행 + 저장 확인"이므로 코드는 수정하지 않았다. 배선 복구가 필요하면 별도 작업으로 지시 요망.

## 6. 결론

수집 성공 · 저장 확인 완료 · 값 0은 실적 부재(조용한 실패 아님)로 실증. 단, keyword_groups 는 배선 부재로 신뢰 불가.
