นี่คือสคริปต์ AdWords ไปยังเหมืองรายงานคำค้นหาของคุณ

A+ A-
google-AdWords-bigA9-1920

ค้นหาที่ชำระเงินหมุนรอบคำค้นหา ส่วนใหญ่เวลาที่เราคิดว่าเกี่ยวกับคำหลักในขณะที่เรามีการควบคุมโดยตรงเหนือพวกเขา แต่การค้นหาเป็นสิ่งที่ผู้ค้นหาจริงต้องการที่จะหา - และนี่อาจจะแตกต่างจากสิ่งที่คุณมีอยู่ในใจ (โดยเฉพาะถ้าการทำงานแบบกว้างหรือคำที่คลุมเครืออยู่ในการเล่น)

นั่นหมายถึงการรายงานการค้นหาเป็นทรัพยากรที่มีความสำคัญสำหรับบัญชี AdWords ของคุณแสดงให้คุณที่คุณสามารถขยายคำหลักของคุณและที่คุณควรยกเว้นค้นหาที่ไม่เกี่ยวข้อง และถ้าสิ่งที่เป็นสิ่งสำคัญนั่นหมายความว่าเราต้องการที่จะทำให้มันง่ายต่อการทำงานด้วย!

สคริปต์นี้จะใช้เวลาทุกคำในรายงานคำค้นหาของคุณและทำงานออกประสิทธิภาพการทำงานของคำโดยการเพิ่มประสิทธิภาพของแบบสอบถามทั้งหมดในแคมเปญที่มีคำว่า มันไม่สนใจแคมเปญหยุดชั่วคราวหยุดชั่วคราวกลุ่มโฆษณาและคำค้นหาที่ได้รับการยกเว้นแล้วโดยคำหลักเชิงลบ

ตัวอย่างเช่นถ้าคุณมีคำค้นหา:

Screen Shot 2015/05/01 ที่ 16.44.53

จากนั้นสคริปต์ที่จะกล่าวว่า

Screen Shot 2015/05/01 ที่ 16.44.08

นี้จะช่วยให้คุณมีความคิดของเท่าใดเงินที่คุณจะได้บันทึกไว้ถ้าคุณมีคำว่าเป็นแคมเปญระดับการทำงานแบบกว้างเชิงลบและหากคุณต้องการมีพลาดออกแปลงใด ๆ ในตัวอย่างนี้คุณสามารถเพิ่ม“ถูก” เป็นคำหลักเชิงลบหรือมองอย่างใกล้ชิดเข้าสูงสุดคำค่าใช้จ่าย / การแปลงต่ำ (เช่น“ขาย”) เพื่อดูว่าพวกเขาควรจะเชิงลบ (หรือถ้าวลีที่มีพวกเขาอาจจะเป็นเชิงลบ) . แน่นอนคุณต้องใช้วิจารณญาณของคุณ:“สำหรับ” ยังไม่ได้ดำเนินการได้ดี แต่มันเป็นคำทั่วไปดังนั้นคุณอาจไม่ต้องการที่จะมีมันเป็นคำหลักเชิงลบในตัวของมันเอง

สคริปต์ยังวิเคราะห์ผลการดำเนินงานของการค้นหาด้วยจำนวนคำที่พวกเขามี (นี้ไม่ได้เป็นตัวชี้วัดที่แน่นอนของวิธีหางยาวค้นหา - วลีที่ว่า“ฉันได้พบกับแม่ของคุณดีวีดี” เป็นไม่นานมากขึ้นกว่าหาง“เพื่อนดีวีดี” แม้จะมีสี่คำพิเศษ - แต่มันเป็นเรื่องปกติประมาณการที่ดี และง่ายมากที่จะวัด.)

หากคุณพบว่าการค้นหาอีกต่อไปทำงานได้ดีขึ้นสำหรับคุณคุณอาจต้องการที่จะมุ่งเน้นไปที่กลยุทธ์หางยาวของคุณ ที่ Brainlabs (นายจ้างของฉัน) เราพบว่ารายงานฉบับนี้จะเป็นประโยชน์อย่างยิ่งสำหรับแคมเปญช้อปปิ้งที่คำสั่งอีกต่อไปมีแนวโน้มที่จะทำงานได้ดีขึ้น - อาจจะเป็นเพราะพวกเขามีความเฉพาะเจาะจงมากขึ้น นี่คือตัวอย่างที่ได้รับอนุญาตให้เราสามารถปรับปรุงแคมเปญช้อปปิ้งของเราให้ความสำคัญกับคำสั่งที่ผลักดันกำไรมากขึ้น:

