안녕하세요.
전문과 응답 결과 첨부 하겠습니다.
요청 자체는 정상 처리됩니다 (HTTP 200, dimensions엔 캠페인/광고그룹/소재 ID가 정확히 매칭)
- 하지만
metrics만 항상 빈 객체로 옵니다
metricsGroups 파라미터를 이것저것 바꿔봐도, 캠페인·광고그룹·소재 3단계 리포트 전부에서 똑같이 재현됩니다
- 반면 카카오 광고관리자 웹 화면에는 실제 지출이 표시되고 있음
배경(fetch_kakao.py 코드 주석 기준, 2026-08-18 실측):
- 인증 자체는 정상 —
moment_management scope의 비즈니스 토큰으로 캠페인 상태(/campaigns)는 정상 조회됨
- 그런데 성과 보고서(
/campaigns/report)만 요청하면 metrics가 항상 빈 객체로 옴 — 실제로는 대시보드(카카오 광고관리자 화면)에 지출이 잡혀 있는데도 그렇습니다
- 확인된 제약들:
campaignId 필수(없으면 90001 오류), 종료일에 오늘을 넣으면 60008 오류(그래서 어제까지로 고정)
- 원인 미규명 상태라, 코드에서는 보고서 실패가 상태 수집(ON/OFF, 심사상태)까지 막지 않도록 분리해뒀습니다 → 그래서 대시보드에 카카오 캠페인 상태는 뜨는데 지출·클릭 성과는 0행으로 나오는 상황
카카오모먼트 campaigns/report metrics 빈 값 문의 — 요청·응답 전문
확인 일시: 2026-08-21 (KST 18:54경) 광고계정 ID: 950120 인증: 비즈니스 토큰(scope=moment_management)
1. 기본 재현 (campaigns/report)
요청
GET https://apis.moment.kakao.com/openapi/v4/campaigns/report
?campaignId=1617917,1630276
&start=20260722
&end=20260820
&timeUnit=DAY
&metricsGroups=BASIC
Headers:
Authorization: Bearer {비즈니스 토큰}
adAccountId: 950120
응답 (HTTP 200)
{"code":200,"message":"Success","data":[
{"start":"2026-08-20","end":"2026-08-20","dimensions":{"campaign_id":"1617917"},"metrics":{}},
{"start":"2026-08-19","end":"2026-08-19","dimensions":{"campaign_id":"1617917"},"metrics":{}},
... (이하 동일 패턴 반복, 전체 기간 metrics 전부 빈 객체)
]}
참고: 캠페인 목록(GET /openapi/v4/campaigns)은 정상 응답:
{"content":[
{"id":1617917,"name":"상품 카탈로그_전환_202607132241","userConfig":"ON"},
{"id":1630276,"name":"Display_Visit_TalkStore_ZESTON_202608","userConfig":"ON"}
]}
2. 원인 분리를 위한 추가 테스트 — metricsGroups 파라미터 변형
같은 요청(campaignId=1617917, 2026-08-20 단일일)에서 metricsGroups만 바꿔가며 테스트:
| metricsGroups 값 |
결과 |
| 생략 |
"metrics":{} |
BASIC |
"metrics":{} |
BASIC,ADDITION |
"metrics":{} |
basic (소문자) |
"metrics":{} |
BASIC + level=CAMPAIGN 추가 |
"metrics":{} |
→ 파라미터 값과 무관하게 항상 동일한 결과.
3. 원인 분리를 위한 추가 테스트 — 리포트 레벨 변경
같은 계정·같은 날짜(2026-08-20)로 campaign이 아닌 다른 레벨에서도 재현:
adGroups/report
GET /openapi/v4/adGroups/report?adGroupId=4498889&start=20260820&end=20260820&timeUnit=DAY&metricsGroups=BASIC
{"code":200,"message":"Success","data":[
{"start":"2026-08-20","end":"2026-08-20","dimensions":{"ad_group_id":"4498889"},"metrics":{}}
]}
creatives/report
GET /openapi/v4/creatives/report?creativeId=31193496&start=20260820&end=20260820&timeUnit=DAY&metricsGroups=BASIC
{"code":200,"message":"Success","data":[
{"start":"2026-08-20","end":"2026-08-20","dimensions":{"creative_id":"31193496"},"metrics":{}}
]}
→ 캠페인·광고그룹·소재 3개 레벨 모두 동일 증상.
결론
- 요청은 정상 처리됨 (HTTP 200 /
code:200 Success, dimensions에 요청한 ID가 정확히 매칭되어 반환)
- 캠페인/광고그룹/소재 리포트 3개 레벨 전부에서
metrics가 항상 빈 객체({})로만 옴
metricsGroups 파라미터의 값·유무와 무관하게 동일
- 반면 광고관리자 화면(웹 UI)에서는 해당 기간 실제 지출·노출이 표시되고 있음
- → 클라이언트 측 요청 파라미터 문제가 아니라, 계정(950120) 또는 리포트 API 서버 측에서 지표 데이터가 연결되지 않는 문제로 판단됩니다.
문의: 이 계정(950120)에서 report API의 metrics가 채워지지 않는 원인이 무엇인지, 계정 측 설정(권한/집계 파이프라인 지연 등)에 문제가 있는 것인지 확인 부탁드립니다.