애드워즈 스크립트로 입찰가 업데이트 및 변경사항 모니터링

게시 됨: 2021-10-23

AdWords 스크립트는 입찰가 조정을 관리하기 위한 훌륭한 도구입니다. Google 스프레드시트 및 애드워즈 스크립트를 사용한 입찰 자동화와 같은 이전 기사에서는 입찰가를 변경하고 업로드를 처리하는 다양한 방법을 다루었습니다. 이 기사에서는 이러한 아이디어를 가져와 자신의 입찰 시스템에 결합할 것입니다!

이 문서에서는 액세스할 수 있거나 원하는 위치에 유지하기 위해 높은 수준의 접근 방식을 계속 유지할 것입니다. 스크립트에 대한 경험이 적은 경우 이 방법을 사용하면 쉽게 따라할 수 있습니다(이는 여전히 스스로 적용할 수 있음). 경험이 많으면 쉽게 편집하여 도구를 향상시킬 수 있습니다.

이 프로세스 전반에 걸쳐 무료 도구와 추가 기능을 활용하여 데이터를 가져오고, 데이터를 처리하고, 입찰가 변경 세트를 업로드하는 시스템을 만들 것입니다. 전체 스크립트가 아닌 시트 및 업로드 기능을 활용하여 코더가 아닌 사용자가 편집에 더 쉽게 액세스할 수 있도록 합니다.

우리가 사용할 것

Google 애드워즈 애드온을 사용하여 데이터를 수집하고 Google 스프레드시트를 사용하여 입찰가를 관리하고 애드워즈 스크립트를 사용하여 변경사항의 형식을 지정하고 업로드하고 마지막으로 Google 스프레드시트 앱을 사용하여 변경사항을 복사하고 참조용으로 저장합니다.

  • Google AdWords 추가 기능 – 데이터 수집
  • Google 스프레드시트 – 수식을 통해 변경 사항을 적용하고 변경 사항을 반환합니다.
  • AdWords 스크립트 – 변경 사항 확인, 업로드 파일 작성, AdWords에 푸시, 변경 로그를 Google 드라이브에 저장

데이터 가져오기

먼저 데이터 풀을 설정해야 합니다. 도구를 사용하여 데이터를 가져오거나 스크립트를 사용하거나 데이터를 수동으로 붙여넣을 수 있습니다. 이것은 자동화에 관한 것이므로 마지막 옵션을 건너뛸 것입니다. 첫 번째 예에서는 AdWords 추가 기능을 사용하고(지금은 코드 노출을 제한하려는 경우) 데이터 가져오기 스크립팅을 위한 리소스를 다시 살펴보겠습니다.

AdWords 부가기능을 설치했으면 스프레드시트로 이동하여 새 시트를 만드십시오. 추가 기능을 열고 시트 설정을 시작합니다. 모든 실적 측정항목과 최대 CPC 열을 가져와야 합니다. 마지막 입찰가의 비율로 입찰가를 변경하는 경우 현재 입찰가가 필요합니다. 기록을 유지하려면 열도 필요합니다.

원하는 경우 SuperMetrics와 같은 도구를 사용할 수도 있습니다. 또는 AdWords 스크립트의 보고 기능을 사용하여 변경사항을 가져올 수 있습니다. 이 두 가지 모두 약간 더 자동화된 솔루션을 제공합니다.

보고 기능에 대해 더 알고 싶다면 다음 기사를 적극 권장합니다.

Google Developers, 보고 – AdWords 스크립트 보고 참조

Fred Vallaeys, Search Engine Land – 이 스크립트는 모든 AdWords 데이터를 Google 스프레드시트에 자동으로 추가합니다.

입찰가 조정

실적 데이터가 확보되면 새 입찰가 계산을 시작할 수 있습니다! 이 예에서는 새 열의 기본 수식을 사용하여 CPA를 기반으로 조정합니다.

다음으로 변경된 열을 정의하기 위해 도우미 열을 추가합니다.

이제 "업로드할 키워드 변경 사항"과 같이 명백한 변경 사항을 보관할 새 시트를 만들 것입니다. 쿼리()를 사용하여 변경된 모든 행을 자체 시트로 반환하는 것이 좋습니다. 이렇게 하면 애드워즈로 쉽게 가져와 올바른 범위를 선택하기 위해 작성해야 하는 코드를 제한할 수 있습니다.

업로드 형식 지정

몇 가지 단계가 필요합니다. 우리는해야합니다,

  1. 스프레드시트에 액세스합니다.
  2. 데이터를 가져옵니다.
  3. bulkUpload용으로 포맷하고 파일을 빌드하세요.
  4. 파일을 애드워즈로 푸시합니다.

스프레드시트에 액세스하는 것은 매우 쉽습니다. URL과 파일 이름을 사용하여 시트에 액세스하겠습니다.

이제 약간 까다로운 부분입니다. 프로세스에 익숙하지 않은 경우. 업로드할 csv 파일을 만들어야 합니다. 업로드하려는 행이 이미 있습니다. 기본적으로 빈 파일을 만든 다음 "업로드할 키워드 변경 사항" 시트의 행으로 채웁니다.

업로드가 빌드되면 업로드에서 한 줄 떨어져 있습니다.

백업 로그 생성

종종 사용자는 변경 사항을 되돌릴 수 있는 기능이나 시스템이 무모하게 실행되는 것에 대해 걱정합니다. 가능성은 낮지만 각별히 주의하기 위해 사본을 만들어 Google 드라이브에 저장할 수 있습니다.

