目前有 143 位成員在線上
目前有 143 位成員在線上
AdWords 廣告精選學習資源
star_border

[經驗分享] Adwords Script - 點擊率下降趨勢報表 (List Adgroups that Degrade Over Weeks)

新接觸的先參考PART 1: Adwords Script 介紹 - 誰都懂的半API的帳戶自動化及新式報表

--------------------------------------------------------------------------------------------------------------------------------------

 

Adgroup 點擊率下降趨勢報表能給我們甚麼新角度?

它提供的資料是趨勢細緻到adgroup層面, 當然我們也可手動下載報表比較, 但較費時

後台上線性圖適合於閱讀campaign的趨勢, 但只限於整體表現, 角度及觀點, 無助找出有問題的地方

 

怎麼理解報表?

結果是資料性的, 所以在adwords後台睇番就可以了, output格式大概如下

(campaign名) > (adgroup名)

上上上星期CTR > 上上星期CTR > 上星期CTR

 

Low Performing Search Adgroup 
---------------------------------------------
Name UK_campaign > Buy Company
CTR: 1.188% > 1.009% > 0.885%
---------------------------------------------
Name PL_campaign > New_Brand
CTR: 1.418% > 0.32299999999999995% > 0%
---------------------------------------------
Name UA_campaign > New_Brand
CTR: 1.8519999999999999% > 1.66% > 0.243%
---------------------------------------------

 

有甚麼action point?

有了漸退步的adgroup, 我認為它是一種警惕, 應優先處理他們

都只係一個星期一次吧... 高興表情

 

 

 

ADWORDS SCRIPT:

我保留了原創者的註解, 我的註解會用中文

留意紅色的是要轉為的自己的

--------------------------------------------------------------------------------------------------------------------------------------

function main() {
// Find all ad groups whose CTR is worse than 1% during the past 14 days.
var adGroupsIterator = AdWordsApp.adGroups()
.withCondition("CampaignName CONTAINS_IGNORE_CASE " + "'CP'") // 只參考有"CP"字眼的campaign
.withCondition("Ctr < 0.01") // 只參考過去14日CTR低於1%的adgroup
.forDateRange("LAST_14_DAYS")
.get();

var today = getDateInThePast(0);
var oneWeekAgo = getDateInThePast(7);
var twoWeeksAgo = getDateInThePast(14);
var threeWeeksAgo = getDateInThePast(21);

Logger.log(" Low Performing Search Adgroup ");
Logger.log("---------------------------------------------");

while (adGroupsIterator.hasNext()) {
var adGroup = adGroupsIterator.next();
// Let's look at the trend of the ad group's CTR.
var ctr1 = adGroup.getStatsFor(threeWeeksAgo, twoWeeksAgo).getCtr();
var ctr2 = adGroup.getStatsFor(twoWeeksAgo, oneWeekAgo).getCtr();
var ctr3 = adGroup.getStatsFor(oneWeekAgo, today).getCtr();

// Week over week, the ad group is degrading - pause it!
if (ctr1 > ctr2 && ctr2 > ctr3) {
Logger.log(" Name " + adGroup.getCampaign().getName()+ " > " + adGroup.getName());
Logger.log("CTR: " + (ctr1 * 100) + "% > " + (ctr2 * 100) + "% > " + (ctr3 * 100) + "%" );
Logger.log("---------------------------------------------");
}
}
}

// Returns YYYYMMDD-formatted date.
function getDateInThePast(numDays) {
var today = new Date();
today.setDate(today.getDate() - numDays);
return Utilities.formatDate(today, "PST", "yyyyMMdd");
}

 

0
簡介 Stampede Tong

自2007年以來,我一直從事在Adwords和網絡廣告代理。由於與Google的分銷商計劃,它讓我在領先的地位學習Adwords和了解最新的功能。我想給予更多實用的解決方案給使用者,因為經驗實踐跟理論一樣的重要。在社群交流幫助也是一種樂趣,因為它總是給你不止是一個答案,還有靈感!

評論
修訂者 解答王 Stampede 解答王
‎2013-08-23 24:22 - 已編輯 ‎2013-08-23 24:26

如果想要上升趨勢及曝光, 只要把下面replace藍色的script就可以

 

 

var ctr1 = adGroup.getStatsFor(threeWeeksAgo, twoWeeksAgo).getCtr();
var ctr2 = adGroup.getStatsFor(twoWeeksAgo, oneWeekAgo).getCtr();
var ctr3 = adGroup.getStatsFor(oneWeekAgo, today).getCtr();

var impr1 = adGroup.getStatsFor(threeWeeksAgo, twoWeeksAgo).getImpressions();
var impr2 = adGroup.getStatsFor(twoWeeksAgo, oneWeekAgo).getImpressions();
var impr3 = adGroup.getStatsFor(oneWeekAgo, today).getImpressions();

// Week over week, the ad group is upgrading
if (ctr1 < ctr2 && ctr2 < ctr3) {
Logger.log(" Name " + adGroup.getCampaign().getName()+ " > " + adGroup.getName());
Logger.log("CTR: " + (ctr1 * 100) + "%:" + impr1 + " > " + (ctr2 * 100) + "%:" + impr2 + " > " + (ctr3 * 100) + "%:" + impr3);
Logger.log("---------------------------------------------");