ภาพ revcost

เมื่อต้องการใช้สคริปต์:

ไปที่ Google ไดรฟ์และทำสเปรดชีตว่างเปล่า จดบันทึก URL ของ

จากนั้นไปที่บัญชี AdWords ของคุณลงใน“ดำเนินการเป็นกลุ่ม” จากนั้นเข้า“สคริป.” Make สคริปต์ใหม่และวางรหัสใน

ในช่วงเริ่มต้นของรหัสที่มีตัวแปรไม่กี่คนที่ตั้ง: ใส่ URL สเปรดชีตของคุณเป็น“spreadsheetUrl” และสัญลักษณ์สกุลเงินของคุณลงในเปลี่ยน“STARTDATE” และ“endDate” ตามสิ่งที่ช่วงวันที่ที่คุณต้องการดู“CURRENCYSYMBOL.” ที่; ถ้าคุณมีการเข้าชมต่ำคุณอาจต้องมองไปที่เป็นระยะเวลานาน และ“campaignNameContains” สามารถใช้ในการดูแคมเปญเฉพาะ (เช่นเดียวกับแคมเปญ“ช้อปปิ้ง” ในชื่อของพวกเขา) แต่คุณสามารถปล่อยให้มันว่างเปล่า

หากคุณต้องการคุณสามารถเปลี่ยนเกณฑ์ - เริ่มต้นคือสคริปต์เพื่อให้ไม่ได้รายงานเกี่ยวกับคำที่มีน้อยกว่า 10 แสดงผล แต่คุณอาจมีการเปลี่ยนแปลงเหล่านี้ไปเท่านั้นดูที่การแสดงผลที่สูงหรือคำที่ค่าใช้จ่ายสูง

จากนั้นบันทึกและเรียกใช้สคริปต์ (ให้อนุมัติเมื่อถาม)

ผลควรจะปรากฏในแผ่นใหม่ (“การวิเคราะห์แคมเปญ Word,”“การวิเคราะห์คำทั้งหมด” และ“นับจำนวนคำวิเคราะห์”) ใน Google เอกสาร

สำหรับการรณรงค์และการวิเคราะห์คำทั้งหมดคุณสามารถใช้ตัวกรองสเปรดชีตของ Google (หรือส่งออกใน Excel และใช้ตัวกรองของ Excel) เพื่อหาคำที่มีประสิทธิภาพไม่ดีหรือที่มีลักษณะออกจากสถานที่ (อย่าลืมว่าคุณสามารถข้ามอ้างอิงรายงานการค้นหาใน AdWords ถ้าคุณสับสนว่าทำไมคำเฉพาะดำเนินการเพื่อไม่ดี - มันอาจจะเป็นไปได้ว่าปัญหาที่เกิดขึ้นเป็นวลีที่มีคำว่ามากกว่าคำว่าตัวเอง.)

สำหรับการวิเคราะห์การนับจำนวนคำที่คุณสามารถมองเห็นสิ่งที่จำนวนของคำทำงานได้ดีที่สุด หากคุณต้องการที่จะเพิ่มรูปแบบตามเงื่อนไขค่าใช้จ่าย / Conversion เพื่อให้รูปแบบง่ายต่อการดูจากนั้นคลิกที่“รูปแบบ” เมนูแล้ว 'รูปแบบตามเงื่อนไข ... และในแถบด้านข้างเลือก 'ขนาดสี'

หมายเหตุ: หากคุณมีบัญชีขนาดใหญ่สคริปต์อาจหมดเวลาก่อนที่จะเสร็จสิ้น - ถ้าเกิดว่าให้ลองใช้“campaignNameContains” เพียงไม่กี่ดูแคมเปญในเวลา


/ **
* * * *
* เครื่องมือค้นหาเครื่องจักรแบบสอบถาม
* * * *
* สคริปต์นี้จะคำนวณผลงานของแต่ละคำที่พบในรายงานการค้นหา
* และผลรายงานเป็นสเปรดชีตของ Google Doc
* * * *
* เวอร์ชัน: 1.0
* ของ Google Apps Script ในการบำรุงรักษา brainlabsdigital.com
* * * *
** /

