使用 AdWords 腳本更新出價並監控變化

已發表: 2021-10-23

AdWords 腳本是管理出價調整的絕佳工具。 在之前的文章中,例如使用 Google 表格和 AdWords 腳本自動出價,我們介紹了更改出價和處理上傳的不同方法。 本文將把這些想法結合到您自己的投標系統中!

我們仍將在本文中保留一種高級方法,以保持可訪問性或您想要使用的任何位置。 如果您對腳本的經驗較少,這將使您更容易理解(這仍然是您可以自己應用的東西)。 如果您更有經驗,則可以輕鬆進行自己的編輯以增強該工具。

在整個過程中,我們將利用免費工具和附加組件來創建一個系統,該系統可以提取數據、處理數據並上傳一組出價更改。 我們將利用工作表和上傳功能,讓非編碼人員更容易進行編輯,而不是完整的腳本。

我們將使用什麼

我們將使用 Google AdWords 插件收集數據,使用 Google 表格管理出價,使用 AdWords 腳本格式化和上傳更改,最後我們將使用 Google 表格應用複制更改並保存以供參考。

  • Google AdWords 插件 – 收集數據
  • Google 表格 – 通過公式應用更改並返回更改。
  • AdWords 腳本 – 檢查更改、構建上傳文件、推送到 AdWords、將更改日誌保存到 Google Drive。

拉取數據

首先,我們需要設置我們的數據拉取。 您可以使用工具提取數據、使用腳本或手動粘貼數據。 由於這是關於自動化,我們將跳過最後一個選項。 第一個示例將使用 AdWords 插件(如果您想暫時限制您的代碼暴露),我們將回顧用於編寫數據拉取腳本的資源。

安裝 AdWords 插件後,轉到表格並創建一個新表格。 打開插件並開始設置您的工作表。 我們需要提取任何性能指標以及最高每次點擊費用列。 如果您要更改出價佔上次出價的百分比,您將需要當前出價。 如果您想保留記錄,您還需要該列。

如果您願意,也可以使用 SuperMetrics 之類的工具。 或者您可以使用 AdWords 腳本中的報告功能來導入更改。 這兩者都提供了稍微自動化的解決方案。

如果您想了解有關報告功能的更多信息,我強烈推薦以下文章,

Google Developers,報告 – AdWords 腳本報告參考

Fred Vallaeys,Search Engine Land – 此腳本自動將任何 AdWords 數據添加到 Google 電子表格

進行出價調整

獲得效果數據後,我們就可以開始計算新的出價了! 在此示例中,我們將根據 CPA 在新列中使用基本公式進行調整。

接下來,我們將添加一個輔助列來定義哪些列發生了變化。

現在我們將製作一個新表來保存我們的更改,很明顯,例如“要上傳的關鍵字更改”。 我建議使用 query() 將所有更改的行返回到他們自己的工作表。 這樣可以輕鬆地進入 AdWords 並限制我們必須編寫的代碼來選擇正確的範圍。

格式化上傳

這需要幾個步驟。 我們需要,

  1. 訪問電子表格。
  2. 拉取數據。
  3. 將其格式化為bulkUpload 並構建一個文件
  4. 將文件推送到 AdWords。

訪問電子表格很容易,我們將使用 URL 和文件名來訪問工作表。

現在是稍微棘手的部分。 如果你不熟悉這個過程。 我們需要創建一個用於上傳的 csv 文件。 我們已經有了要上傳的行。 我們基本上將創建一個空白文件,然後用“要上傳的關鍵字更改”表中的行填充它。

一旦我們建立了上傳,我們離上傳只有一行了。

創建備份日誌

用戶經常擔心恢復更改的能力或系統運行異常。 這不太可能,但為了更加小心,我們可以製作一份副本並將其保存到我們的 Google Drive。

我建議提前創建一個文件夾。 從 URL 複製文件夾 ID 並將其插入到腳本中。 這可以防止您的頂級驅動器被副本填滿,並有助於保持驅動器的整潔!

