Ads Script 작성 방법.
Google Ads Scripts/ Google Apps scripts를 이용해서 업무를 자동화 할 수 있는 것 중 가장 간단한 것이 리포트 발송일 것 같은데요,
그래서 가장 먼저 전일자 광고 운영 실적을 가져오는 리포트를 구글 스프레드시트에 옮기고, 그 시트를 메일로 자동 발송해주는 작업을 해보도록 하겠습니다.
구글 Ads Scripts를 쓰는 곳은 구글 광고 계정 안에 있는데요, 구글 광고 계정에서 도구 및 설정 > 일괄 작업 > 스크립트로 들어가줍니다.
(+)를 눌러 새스크립트 작성 창에 들어가면, function main()이 보이는데 이 부분은 그대로 두고 중괄호{}안에 스크립트를 작성해주면 됩니다.
**함수명이 main이 아니라 다른 것으로 변경되면 함수가 실행되지 않더라구요!
*위 화면과 같이 인증하라는 알러트가 뜰 텐데요, Ads Sciprt로 계정에 접근하는 것을 허용해주기 위해서 인증도 진행해주시면 됩니다.
자 이제 스크립트 작성을 위한 준비가 끝났습니다.
Ads Scripts 로 리포트 발송 자동화 하기.
리포트 작성을 위한 스크립트 작성 순서입니다. 먼저 조건에 맞는 키워드를 불러온 다음, 그 키워드에서 보고서로 넣을 값들을 골라 스프레드시트에 옮겨 작성하고, 그 스프레드 시트의 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 |
이렇게 작성 후 스크립트를 실행하게 되면, 메일이 들어오고 메일 내 스프레드 시트 링크를 통해 들어가면 전일자 키워드리포트를 확인 할 수 있습니다.
5.규칙(주기/실행 시간) 설정해주기.
이제 스크립트를 저장하고 나와서, 실행 주기를 설정해줍니다. 보통은 출근하자마자 전일자 광고운영 실적을 확인하고 계실텐데요, 매일 아침 9시에 스크립트가 실행 되도록 해두면 9시마다 데일리 키워드리포트를 자동으로 받아 볼 수 있겠죠?!
오늘은 Ads Scripts로 Daily Report Automation을 해보았습니다. 어려운 듯 하지만, 한 번 작성해보면 대략 감이 잡히실 거에요. 다음에는 키워드 입찰관리의 번거로움을 없애주는 입찰 자동화를 위한 Ads Scripts 작성법을 정리해보겠습니다.