หน้าที่หลัก () {

////////////////////////////////////////////////// ////////////////////////////
// ตัวเลือก

var STARTDATE = "2015/04/01";
var endDate = "2015/04/30";
// เริ่มต้นและสิ้นสุดวันของช่วงวันที่ข้อมูลคำค้นหาของคุณ
// รูปแบบคือ YYYY-MM-DD

var CURRENCYSYMBOL = "£";
// สัญลักษณ์สกุลเงินที่ใช้สำหรับการจัดรูปแบบ ยกตัวอย่างเช่น "£", "$" หรือ "€"

campaignNameContains var = "";
// การใช้งานนี้ถ้าคุณเพียงต้องการที่จะดูที่บางแคมเปญ
// เช่นแคมเปญที่มีชื่อที่มี 'ยี่ห้อ' หรือ 'ช้อปปิ้ง'
// ปล่อยให้เป็น "" ถ้าไม่อยาก

var spreadsheetUrl = "https://docs.google.com/YOUR-SPREADSHEET-URL-HERE";
// URL ของ Google เอกสารผลลัพธ์ที่จะใส่ลงใน


////////////////////////////////////////////////// ////////////////////////////

// เกณฑ์

var impressionThreshold = 10;
var clickThreshold = 0;
var costThreshold = 0;
var conversionThreshold = 0;
// คำจะถูกละเว้นถ้าสถิติของพวกเขาจะต่ำกว่าเกณฑ์เหล่านี้


////////////////////////////////////////////////// ////////////////////////////
// ค้นหาคำหลักเชิงลบ

var negativesByGroup = [];
var negativesByCampaign = [];
var sharedSetData = [];
sharedSetNames var = [];
sharedSetCampaigns var = [];
var DATERANGE = startDate.replace (/ - / g "") + "" + endDate.replace (/ - / g "");
activeCampaignIds var = [];

// รวบรวมคำหลักเชิงลบระดับกลุ่มโฆษณา

var keywordReport = AdWordsApp.report (
"SELECT campaignid, adgroupid, KeywordText, KeywordMatchType" +
"จาก KEYWORDS_PERFORMANCE_REPORT" +
"WHERE CampaignStatus = เปิดใช้งานและ AdGroupStatus = เปิดใช้งานและสถานะ = เปิดใช้งานและ IsNegative = TRUE" +
"และ CAMPAIGNNAME CONTAINS_IGNORE_CASE '" + campaignNameContains + "' +
"ในช่วง" + DATERANGE);

var keywordRows = keywordReport.rows ();
ในขณะที่ (keywordRows.hasNext ()) {
var keywordRow = keywordRows.next ();

ถ้า (negativesByGroup [keywordRow [ "adgroupid"]] == undefined) {
negativesByGroup [keywordRow [ "adgroupid"]] = 
[[keywordRow [ "KeywordText"] toLowerCase () keywordRow [ "KeywordMatchType"] toLowerCase ()]..];
} else {

negativesByGroup [keywordRow [ "adgroupid"]] ผลักดัน. ([keywordRow [ "KeywordText"] toLowerCase () keywordRow [ "KeywordMatchType"] toLowerCase ()..]);
}

ถ้า (activeCampaignIds.indexOf (keywordRow [ "campaignid"]) <0) {
activeCampaignIds.push (keywordRow [ "campaignid"]);
}
} // สิ้นในขณะที่

// รวบรวมคำหลักเชิงลบระดับแคมเปญ

var campaignNegReport = AdWordsApp.report (
"SELECT campaignid, KeywordText, KeywordMatchType" +
"จาก CAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT" +
"WHERE IsNegative = TRUE" +
"และใน campaignid [" + activeCampaignIds.join ( "") + "]"
);
var campaignNegativeRows = campaignNegReport.rows ();
ในขณะที่ (campaignNegativeRows.hasNext ()) {
var campaignNegativeRow = campaignNegativeRows.next ();

ถ้า (negativesByCampaign [campaignNegativeRow [ "campaignid"]] == ไม่ได้กำหนด) {
negativesByCampaign [campaignNegativeRow [ "campaignid"]] = [[campaignNegativeRow [ "KeywordText"] toLowerCase () campaignNegativeRow [ "KeywordMatchType"] toLowerCase ()]..];
} else {

negativesByCampaign [campaignNegativeRow [ "campaignid"]] ผลักดัน ([campaignNegativeRow [ "KeywordText"] toLowerCase () campaignNegativeRow [ "KeywordMatchType"] toLowerCase ()..]).
}
} // สิ้นในขณะที่

// หาแคมเปญที่ใช้งานร่วมกันชุดคำหลักเชิงลบ

var campaignSharedReport = AdWordsApp.report (
"SELECT CAMPAIGNNAME, campaignid, SharedSetName, SharedSetType, สถานะ" +
"จาก CAMPAIGN_SHARED_SET_REPORT" +
"WHERE SharedSetType = NEGATIVE_KEYWORDS" +
"และ CAMPAIGNNAME CONTAINS_IGNORE_CASE '" + campaignNameContains + "'");
var campaignSharedRows = campaignSharedReport.rows ();
ในขณะที่ (campaignSharedRows.hasNext ()) {
var campaignSharedRow = campaignSharedRows.next ();

ถ้า (sharedSetCampaigns [campaignSharedRow [ "SharedSetName"]] == ไม่ได้กำหนด) {
sharedSetCampaigns [campaignSharedRow [ "SharedSetName"]] = [campaignSharedRow [ "campaignid"]];
} else {

sharedSetCampaigns [campaignSharedRow [ "SharedSetName"]] ผลักดัน (campaignSharedRow [ "campaignid"]).
}
} // สิ้นในขณะที่

// แผนที่รหัสชุดที่ใช้ร่วมกัน (ใช้ไปในเกณฑ์ที่รายงานด้านล่าง)
// ชื่อของพวกเขา (ใช้ในรายงานการรณรงค์ด้านบน)

var sharedSetReport = AdWordsApp.report (
"SELECT ชื่อ SharedSetId, MEMBERCOUNT, ReferenceCount ประเภท" +
"จาก SHARED_SET_REPORT" +
"WHERE ReferenceCount> 0 และประเภท = NEGATIVE_KEYWORDS");
var sharedSetRows = sharedSetReport.rows ();
ในขณะที่ (sharedSetRows.hasNext ()) {
var sharedSetRow = sharedSetRows.next ();
sharedSetNames [sharedSetRow [ "SharedSetId"]] = sharedSetRow [ "ชื่อ"];
} // สิ้นในขณะที่

// เก็บข้อความคำหลักเชิงลบจากชุดที่
// และบันทึกเป็นระดับเชิงลบของแคมเปญในแคมเปญที่ใช้ชุด

var sharedSetReport = AdWordsApp.report (
"SELECT SharedSetId, KeywordMatchType, KeywordText" +
"จาก SHARED_SET_CRITERIA_REPORT");
var sharedSetRows = sharedSetReport.rows ();
ในขณะที่ (sharedSetRows.hasNext ()) {
var sharedSetRow = sharedSetRows.next ();
var setName = sharedSetNames [sharedSetRow [ "SharedSetId"]];
ถ้า (sharedSetCampaigns [setName]! == undefined) {
สำหรับ (var i = 0; i <sharedSetCampaigns [setName] .length; i ++) {
var campaignid = sharedSetCampaigns [setName] [ผม];
ถ้า (negativesByCampaign [campaignid] == undefined) {
negativesByCampaign [campaignid] = 
[[sharedSetRow [ "KeywordText"] toLowerCase () sharedSetRow [ "KeywordMatchType"] toLowerCase ()]..];
} else {

negativesByCampaign [campaignid] .push ([sharedSetRow [ "KeywordText"] toLowerCase () sharedSetRow [ "KeywordMatchType"] toLowerCase ()..]);
}
}
}
} // สิ้นในขณะที่

Logger.log ( "เสร็จสิ้นรายการคำหลักเชิงลบ.");

////////////////////////////////////////////////// ////////////////////////////
// กำหนดสถิติการดาวน์โหลดหรือคำนวณและการจัดรูปแบบของพวกเขา

var statColumns = [ "คลิก" "การแสดงผล", "ค่าใช้จ่าย", "ConvertedClicks", "ConversionValue"];
var calculatedStats = [[ "CTR", "คลิก" "การแสดงผล"]
[ "CPC", "ค่าใช้จ่าย", "คลิก"]
[ "อัตรา Conv.", "ConvertedClicks", "คลิก"]
[ "ค่าใช้จ่าย / Conv.", "ค่าใช้จ่าย", "ConvertedClicks"]
[ "Conv. ค่า / ค่าใช้จ่าย", "ConversionValue", "ค่าใช้จ่าย"]]
var currencyFormat = CURRENCYSYMBOL + "#, ## 0.00";
การจัดรูปแบบ var = [ "#, ## 0", "#, ## 0" currencyFormat "#, ## 0" currencyFormat "0.00%", currencyFormat "0.00%", currencyFormat "0.00%" ];


////////////////////////////////////////////////// ////////////////////////////
// ไปถึงรายงานคำค้นหาลบการค้นหายกเว้นแล้วโดยเชิงลบ
// บันทึกผลงานของแต่ละคำในแต่ละแบบสอบถามที่เหลือ

var queryReport = AdWordsApp.report (
"SELECT CAMPAIGNNAME, campaignid, adgroupid, AdGroupName, แบบสอบถาม" + statColumns.join ( " ") +"" +
"จาก SEARCH_QUERY_PERFORMANCE_REPORT" +
"WHERE CampaignStatus = เปิดใช้งานและเปิดใช้งาน AdGroupStatus =" +
"และ CAMPAIGNNAME CONTAINS_IGNORE_CASE '" + campaignNameContains + "' +
"ในช่วง" + DATERANGE);

campaignSearchWords var = [];
totalSearchWords var = [];
totalSearchWordsKeys var = [];
numberOfWords var = [];

var queryRows = queryReport.rows ();
ในขณะที่ (queryRows.hasNext ()) {
var queryRow = queryRows.next ();
var searchIsExcluded = false;

// การตรวจสอบถ้าแบบสอบถามได้รับการยกเว้นโดยระดับกลุ่มการโฆษณาเชิงลบ

ถ้า (negativesByGroup [queryRow [ "adgroupid"]]! == ไม่ได้กำหนด) {
สำหรับ (var i = 0; i. <negativesByGroup [queryRow [ "adgroupid"]] ความยาวผม ++) {
ถ้า ((negativesByGroup [queryRow [ "adgroupid"]] [ผม] [1] == "แน่นอน" &&
queryRow [ "แบบสอบถาม"] == negativesByGroup [queryRow [ "adgroupid"]] [ผม] [0]) ||
(negativesByGroup [queryRow [ "adgroupid"]] [ผม] [1]! = "แน่นอน" &&
( " "+ queryRow [" แบบสอบถาม "] +" ") .indexOf (" "+ negativesByGroup [queryRow [" adgroupid "]] [ผม] [0] +"")> -1)) {
searchIsExcluded = true;
ทำลาย;
}
}
}

// การตรวจสอบถ้าแบบสอบถามได้รับการยกเว้นจากระดับเชิงลบของแคมเปญ

ถ้า (! searchIsExcluded && negativesByCampaign [queryRow [ "campaignid"]]! == ไม่ได้กำหนด) {
สำหรับ (var i = 0; ฉัน <negativesByCampaign [queryRow [ "campaignid"]] ความยาว. i ++) {
ถ้า ((negativesByCampaign [queryRow [ "campaignid"]] [ผม] [1] == "แน่นอน" &&
queryRow [ "แบบสอบถาม"] == negativesByCampaign [queryRow [ "campaignid"]] [ผม] [0]) ||
(negativesByCampaign [queryRow [ "campaignid"]] [ผม] [1]! = "แน่นอน" &&
( " "+ queryRow [" แบบสอบถาม "] +" ") .indexOf (" "+ negativesByCampaign [queryRow [" campaignid "]] [ผม] [0] +"")> -1)) {
searchIsExcluded = true;
ทำลาย;
}
}
}

ถ้า (searchIsExcluded) {คง;}
// หากการค้นหาได้รับการยกเว้นแล้วโดยเชิงลบในปัจจุบัน
// เราไม่สนใจมันและไปกับการค้นหาต่อไป

var currentWords = queryRow [ "แบบสอบถาม"] แยก (". ");
doneWords var = [];

ถ้า (campaignSearchWords [queryRow [ "CAMPAIGNNAME"]] == undefined) {
campaignSearchWords [queryRow [ "CAMPAIGNNAME"]] = [];
}

var wordlength = currentWords.length;
ถ้า (wordlength> 6) {
wordlength = "7";
}
ถ้า (numberOfWords [wordlength] == undefined) {
numberOfWords [wordlength] = [];
}
สำหรับ (var i = 0; ฉัน <statColumns.length; i ++) {
ถ้า (numberOfWords [wordlength] [statColumns [ผม]]> 0) {
numberOfWords [wordlength] [statColumns [ผม]] + = parseFloat (. queryRow [statColumns [ผม]] แทนที่ (/ / g ""));
} else {
numberOfWords [wordlength] [statColumns [ผม]] = parseFloat (. queryRow [statColumns [ผม]] แทนที่ (/ / g ""));
}
}


// แยกแบบสอบถามเป็นคำพูดและบันทึกสถิติสำหรับแต่ละ

สำหรับ (var W = 0; W <currentWords.length; W ++) {
ถ้า (doneWords.indexOf (currentWords [W]) <0) {// ถ้าคำนี้ไม่ได้รับในการสอบถามยัง

ถ้า (campaignSearchWords [queryRow [ "CAMPAIGNNAME"]] [currentWords [W]] == undefined) {
campaignSearchWords [queryRow [ "CAMPAIGNNAME"]] [currentWords [W]] = [];
}
ถ้า (totalSearchWords [currentWords [W]] == undefined) {
totalSearchWords [currentWords [W]] = [];
totalSearchWordsKeys.push (currentWords [W]);
}

สำหรับ (var i = 0; ฉัน <statColumns.length; i ++) {
var สถิติ = parseFloat (queryRow [statColumns [ผม]] แทนที่ (/ / g "").);
ถ้า (campaignSearchWords [queryRow [ "CAMPAIGNNAME"]] [currentWords [W]] [statColumns [ผม]]> 0) {
campaignSearchWords [queryRow [ "CAMPAIGNNAME"]] [currentWords [W]] [statColumns [ผม]] + = สถิติ;
} else {
campaignSearchWords [queryRow [ "CAMPAIGNNAME"]] [currentWords [W]] [statColumns [ผม]] = สถิติ;
}
ถ้า (totalSearchWords [currentWords [W]] [statColumns [ผม]]> 0) {
totalSearchWords [currentWords [W]] [statColumns [ผม]] + = สถิติ;
} else {
totalSearchWords [currentWords [W]] [statColumns [ผม]] = สถิติ;
}
}

doneWords.push (currentWords [W]);
} // สิ้นสุดหาก
} // end สำหรับ
} // สิ้นในขณะที่

Logger.log ( "เสร็จสิ้นการวิเคราะห์แบบสอบถาม.");


////////////////////////////////////////////////// ////////////////////////////
// เอาท์พุทข้อมูลลงในสเปรดชีต

var campaignSearchWordsOutput = [];
var campaignSearchWordsFormat = [];
var totalSearchWordsOutput = [];
var totalSearchWordsFormat = [];
var wordLengthOutput = [];
var wordLengthFormat = [];

// เพิ่มส่วนหัว

calcStatNames var = [];
สำหรับ (var s = 0; s <calculatedStats.length; s ++) {
calcStatNames.push (calculatedStats [s] [0]);
}
var statNames = statColumns.concat (calcStatNames);
campaignSearchWordsOutput.push ([ "แคมเปญ", "คำว่า"] concat (statNames).);
totalSearchWordsOutput.push ([ "คำว่า"] concat (statNames).);
wordLengthOutput.push ([ "นับคำว่า"] concat (statNames).);

// ออกสถิติระดับแคมเปญ

สำหรับ (var แคมเปญใน campaignSearchWords) {
สำหรับ (คำ var ใน campaignSearchWords [แคมเปญ]) {

ถ้า (campaignSearchWords [แคมเปญ] [คำ] [ "การแสดงผล"] <impressionThreshold) {คง;}
ถ้า (campaignSearchWords [แคมเปญ] [คำ] [ "คลิก"] <clickThreshold) {คง;}
ถ้า (campaignSearchWords [แคมเปญ] [คำ] [ "ค่าใช้จ่าย"] <costThreshold) {คง;}
ถ้า (campaignSearchWords [แคมเปญ] [คำ] [ "ConvertedClicks"] <conversionThreshold) {คง;}

// ข้ามคำภายใต้เกณฑ์

var printline = [แคมเปญคำ];

สำหรับ (var s = 0; s <statColumns.length; s ++) {
printline.push (campaignSearchWords [แคมเปญ] [คำ] [statColumns [s]]);
}

สำหรับ (var s = 0; s <calculatedStats.length; s ++) {
var คูณ = calculatedStats [s] [1];
var หาร = calculatedStats [s] [2];
ถ้า (campaignSearchWords [แคมเปญ] [คำ] [หาร]> 0) {
printline.push (campaignSearchWords [แคมเปญ] [คำ] [คูณ] / campaignSearchWords [แคมเปญ] [คำ] [หาร]);
} else {
printline.push ( "-");
}
}

campaignSearchWordsOutput.push (printline);
campaignSearchWordsFormat.push (รูปแบบ);
}
} // end สำหรับ


totalSearchWordsKeys.sort (ฟังก์ชั่น (A, B) {กลับ totalSearchWords [b] [ "ค่าใช้จ่าย"] - totalSearchWords [เป็น] [ "ค่าใช้จ่าย"];});

สำหรับ (var i = 0; ฉัน <totalSearchWordsKeys.length; i ++) {
คำ var = totalSearchWordsKeys [ผม];

ถ้า (totalSearchWords [คำ] [ "การแสดงผล"] <impressionThreshold) {คง;}
ถ้า (totalSearchWords [คำ] [ "คลิก"] <clickThreshold) {คง;}
ถ้า (totalSearchWords [คำ] [ "ค่าใช้จ่าย"] <costThreshold) {คง;}
ถ้า (totalSearchWords [คำ] [ "ConvertedClicks"] <conversionThreshold) {คง;}

// ข้ามคำภายใต้เกณฑ์

var printline = [คำ];

สำหรับ (var s = 0; s <statColumns.length; s ++) {
printline.push (totalSearchWords [คำ] [statColumns [s]]);
}

สำหรับ (var s = 0; s <calculatedStats.length; s ++) {
var คูณ = calculatedStats [s] [1];
var หาร = calculatedStats [s] [2];
ถ้า (totalSearchWords [คำ] [หาร]> 0) {
printline.push (totalSearchWords [คำ] [คูณ] / totalSearchWords [คำ] [หาร]);
} else {
printline.push ( "-");
}
}

totalSearchWordsOutput.push (printline);
totalSearchWordsFormat.push (รูปแบบ);
} // end สำหรับ

สำหรับ (var i = 1; i <8; i ++) {
ถ้า (i <7) {
var wordlength = ฉัน;
} else {
var wordlength = "7";
}

var printline = [wordlength];

ถ้า (numberOfWords [wordlength] == undefined) {
printline.push ([0,0,0,0 "-", "-" "-", "-"]);
} else {
สำหรับ (var s = 0; s <statColumns.length; s ++) {
printline.push (numberOfWords [wordlength] [statColumns [s]]);
}

สำหรับ (var s = 0; s <calculatedStats.length; s ++) {
var คูณ = calculatedStats [s] [1];
var หาร = calculatedStats [s] [2];
ถ้า (numberOfWords [wordlength] [หาร]> 0) {
printline.push (numberOfWords [wordlength] [คูณ] / numberOfWords [wordlength] [หาร]);
} else {
printline.push ( "-");
}
}
}

wordLengthOutput.push (printline);
wordLengthFormat.push (รูปแบบ);
} // end สำหรับ

// พบชื่อสำหรับแผ่นใหม่

var campaignWordName = "การวิเคราะห์ของ Word แคมเปญ";
var totalWordName = "วิเคราะห์คำทั้งหมด";
var wordCountName = "นับจำนวนคำวิเคราะห์";
var campaignWordSheet = SpreadsheetApp.openByUrl (spreadsheetUrl) .getSheetByName (campaignWordName);
var totalWordSheet = SpreadsheetApp.openByUrl (spreadsheetUrl) .getSheetByName (totalWordName);
var wordCountSheet = SpreadsheetApp.openByUrl (spreadsheetUrl) .getSheetByName (wordCountName);
var i = 1;
ในขณะที่ (campaignWordSheet! = null || wordCountSheet! = null || totalWordSheet! = null) {
campaignWordName = "การวิเคราะห์ของ Word แคมเปญ" + i;
totalWordName = "วิเคราะห์คำทั้งหมด" + i;
wordCountName = "นับจำนวนคำวิเคราะห์" + i;
campaignWordSheet = SpreadsheetApp.openByUrl (spreadsheetUrl) .getSheetByName (campaignWordName);
totalWordSheet = SpreadsheetApp.openByUrl (spreadsheetUrl) .getSheetByName (totalWordName);
wordCountSheet = SpreadsheetApp.openByUrl (spreadsheetUrl) .getSheetByName (wordCountName);
i ++;
}
campaignWordSheet = SpreadsheetApp.openByUrl (spreadsheetUrl) .insertSheet (campaignWordName);
totalWordSheet = SpreadsheetApp.openByUrl (spreadsheetUrl) .insertSheet (totalWordName);
wordCountSheet = SpreadsheetApp.openByUrl (spreadsheetUrl) .insertSheet (wordCountName);

campaignWordSheet.getRange ( "R1C1") setValue ( "การวิเคราะห์ของคำในคำค้นหารายงานโดยแคมเปญ.");
wordCountSheet.getRange ( "R1C1") setValue ( "ผลการดำเนินงานการวิเคราะห์ค้นหาด้วยคำกล่าวนับ.");

ถ้า (campaignNameContains == "") {
totalWordSheet.getRange ( "R1C1") setValue ( "การวิเคราะห์ของคำในการค้นหารายงานแบบสอบถามตามบัญชี.");
} else {
totalWordSheet.getRange ( "R1C1") setValue ( "การวิเคราะห์ของคำในการค้นหารายงานแบบสอบถามกว่าแคมเปญทั้งหมดที่มีส่วนผสมของ 'campaignNameContains +'.");
}

campaignWordSheet.getRange ( "R2C1: R" + (campaignSearchWordsOutput.length + 1) + "C" + campaignSearchWordsOutput [0] .length) .setValues ​​(campaignSearchWordsOutput);
campaignWordSheet.getRange. ( "R3C3: R" + (campaignSearchWordsOutput.length + 1) + "C" + (formatting.length + 2)) setNumberFormats (campaignSearchWordsFormat);
totalWordSheet.getRange ( "R2C1: R" + (totalSearchWordsOutput.length + 1) + "C" + totalSearchWordsOutput [0] .length) .setValues ​​(totalSearchWordsOutput);
totalWordSheet.getRange. ( "R3C2: R" + (totalSearchWordsOutput.length + 1) + "C" + (formatting.length + 1)) setNumberFormats (totalSearchWordsFormat);
wordCountSheet.getRange ( "R2C1: R" + (wordLengthOutput.length + 1) + "C" + wordLengthOutput [0] .length) .setValues ​​(wordLengthOutput);
wordCountSheet.getRange. ( "R3C2: R" + (wordLengthOutput.length + 1) + "C" + (formatting.length + 1)) setNumberFormats (wordLengthFormat);

Logger.log ( "เขียนเสร็จในสเปรดชีต.");
}


