What I Do

구글 애즈 스크립트 & 앱스 스크립트로 리포트 자동발송하기

Google Ads ScriptGoogle Apps Script리포트 자동화광고 리포트스프레드시트자동 메일 발송디지털 마케팅
구글 애즈 스크립트 & 앱스 스크립트로 리포트 자동발송하기

Google Ads Scripts/ Google Apps scripts를 이용해서 업무를 자동화 할 수 있는 것 중 가장 간단한 것이 리포트 발송일 것 같은데요, 그래서 가장 먼저 전일자 광고 운영 실적을 가져오는 리포트를 구글 스프레드시트에 옮기고, 그 시트를 메일로 자동 발송해주는 작업을 해보도록 하겠습니다.

Ads Script 작성 방법

스크립트 작성 화면

구글 Ads Scripts를 쓰는 곳은 구글 광고 계정 안에 있는데요, 구글 광고 계정에서 도구 및 설정 > 일괄 작업 > 스크립트로 들어가줍니다.

스크립트 함수 구조

(+)를 눌러 새스크립트 작성 창에 들어가면, function main()이 보이는데 이 부분은 그대로 두고 중괄호 안에 스크립트를 작성해주면 됩니다. 함수명이 main이 아니라 다른 것으로 변경되면 함수가 실행되지 않더라구요!

스크립트 권한 허용

위 화면과 같이 인증하라는 알러트가 뜰 텐데요, Ads Script로 계정에 접근하는 것을 허용해주기 위해서 인증도 진행해주시면 됩니다.

자 이제 스크립트 작성을 위한 준비가 끝났습니다.

Ads Scripts 로 리포트 발송 자동화 하기

리포트 순서

리포트 작성을 위한 스크립트 작성 순서입니다. 먼저 조건에 맞는 키워드를 불러온 다음, 그 키워드에서 보고서로 넣을 값들을 골라 스프레드시트에 옮겨 작성하고, 그 스프레드 시트의 URL을 이메일로 보내 줄 겁니다.

아래에 차근차근 순서대로 작성해보겠습니다. 따라서 작성해보세요~

1. 리포트를 옮길 스프레드 시트를 준비하고, 첫열의 라벨(리포트 항목) 작성해주기

여기서 주의 할 점은 데일리로 리포트 값이 업데이트 되어야 하기 때문에, 데이터 입력 전 시트를 비워주는 것입니다.

var spreadsheetUrl = '공유스프레드시트 URL(링크공유 편집자 권한)';
var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
var ss = spreadsheet.getSheetByName('시트1');  //스프레드시트 내 데이터를 작성할 시트의 이름
ss.clear();                                    //데일리로 값이 업데이트 되어야 하므로, 데이터 입력 전 시트 비워주기
var sheetArray = [['Campaign','Group','Keyword','Impressions','Clicks','AvgCPC','Cost','CVR','Conversions']]; // 리포트항목 작성하기

2. 특정 조건을 만족하는 키워드 리스트 가져오기

var keywords = AdsApp.keywords()
  .withCondition('Impressions > 0') //노출량이 0 이상이고
  .forDateRange('YESTERDAY')        //기간 범위는 어제이고
  .orderBy('Impressions DESC')      //순서는 노출순으로 내림차순으로
  .get();                           //키워드 가져오기

3. 리포트 항목별로 키워드별 데이터를 불러와 스프레드시트 배열에 넣어주기

while(keywords.hasNext()){              //키워드에 다음 값이 있는 동안
  var keyword = keywords.next();        //keyword에 다음 키워드 넣어주기
  sheetArray.push([                     //아래 값들을 sheetArray 배열에 넣어주기
  keyword.getCampaign().getName(),      //키워드의 캠페인 이름 가져오기
  keyword.getAdGroup().getName(),       //키워드의 광고그룹 이름 가져오기
  keyword.getText(),                    //키워드의 텍스트 가져오기
  keyword.getStatsFor('YESTERDAY').getImpressions(),      //키워드의 전일자 노출량 가져오기
  keyword.getStatsFor('YESTERDAY').getClicks(),           //키워드의 전일자 클릭수 가져오기
  keyword.getStatsFor('YESTERDAY').getAverageCpc(),       //키워드의 전일자 평균 CPC 가져오기
  keyword.getStatsFor('YESTERDAY').getCost(),             //키워드의 전일자 소진비용 가져오기
  keyword.getStatsFor('YESTERDAY').getConversionRate(),   //키워드의 전일자 전환율 가져오기
  keyword.getStatsFor('YESTERDAY').getConversions(),      //키워드의 전일자 전환수 가져오기
  ]);
}

4. 스프레드시트의 URL을 메일로 보내주기

if(sheetArray.length > 0){                                                      //sheetArray배열에 내용이 1개 이상이면
  ss.getRange(1,1,sheetArray.length, sheetArray[0].length).setValues(sheetArray); //스프레드시트에 내용 채우기
  MailApp.sendEmail('이메일 주소','메일 제목', '메일내용' + spreadsheetUrl );      //메일로 보내주기
}

이렇게 작성 후 스크립트를 실행하게 되면, 메일이 들어오고 메일 내 스프레드 시트 링크를 통해 들어가면 전일자 키워드리포트를 확인 할 수 있습니다.

5. 규칙(주기/실행 시간) 설정해주기

실행 주기 설정

이제 스크립트를 저장하고 나와서, 실행 주기를 설정해줍니다. 보통은 출근하자마자 전일자 광고운영 실적을 확인하고 계실텐데요, 매일 아침 9시에 스크립트가 실행 되도록 해두면 9시마다 데일리 키워드리포트를 자동으로 받아 볼 수 있겠죠?!

실행 결과

오늘은 Ads Scripts로 Daily Report Automation을 해보았습니다. 어려운 듯 하지만, 한 번 작성해보면 대략 감이 잡히실 거에요. 다음에는 키워드 입찰관리의 번거로움을 없애주는 입찰 자동화를 위한 Ads Scripts 작성법을 정리해보겠습니다.