네이버 검색광고 API 다루기 (3)

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

Stat 서비스로 캠페인 데이터 가져오기

위 사진처럼 signaturehelper.py파일을 작업폴더에 함께 두는 것을 꼭 잊지마세요!

네이버 검색광고 계정에 있는 캠페인 데이터를 서버에 요청한 후 엑셀파일로 내보내기 하는 경우를 가정하여 코딩을 진행해보도록 하겠습니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

먼저 지난 포스팅에서처럼 모듈과 get_header함수, 인증정보를 입력하는 셀을 모두 실행합니다. 세 번째 셀에는 관리하고 있는 네이버 광고 계정의 액세스라이선스, 비밀키, CUSTOMER_ID를 입력합니다.

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

위의 코드를 살펴보면 샘플코드에 입력된 내용을 바탕으로 수정된 부분(빨간색 폰트)이 있습니다. 수정된 내용은 아래와 같습니다.

  1. stat_ids 변수에 광고가 진행되고 있는 모든 campaignID를 리스트로 입력하였습니다.
  2. get메서드 내 params매개변수의 fields에는 출력하고자 하는 마케팅 지표를 입력할 수 있는데, 샘플코드에서 기본적으로 입력되어 있는 지표들 외 "convAmt"가 추가로 입력되어 있습니다.
  3. params매개변수에는 timeRange가 없고 datePreset이 추가되어 있습니다.

2번, 3번 항목은 추가적인 설명이 필요하여 아래에 별도의 항목으로 작성하였습니다.

Stat 서비스에서 사용할 수 있는 마케팅 지표

document에서 Stat서비스 항목을 살펴보면 샘플코드에 기본적으로 입력되어 있는 지표 외에도 위와 같은 지표들을 제공합니다. 각 지표들의 내용은 아래와 같습니다.

지표내용
impCnt노출수
clkCnt 클릭수
ctr 클릭률
cpc 평균클릭비용
salesAmt 총비용
ccnt 전환수
crto 전환율
convAmt 전환매출액
ror 광고수익률 (전환매출/총비용
cpConv 전환당비용 (총비용/전환수)
avgRnk 평균노출순위
pcNxAvgRnk PC 통검 평균노출순위
mblNxAvgRnk 모바일 통검 평균노출순위
recentAvgRnk 최근 통검 평균노출순위
viewCnt 동영상조회수

출처 : https://github.com/naver/searchad-apidoc/wiki/FAQ-stat

어제의 데이터 가져오기

광고 데이터를 리포팅 할 때에는 보통 어제 날짜의 데이터를 살펴보므로, API에 어제 날짜를 기준으로 데이터를 불러오는 기능이 있는지 document를 읽어봐야 합니다. 네이버 검색 광고 API뿐만 아니라 다른 API를 다룰 때에도 자신이 원하는 옵션이 있는지 document를 잘 살펴보는 것이 중요합니다.

document의 parameters 항목을 살펴보면, 위와 같이 datePreset이 있습니다. datePreset의 item으로 yesterday가 있기 때문에 위 내용을 참고하여 어제의 데이터를 호출하는 get메서드를 구현하면 됩니다. 또한 document에 설명되어 있는대로 params매개변수에 timeRange가 입력되어 있는 상태라면 datePreset이 무시되기 때문에 샘플코드의 timeRange는 제거해줍니다.

Pandas로 검색광고 데이터 가공하기

powered by Advanced iFrame free. Get the Pro version on CodeCanyon.

네이버 검색광고 API를 통하여 정상적으로 데이터를 가져왔다면, 판다스(Pandas) 라이브러리를 사용하여 데이터를 가공합니다. 그리고 그 결과를 result.xlsx 파일로 내보내기 합니다.

리포트가 엑셀파일로 존재한다면 Pandas 라이브러리로 리포트 형식에 맞게 데이터를 가공한 다음, Openpyxl 모듈을 사용하여 리포트 엑셀파일에 작성할 수 있습니다.

4 thoughts on “네이버 검색광고 API 다루기 (3)”

    • 1. timeIncrement에 1을 입력하면 일별로 출력되지만 최대 7일만 데이터 출력이 가능합니다.
      2. timeRange 파라미터의 since와 until에 하루씩 for문으로 입력해서 출력할 수 있습니다. 이 때 최대 출력기간은 90일입니다.

      응답
  1. params : {‘ids’: [‘cmp-a001-01-00000000*******’, ‘cmp-a001-04-00000000*******’, ‘cmp-a001-01-00000000*******’, ‘cmp-a001-01-00000000*******’, ‘cmp-a001-01-00000000*******’, ‘cmp-a001-01-00000000*******’, ‘cmp-a001-01-00000000*******’, ‘cmp-a001-01-00000000*******’, ‘cmp-a001-01-00000000*******’], ‘fields’: ‘[“impCnt”, “clkCnt”, “salesAmt”, “ctr”, “cpc”, “avgRnk”, “ccnt”, “convAmt”]’, ‘datePreset’: ‘yesterday’}
    response status_code = 200
    response body = {‘data’: [], ‘compTm’: ‘202011050359’, ‘cycleBaseTm’: ‘202011040000’}

    소스는 틀린게 없는것 같은데 왜 데이타가 [] 으로 표시될까요?
    광고관리에 들어가보면 분명 데이타는 있습니다만……

    응답
    • 네 이 코드만 보기에는 분명히 틀린 부분은 없어보이네요, 데이터가 출력되지 않았다면 이 코드만 보고서는 어디에서 문제가 있는지 답변에 한계가 있어서요, datapreset 말고 timerange로도 노력해보시는 것도 데이터를 성공적으로 출력하는 하나의 방법 중 하나일 것 같습니다.

      응답

Leave a Comment