แสดงความคิดเห็นในบทความนี้เป็นของผู้เขียนผู้เข้าพักและไม่จำเป็นต้องค้นหาที่ดินเครื่องยนต์ ผู้เขียนพนักงานอยู่ที่นี่


Ads

หุ้น

เมื่อเร็ว ๆ นี้

ใจธุรกิจของคุณ: คอลัมน์ค้นหาของเราด้านบนท้องถิ่น 2017

ผู้ปฏิบัติงานท้องถิ่น SEO มีบทบาทสำคัญมากขึ้นในการเล่นในการ...

SearchCap: ซานตาติดตามแง่ API ของ Google และเมตริก SEO

ด้านล่างนี้คือสิ่งที่เกิดขึ้นในการค้นหาในวันนี้ขณะที่รายงาน...

มาร์ลีนดีทริช Google เกียรตินิยมเส้นขยุกขยิกอาชีพนักแสดงในตำนานของ

มาร์ลีนดีทริชเซนด์นักแสดงหญิงชาวเยอรมันจะถูกรับเกียรติในวัน...

ผลการค้นหาภาพของ Google ทดสอบใหม่กล่องค้นหาที่เกี่ยวข้อง

Google กำลังทดสอบใหม่“ค้นหาที่เกี่ยวข้อง” ในรุ่นมือถือของหน...

ความคิดเห็น