구글 애즈 스크립트 Ads Scripts & 앱스 스크립트 Apps Script로 리포트 자동발송하기! Report automation.

Ads Script 작성 방법.

Google Ads Scripts/ Google Apps scripts를 이용해서 업무를 자동화 할 수 있는 것 중 가장 간단한 것이 리포트 발송일 것 같은데요,

그래서 가장 먼저 전일자 광고 운영 실적을 가져오는 리포트를 구글 스프레드시트에 옮기고, 그 시트를 메일로 자동 발송해주는 작업을 해보도록 하겠습니다.

ads_script

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

ads_script_function

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

ads_script_allow

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

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

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

report_order

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

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

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

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

1
2
3
4
5
6
  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' ]]; // 리포트항목 작성하기
cs


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

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


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  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(),      //키워드의 전일자 전환수 가져오기
 
    ]);
  }
cs


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

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


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

result

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

frequency

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

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