미리 폴더를 만드는 것이 좋습니다. URL에서 폴더 ID를 복사하여 스크립트에 삽입합니다. 이렇게 하면 최상위 드라이브가 복사본으로 채워지지 않고 드라이브를 깔끔하고 깔끔하게 유지하는 데 도움이 됩니다!

변경 사항이 포함된 이메일 보내기

이메일 업데이트는 귀하와 귀하의 팀이 변경 사항을 파악하고 변경 사항의 규모를 주시하는 데 도움이 됩니다. 이메일 앱을 사용하여 마지막 단계에서 만든 변경 시트에 대한 링크가 포함된 간단한 메시지와 함께 팀 구성원에게 이메일을 보낼 수 있습니다. 업로드 파일의 행 수를 빠르게 가져와 입찰가 변경 수를 계산할 수도 있습니다.

링크를 포함하기 위해 메시지 본문의 형식을 HTML로 지정하고 몇 가지 나누기를 추가하여 좀 더 멋지게 보이게 합니다.

마무리

키워드 데이터를 자동으로 업데이트하는 경우 변경 사항을 자동으로 푸시하도록 스크립트를 예약하십시오.

키워드 데이터를 수동으로 로드하는 경우에도 업로드를 예약할 수 있지만 데이터를 업데이트한 후에는 스크립트를 수동으로 실행하는 것이 더 합리적입니다.

프로세스 개선

개선을 위한 두 가지 주요 방법이 있습니다. 전체 프로세스를 완전히 스크립팅하고 스프레드시트 부분을 제거할 수 있습니다. 이렇게 하면 단계가 간소화되고 시트가 필요하지 않은 경우 더 쉽게 관리할 수 있습니다.

더 복잡한 규칙과 결정으로 입찰 시트를 업데이트하는 두 번째 옵션입니다. 입찰 규칙에 더 많은 변수를 추가하거나, 여러 전환 유형을 구현하거나, 제3자 데이터를 포함하면 보다 효과적인 입찰 모델을 구축하는 데 도움이 될 수 있습니다.

전체 스크립트

함수 메인() {

//입찰 업데이트 이메일
var 이메일 = [“[email protected]”];

//입찰서 사본을 보관하기 위해 따로 설정한 폴더의 ID
//드라이브 폴더 URL 끝에서 가져오기
var 입찰 폴더 ID = ";

//입찰가 변경 책의 URL
var 입찰WorkBookUrl = ";

// 통합 문서 열기
var biddingWorkBook = SpreadsheetApp.openByUrl(biddingWorkBookUrl);

//입찰가 변경이 있는 시트
//문자열은 자신의 파일 이름으로 업데이트할 수 있습니다.
var keywordBidUpload = brandBook.getSheetByName('업로드할 키워드 변경');

//복사할 시트 가져오기
var keywordBids = brandBook.getSheetByName('키워드 입찰가');

// 입찰가 변경 횟수를 계산하기 위해 마지막 행을 가져옵니다.
var bidChangeCount = 키워드 입찰가.getLastRow()-1;

함수 createCopy(sheetObject) {
var 대상 폴더 = DriveApp.getFolderById(bidFolderId);
var 파일 = DriveApp.getFileById(sheetObject.getId()).makeCopy( ” 입찰 사본 – ” + createDateString(), destinationFolder);
반환 file.getUrl();
}

var 브랜드 복사 = createCopy(키워드 입찰가);

기능 uploadBids(시트) {
//업로드를 위한 컬럼명 생성
var columns = ['캠페인', '광고그룹', '키워드', '검색 유형', '최대 CPC”];
//csv 업로드 생성
var 업로드 = AdWordsApp.bulkUploads().newCsvUpload(열);
// 시트에서 모든 값 가져오기
var 값 = sheet.getDataRange().getValues();
//시트 행을 변환하고 업로드 파일에 추가
for(i=1; i < values.length; i++){
var 캠페인 = 값[i][0];
var ad_group = 값[i][1];
var 키워드 = 값[i][2];
var match_type = 값[i][3];
var max_cpc = 값[i][4];

업로드.추가({
'캠페인': 캠페인,
'광고그룹': ad_group,
'키워드': 키워드,
'검색 유형': match_type,
'맥스. CPC': max_cpc});

};
};

uploadBids(keywordBidUpload);

//파일 이름에 추가할 날짜 텍스트 생성
함수 생성 날짜 문자열(){
var newDate = 새로운 날짜();
var 월 = 문자열(newDate.getMonth());
var 일 = 문자열(newDate.getDate());
var 연도 = 문자열(newDate.getFullYear());
반환 월 + "-" + 일 + "-" + 연도;

}

var dateString = createDateString();

var subject = "계정 입찰가 변경" + dateString;

변수 옵션 = {
htmlBody : “안녕하세요. <br /><br /> 입찰가 변경 사항이 적용되었습니다. <br /> <br /> 있었다” +
bidChangeCount + ” 키워드 입찰가 변경.<br /> <br />” +
"변경 사항 및 이전 설정은 <br /><br />에서 찾을 수 있습니다." +
'<a href=\”' + brandCopy +
'">브랜드 변경</a>';

}

MailApp.sendEmail(이메일, 제목, ”, 옵션)

}
//스크립트 종료