이번 포스팅에서는 서버에서 전달된 데이터로 매체 리포트 형식의 엑셀파일까지 만들어보겠습니다. 현업에서 마케터 혹은 기획자로 일하시는 분들이라면 이번 강의의 코드를 사용하여 네이버 검색광고 API를 다루고 리포팅하는데에도 요긴하게 사용하실 수 있을 것입니다.
Stat 서비스로 캠페인 데이터 가져오기

네이버 검색광고 계정에 있는 캠페인 데이터를 서버에 요청한 후 엑셀파일로 내보내기 하는 경우를 가정하여 코딩을 진행해보도록 하겠습니다.
먼저 지난 포스팅에서처럼 모듈과 get_header함수, 인증정보를 입력하는 셀을 모두 실행합니다. 세 번째 셀에는 관리하고 있는 네이버 광고 계정의 액세스라이선스, 비밀키, CUSTOMER_ID를 입력합니다.
위의 코드를 살펴보면 샘플코드에 입력된 내용을 바탕으로 수정된 부분(빨간색 폰트)이 있습니다. 수정된 내용은 아래와 같습니다.
- stat_ids 변수에 광고가 진행되고 있는 모든 campaignID를 리스트로 입력하였습니다.
- get메서드 내 params매개변수의 fields에는 출력하고자 하는 마케팅 지표를 입력할 수 있는데, 샘플코드에서 기본적으로 입력되어 있는 지표들 외 “convAmt”가 추가로 입력되어 있습니다.
- params매개변수에는 timeRange가 없고 datePreset이 추가되어 있습니다.
2번, 3번 항목은 추가적인 설명이 필요하여 아래에 별도의 항목으로 작성하였습니다.
Stat 서비스에서 사용할 수 있는 마케팅 지표

document에서 Stat서비스 항목을 살펴보면 샘플코드에 기본적으로 입력되어 있는 지표 외에도 위와 같은 지표들을 제공합니다. 각 지표들의 내용은 아래와 같습니다.
지표 | 내용 |
impCnt | 노출수 |
clkCnt | 클릭수 |
ctr | 클릭률 |
cpc | 평균클릭비용 |
salesAmt | 총비용 |
ccnt | 전환수 |
crto | 전환율 |
convAmt | 전환매출액 |
ror | 광고수익률 (전환매출/총비용 |
cpConv | 전환당비용 (총비용/전환수) |
avgRnk | 평균노출순위 |
pcNxAvgRnk | PC 통검 평균노출순위 |
mblNxAvgRnk | 모바일 통검 평균노출순위 |
recentAvgRnk | 최근 통검 평균노출순위 |
viewCnt | 동영상조회수 |
어제의 데이터 가져오기
광고 데이터를 리포팅 할 때에는 보통 어제 날짜의 데이터를 살펴보므로, API에 어제 날짜를 기준으로 데이터를 불러오는 기능이 있는지 document를 읽어봐야 합니다. 네이버 검색 광고 API뿐만 아니라 다른 API를 다룰 때에도 자신이 원하는 옵션이 있는지 document를 잘 살펴보는 것이 중요합니다.

document의 parameters 항목을 살펴보면, 위와 같이 datePreset이 있습니다. datePreset의 item으로 yesterday가 있기 때문에 위 내용을 참고하여 어제의 데이터를 호출하는 get메서드를 구현하면 됩니다. 또한 document에 설명되어 있는대로 params매개변수에 timeRange가 입력되어 있는 상태라면 datePreset이 무시되기 때문에 샘플코드의 timeRange는 제거해줍니다.
Pandas로 검색광고 데이터 가공하기
네이버 검색광고 API를 통하여 정상적으로 데이터를 가져왔다면, 판다스(Pandas) 라이브러리를 사용하여 데이터를 가공합니다. 그리고 그 결과를 result.xlsx 파일로 내보내기 합니다.
리포트가 엑셀파일로 존재한다면 Pandas 라이브러리로 리포트 형식에 맞게 데이터를 가공한 다음, Openpyxl 모듈을 사용하여 리포트 엑셀파일에 작성할 수 있습니다.