發送包含更改的電子郵件

電子郵件更新可幫助您和您的團隊跟上變化並密切關注變化的幅度。 我們可以使用 emailApp 向團隊成員發送電子郵件,以及一條簡短的消息,其中包含指向我們在最後一步中創建的更改表的鏈接。 我們還可以對上傳文件中的行進行快速計數,以計算出價更改的次數。

為了包含鏈接,我們將消息正文的格式設置為 HTML,添加一些中斷並使其看起來更漂亮一些。

包起來

如果您要自動更新關鍵字數據,請繼續安排腳本以自動推送更改。

如果您手動加載關鍵字數據,您仍然可以安排上傳,但在更新數據後手動運行腳本會更有意義。

改進流程

有兩個主要的改進途徑。 您可以完全編寫整個過程並刪除電子表格部分。 這簡化了步驟,如果您不需要工作表,可以使事情更容易管理。

使用更複雜的規則和決定更新您的投標表的第二個選項。 向您的出價規則添加更多變量、實施多種轉化類型或包含第三方數據可以幫助您構建更有效的出價模型。

完整腳本

函數主(){

//投標更新的電子郵件
var email = [“[email protected]”];

//您預留的用於保存投標單副本的文件夾ID
// 從你的 Drive 文件夾 URL 的末尾拉取
varbidFolderId = ”;

//您的出價變更簿的網址
varbiddingWorkBookUrl = ”;

//打開工作簿
varbiddingWorkBook = SpreadsheetApp.openByUrl(biddingWorkBookUrl);

//帶有出價更改的工作表
//字符串可以更新為你自己的文件名
var keywordBidUpload = brandBook.getSheetByName('要上傳的關鍵字更改');

//獲取要復制的sheet
var keywordBids = brandBook.getSheetByName('Keyword Bids');

//獲取最後一行以計算出價更改次數。
var bidChangeCount = keywordBids.getLastRow()-1;

函數 createCopy(sheetObject) {
var destinationFolder = DriveApp.getFolderById(bidFolderId);
var file = DriveApp.getFileById(sheetObject.getId()).makeCopy(“Bid Copy –” + createDateString(), destinationFolder);
返回文件.getUrl();
}

var BrandCopy = createCopy(keywordBids);

功能uploadBids(表){
//為上傳創建列名
var columns = [“廣告系列”、“廣告組”、“關鍵字”、“匹配類型”、“最大” 每次點擊費用”];
//創建csv上傳
var upload = AdWordsApp.bulkUploads().newCsvUpload(columns);
//從工作表中獲取所有值
var values = sheet.getDataRange().getValues();
//轉換工作表行並附加到上傳文件
for(i=1; i < values.length; i++){
var 廣告系列 = 值[i][0];
var ad_group = values[i][1];
var 關鍵字 = 值[i][2];
var match_type = values[i][3];
var max_cpc = values[i][4];

上傳.追加({
“活動”:活動,
“廣告組”:ad_group,
'關鍵字':關鍵字,
'匹配類型':match_type,
'最大限度。 每次點擊費用':max_cpc});

};
};

上傳投標(關鍵字投標上傳);

//創建日期文本以附加到文件名
函數創建日期字符串(){
var newDate = new Date();
var 月份 = String(newDate.getMonth());
var day = String(newDate.getDate());
var year = String(newDate.getFullYear());
返回月+“-”+日+“-”+年;

}

var dateString = createDateString();

var subject =“帳戶出價更改”+ dateString;

變量選項 = {
htmlBody :“您好,<br /><br /> 出價變更已實施。 <br /> <br /> 有” +
bidChangeCount + ”關鍵字出價變化。<br /> <br />” +
“更改和以前的設置可以在,<br /><br />” +
'<a href=\”' + 品牌複製 +
'”>品牌變化</a>';

}

MailApp.sendEmail(電子郵件,主題,”,選項)

}
//結束腳本