สรุปสั้น ๆ (TL;DR)
- Google Ads scripts คือโปรแกรม JavaScript ที่เพิ่มได้จาก Tools, Bulk actions, Scripts และตั้งให้รันครั้งเดียว รายวัน รายสัปดาห์ หรือรายเดือน ณ ชั่วโมงที่เลือก
- หน้าขีดจำกัดของ Google กำหนดให้สคริปต์บัญชีเดียวรันได้ 30 นาที และสคริปต์บัญชีดูแลจัดการบางแบบ 60 นาที การเปลี่ยนแปลงก่อนถูกตัดยังคงมีผล
- โหมดดูตัวอย่างไม่เปลี่ยนแปลงข้อมูลผ่าน AdsApp แต่อีเมลผ่าน MailApp ยังถูกส่ง และ Google Sheets ยังถูกอัปเดตจริง
- สคริปต์ในบัญชีดูแลจัดการประมวลผลบัญชีลูกค้าพร้อมกันได้สูงสุด 50 บัญชีด้วย executeInParallel โดยแต่ละบัญชีได้โควตาของตัวเอง
- Google เตือนว่าการเปลี่ยนแปลงที่สคริปต์ทำย้อนกลับไม่ได้ การติดป้ายกำกับทุกรายการที่ถูกเปลี่ยนจึงเป็นตาข่ายนิรภัยที่ใช้ได้จริง
Google Ads scripts คือโปรแกรม JavaScript สั้นๆ ที่ทำงานอยู่ภายในบัญชี Google Ads ของคุณ ใช้อ่านหรือแก้ไขแคมเปญ กลุ่มโฆษณา คีย์เวิร์ด โฆษณา และงบประมาณตามตารางเวลาที่คุณตั้งไว้ สคริปต์ช่วยทำงานตรวจสอบและแก้ไขที่ปกติต้องใช้คนนั่งคลิกหลายชั่วโมงให้เป็นอัตโนมัติ เช่น หยุดโฆษณาที่ลิงก์ไปหน้าเว็บเสีย ส่งอีเมลเตือนเมื่อค่าใช้จ่ายพุ่งขึ้น หรือบันทึกสรุปผลงานรายวันลงสเปรดชีต
คู่มือนี้อธิบายว่าสคริปต์ทำอะไรได้บ้าง วิธีเพิ่มและตั้งเวลาสคริปต์ ขีดจำกัดที่ Google ระบุไว้ สคริปต์แบบไหนควรเริ่มใช้ก่อน สคริปต์ต่างจากกฎอัตโนมัติและ Google Ads API อย่างไร และความเสี่ยงของการปล่อยให้โค้ดแก้ไขบัญชีที่กำลังใช้งานจริง
Google Ads scripts คืออะไร และทำงานอัตโนมัติอะไรได้บ้าง
สคริปต์คือชุดโค้ด JavaScript ที่มีฟังก์ชัน main() เมื่อสคริปต์ทำงาน มันจะใช้บริการ AdsApp ของ Google เพื่อเลือกรายการในบัญชี (เช่น "คีย์เวิร์ดที่เปิดใช้งานทั้งหมดในแคมเปญที่ชื่อมีคำว่า Brand") อ่านการตั้งค่าและสถิติ แล้วเลือกได้ว่าจะแก้ไขหรือไม่ ส่วนสคริปต์ในบัญชีดูแลจัดการ (manager account) จะใช้ AdsManagerApp เพื่อไล่ไปทีละบัญชีลูกค้าภายใต้บัญชีดูแลจัดการ และใช้ตรรกะเดียวกันกับทุกบัญชี
เนื่องจากสคริปต์ทำงานบนเซิร์ฟเวอร์ของ Google และเข้าถึงบริการอื่นของ Google ได้ สคริปต์จึงทำสิ่งเหล่านี้ได้ด้วย
- อ่านและเขียนข้อมูลใน Google Sheets ทำให้สเปรดชีตกลายเป็นแผงควบคุมหรือที่เก็บรายงานแบบง่ายๆ
- ส่งอีเมลผ่าน MailApp ซึ่งเป็นวิธีที่สคริปต์แจ้งเตือนส่วนใหญ่ใช้แจ้งทีม
- ดึงหน้าเว็บหรือเรียกบริการภายนอกด้วย UrlFetchApp ซึ่งเป็นพื้นฐานของการตรวจหน้า Landing Page
- ดึงรายงานด้วย Google Ads Query Language ผ่าน AdsApp.search ทำให้สคริปต์ใช้ตัวชี้วัดชุดเดียวกับที่คุณเห็นในหน้าจอ
ในการใช้งานจริง สคริปต์แบ่งได้เป็นสามกลุ่ม สคริปต์รายงาน อ่านข้อมูลอย่างเดียวแล้วส่งไปไว้ในที่ที่ใช้ประโยชน์ได้ สคริปต์เฝ้าระวัง อ่านข้อมูล เทียบกับเกณฑ์ แล้วส่งการแจ้งเตือน สคริปต์แก้ไข ลงมือเปลี่ยนแปลงบัญชี เช่น หยุด เปิดใช้ ติดป้ายกำกับ หรือปรับราคาเสนอและงบประมาณ สองกลุ่มแรกมีความเสี่ยงต่ำ กลุ่มที่สามต้องระวังมากที่สุด ซึ่งหัวข้อเรื่องความเสี่ยงด้านล่างจะอธิบายเหตุผล
เพิ่ม ดูตัวอย่าง และตั้งเวลาสคริปต์อย่างไร
หน้าความช่วยเหลือของ Google เรื่องสคริปต์อธิบายเส้นทางไว้ว่า ให้คลิกไอคอนเครื่องมือ (Tools) เลือกเมนูแบบเลื่อนลง การดำเนินการแบบกลุ่ม (Bulk actions) แล้วเลือก สคริปต์ (Scripts) Google ย้ายเมนูอยู่เป็นระยะ ชื่อเมนูในบัญชีของคุณจึงอาจต่างไปเล็กน้อย แต่สคริปต์ยังคงอยู่ภายใต้การดำเนินการแบบกลุ่ม
การเพิ่มสคริปต์ในบัญชีเดียว
- เปิด Tools แล้วไปที่ Bulk actions และ Scripts
- คลิกปุ่มบวกเพื่อสร้างสคริปต์ใหม่ และตั้งชื่อที่ชัดเจนในช่อง "Script name" ชื่อที่บอกว่าทำอะไรและทำบ่อยแค่ไหน (เช่น "ตรวจ URL เสียรายวัน หยุดและส่งอีเมล") จะช่วยลดความสับสนในภายหลัง
- วางหรือเขียนโค้ดในเอดิเตอร์ เอดิเตอร์ในตัวมีระบบเติมคำอัตโนมัติ คำแนะนำไวยากรณ์ และการจัดย่อหน้า ช่วยจับคำพิมพ์ผิดก่อนการรันครั้งแรก
- คลิก Authorize now เหนือเอดิเตอร์และให้สิทธิ์เข้าถึง Google จะขอขั้นตอนนี้หนึ่งครั้งต่อหนึ่งสคริปต์ และสคริปต์จะทำงานด้วยสิทธิ์ของคนที่ให้สิทธิ์
- คลิก Preview ก่อนคลิก Run script now ทุกครั้ง
โหมดดูตัวอย่างทำอะไร และไม่ได้ทำอะไร
เอกสารสำหรับนักพัฒนาของ Google ระบุว่าสคริปต์ที่รันในโหมดดูตัวอย่างจะไม่เปลี่ยนแปลงข้อมูลแคมเปญจริง แต่จะแสดงรายการสิ่งที่จะถูกเปลี่ยนแปลงแทน การป้องกันนี้ครอบคลุมเฉพาะคำสั่งที่ผ่าน AdsApp เท่านั้น อีเมลที่ส่งผ่าน MailApp จะยังถูกส่งจริงในโหมดดูตัวอย่าง และสเปรดชีตก็ยังถูกอัปเดตจริง ถ้าสคริปต์ส่งอีเมลถึงรายชื่อลูกค้าหรือเขียนทับชีตที่ใช้ร่วมกัน โหมดดูตัวอย่างก็จะทำสิ่งนั้นจริงๆ สคริปต์ตรวจได้ว่ากำลังอยู่ในโหมดดูตัวอย่างหรือไม่ผ่านเมธอด isPreview() ของออบเจกต์ ExecutionInfo ซึ่งควรใช้ครอบการทำงานใดๆ ที่ออกไปนอก Google Ads
โหมดดูตัวอย่างยังมีกับดักทางตรรกะ ถ้าสคริปต์สร้างคีย์เวิร์ดแล้วพยายามเลือกคีย์เวิร์ดนั้นในอีกไม่กี่บรรทัดต่อมา โหมดดูตัวอย่างจะหาไม่เจอ เพราะคีย์เวิร์ดไม่เคยถูกบันทึกจริง โค้ดที่อาศัยการเปลี่ยนแปลงก่อนหน้าของตัวเองจึงอาจทำงานต่างกันระหว่างโหมดดูตัวอย่างกับการรันจริง
การตั้งเวลา
หน้าความช่วยเหลือของ Google ระบุตัวเลือกการตั้งเวลาไว้ว่า ครั้งเดียว รายวัน รายสัปดาห์ หรือรายเดือน ณ ชั่วโมงที่เลือก ในหน้า Scripts ให้วางเมาส์เหนือค่า Frequency ของสคริปต์ คลิกไอคอนดินสอ ตั้งวันที่ วันในสัปดาห์ หรือเวลา แล้วบันทึก สคริปต์เฝ้าระวังมักรันรายวัน สคริปต์สรุปผลรายเดือนรันรายเดือน และสคริปต์เก็บกวาดครั้งเดียวรันแบบครั้งเดียว
สคริปต์ในบัญชีดูแลจัดการ
บัญชีดูแลจัดการสามารถมีสคริปต์ที่ทำงานกับบัญชีลูกค้าหลายบัญชีพร้อมกันได้ คุณต้องมีบัญชีดูแลจัดการจึงจะรันสคริปต์ประเภทนี้ได้ และโค้ดจะใช้ AdsManagerApp เลือกบัญชี ซึ่งมักกรองด้วยป้ายกำกับ ก่อนสลับเข้าไปทำงานในแต่ละบัญชี Google ระบุว่าในโครงสร้างที่มีบัญชีดูแลจัดการระดับบนสุดและบัญชีดูแลจัดการย่อย การดำเนินการแบบกลุ่มที่บัญชีระดับบนสุดเป็นเจ้าของจะมองเห็นได้เฉพาะบัญชีนั้น บัญชีดูแลจัดการย่อยและบัญชีลูกค้าด้านล่างจะไม่เห็น ข้อนี้มีประโยชน์ในการรวมการควบคุมไว้ที่เดียว แต่ก็หมายความว่าคนที่ทำงานในบัญชีลูกค้าจะมองไม่เห็นสคริปต์เหล่านั้น
ขีดจำกัดด้านเวลารันและโควตามีอะไรบ้าง
Google เผยแพร่ขีดจำกัดไว้ในเว็บไซต์นักพัฒนาของ Google Ads scripts และเตือนว่าตัวเลขอาจเปลี่ยนได้โดยไม่แจ้งล่วงหน้า ตัวเลขด้านล่างตรวจสอบกับหน้านั้นแล้วสำหรับบทความนี้
- เวลาการทำงาน: สคริปต์ในบัญชี Google Ads จะถูกหยุดหลัง 30 นาที สคริปต์ในบัญชีดูแลจัดการที่ใช้ executeInParallel พร้อม callback รันได้สูงสุด 60 นาที การเปลี่ยนแปลงที่เกิดขึ้นก่อนถูกตัดยังคงมีผล สคริปต์ที่หมดเวลากลางคันจึงอาจทิ้งบัญชีไว้ในสภาพแก้ไขไปแค่ครึ่งเดียว
- สคริปต์ที่ได้รับสิทธิ์: หนึ่งบัญชีมีสคริปต์ที่ได้รับสิทธิ์ได้ 250 สคริปต์ ถ้าเกินจำนวนนี้ สคริปต์ที่เก่ากว่าจะถูกถอนสิทธิ์ และให้สิทธิ์ใหม่ได้เมื่อมีคนเปิดสคริปต์นั้นอีกครั้ง
- Iterator: ตัวเลือก (selector) คืนผลลัพธ์ได้สูงสุด 50,000 รายการโดยค่าเริ่มต้น ปรับได้ด้วย withLimit()
- จำนวน ID ในตัวเลือก: withIds() ต้องได้รับ ID น้อยกว่า 10,000 รายการ ถ้าส่ง 10,000 รายการขึ้นไปจะเกิดข้อผิดพลาดขณะรัน
- บันทึกล็อก: ผลลัพธ์ล็อกจะถูกตัดที่ 100Kb
- สคริปต์บัญชีดูแลจัดการ: executeInParallel ประมวลผลได้สูงสุด 50 บัญชี และ processAccount แต่ละครั้งคืนข้อมูลได้สูงสุด 10MB แต่ละบัญชีที่ประมวลผลจะได้โควตาของตัวเอง
- การอัปโหลดแบบกลุ่ม: ไฟล์จำกัดที่ 50MB และหนึ่งล้านแถว และงานอัปโหลดจะหมดเวลาหลังสองชั่วโมง
รายงานที่ดึงผ่าน AdsApp.search ไม่อยู่ภายใต้ขีดจำกัดจำนวนรายการข้างต้น นี่เป็นเหตุผลหนึ่งที่สคริปต์ที่เขียนดีมักดึงข้อมูลด้วยคิวรี แทนการวนลูปทีละออบเจกต์นับพันรายการ นอกจากนี้ โควตาบริการของ Apps Script (เช่น การส่งอีเมลและการดึง URL) ก็มีผลซ้อนอยู่บนขีดจำกัดของ Google Ads ด้วย
ผลในทางปฏิบัติของขีดจำกัด 30 นาทีคือ สคริปต์ที่จัดการบัญชีขนาดใหญ่ควรทำงานหนักด้วยจำนวนคำสั่งให้น้อยที่สุด เช่น ใช้คิวรีเดียวดึงสถิติของทุกคีย์เวิร์ด แล้วค่อยแก้ไขเป็นชุด แทนการส่งคำขอแยกทีละคีย์เวิร์ด
สคริปต์แบบไหนควรเริ่มใช้ก่อน
เริ่มจากสคริปต์ที่อ่านข้อมูลและแจ้งเตือน แล้วค่อยเพิ่มสคริปต์ที่แก้ไขบัญชีเมื่อการแจ้งเตือนพิสูจน์แล้วว่าเชื่อถือได้ สคริปต์สามประเภทนี้ให้ประโยชน์ส่วนใหญ่ในช่วงแรก
การคุมจังหวะงบประมาณ (Budget pacing)
สคริปต์คุมจังหวะงบจะเทียบค่าใช้จ่ายสะสมของเดือนนี้กับเป้างบรายเดือนและจำนวนวันที่เหลือ ตัวอย่างสมมติ บัญชีที่มีงบรายเดือน 300,000 บาท และใช้ไปแล้ว 180,000 บาทในวันที่ 15 ของเดือนที่มี 30 วัน ถือว่าใช้งบเร็วกว่าจังหวะเฉลี่ย (จังหวะเฉลี่ยคือ 150,000 บาท) สคริปต์สามารถส่งอีเมลถึงทีม เขียนประมาณการลงชีต หรือในแบบที่เข้มงวดกว่านั้นคือลดงบรายวันลงตามสัดส่วน ควรเริ่มจากแบบส่งอีเมลก่อน เพราะงบประมาณมีผลต่อกลยุทธ์การเสนอราคา และการตัดงบอัตโนมัติอาจทำให้แคมเปญที่คนดูแลตั้งใจปกป้องไว้ขาดงบ
การตรวจ URL เสีย
สคริปต์ตรวจลิงก์จะรวบรวม Final URL ของโฆษณา คีย์เวิร์ด และไซต์ลิงก์ที่เปิดใช้งาน ส่งคำขอไปยังแต่ละ URL ด้วย UrlFetchApp และบันทึกรายการที่ตอบกลับด้วยสถานะข้อผิดพลาด เช่น 404 หรือ 500 แบบปลอดภัยคือส่งรายการทางอีเมล แบบเข้มข้นกว่าคือติดป้ายกำกับและหยุดโฆษณาที่หน้า Landing Page ล่ม แล้วเปิดใช้อีกครั้งเมื่อหน้าเว็บกลับมา นี่เป็นหนึ่งในสคริปต์แก้ไขไม่กี่ประเภทที่ให้เหตุผลได้ง่าย เพราะการจ่ายเงินซื้อคลิกไปยังหน้าที่เสียไม่มีประโยชน์ใดเลย ระวังเว็บไซต์ที่บล็อกคำขออัตโนมัติหรือต้องล็อกอิน เพราะอาจถูกรายงานว่าเสียทั้งที่ผู้เข้าชมจริงเปิดหน้าได้ตามปกติ
การแจ้งเตือนความผิดปกติ
สคริปต์ตรวจความผิดปกติจะเทียบคลิก ค่าใช้จ่าย Conversion หรือการแสดงผลของวันนี้หรือเมื่อวานกับวันเดียวกันของสัปดาห์ก่อนๆ และส่งอีเมลเมื่อตัวชี้วัดเปลี่ยนเกินเปอร์เซ็นต์ที่ตั้งไว้ สคริปต์นี้จับได้ทั้งแท็กติดตามที่หยุดทำงาน แคมเปญที่ถูกหยุดโดยไม่ตั้งใจ ค่าใช้จ่ายที่พุ่งขึ้นกะทันหัน หรือรูปแบบคลิกที่ไม่ถูกต้องที่ควรตรวจสอบเพิ่ม เกณฑ์มีความสำคัญ ถ้าแคบเกินไป ทีมจะเริ่มเพิกเฉยต่ออีเมล ถ้ากว้างเกินไป การแจ้งเตือนจะมาหลังความเสียหายเกิดขึ้นแล้ว ให้เริ่มจากเกณฑ์กว้างแล้วค่อยปรับให้แคบลงหลังจากดูผลไปสักสองสามสัปดาห์ว่าการแจ้งเตือนครั้งไหนเป็นเรื่องจริง
Google ยังเผยแพร่สคริปต์สำเร็จรูป (solution scripts) ไว้ในเว็บไซต์นักพัฒนา เช่น Account Summary Report ที่ให้ภาพรวมผลงานของทั้งบัญชีในหน้าเดียว การใช้สคริปต์ที่เผยแพร่อย่างเป็นทางการเป็นจุดเริ่มต้นปลอดภัยกว่าการคัดลอกโค้ดจากแหล่งที่ไม่รู้จัก เพราะคุณอ่านพฤติกรรมที่มีเอกสารกำกับได้ก่อนรัน
สคริปต์ กฎอัตโนมัติ หรือ Google Ads API ควรใช้อะไรเมื่อไร
ทั้งสามแบบช่วยทำงานใน Google Ads ให้เป็นอัตโนมัติ แต่เหมาะกับงานที่ต่างกัน
กฎอัตโนมัติ (Automated rules) สร้างในหน้าจอโดยไม่ต้องเขียนโค้ด ความช่วยเหลือของ Google อธิบายว่าใช้เปลี่ยนสถานะโฆษณา งบประมาณ ราคาเสนอ และอื่นๆ ตามเงื่อนไขที่คุณเลือก รวมถึงส่งอีเมลอัตโนมัติ กฎเหมาะกับการทำงานแบบเงื่อนไขเดียวที่เรียบง่าย เช่น "หยุดแคมเปญนี้ในวันที่กำหนด" หรือ "เพิ่มราคาเสนอของคีย์เวิร์ดนี้ถ้าหลุดจากหน้าแรก" แต่จะจัดการยากเมื่อตรรกะต้องมีหลายเงื่อนไข ต้องใช้ข้อมูลจากนอกบัญชี หรือต้องมองภาพรวมข้ามหลายบัญชี
สคริปต์ อยู่ตรงกลาง ต้องใช้ JavaScript แต่ไม่ต้องมีเซิร์ฟเวอร์ โฮสติ้ง หรือข้อมูลรับรองแยกต่างหาก เพราะสคริปต์ทำงานภายใน Google Ads ภายใต้ผู้ใช้ที่ให้สิทธิ์ สคริปต์รองรับตรรกะหลายขั้นตอน สเปรดชีต อีเมล และการตรวจ URL และรันข้ามบัญชีได้สูงสุด 50 บัญชีพร้อมกันจากบัญชีดูแลจัดการ
Google Ads API เหมาะกับซอฟต์แวร์ที่ทำงานอยู่นอก Google Ads เช่น แดชบอร์ดภายใน เครื่องมือเสนอราคา การเชื่อมต่อ CRM หรือผลิตภัณฑ์ที่จัดการบัญชีจำนวนมาก เอกสารของ Google ปัจจุบันผูกสิทธิ์การเข้าถึง API ไว้กับโปรเจกต์ Google Cloud โดยมีระดับการเข้าถึงที่เริ่มจากระดับทดสอบซึ่งเรียกใช้บัญชีจริงไม่ได้ และระดับที่สูงขึ้นต้องผ่านการตรวจสอบ API ไม่มีเพดานเวลารัน 30 นาทีแบบที่สคริปต์มี แต่คุณต้องโฮสต์ ดูแล และรักษาความปลอดภัยของโค้ดเอง
| ตัวเลือก | เหมาะกับ | ข้อจำกัดหลัก |
|---|---|---|
| กฎอัตโนมัติ | การเปลี่ยนแปลงแบบเงื่อนไขและการกระทำที่เรียบง่าย การหยุดตามตารางเวลา อีเมลแจ้งเตือนพื้นฐาน | ตรรกะจำกัด ใช้ข้อมูลจากภายนอกไม่ได้ |
| Google Ads scripts | การตรวจหลายขั้นตอน รายงานลงสเปรดชีต การตรวจ URL การแจ้งเตือนข้ามบัญชีลูกค้า | เวลารัน 30 นาที (60 นาทีสำหรับสคริปต์บัญชีดูแลจัดการบางแบบ) ต้องมีทักษะ JavaScript |
| Google Ads API | เครื่องมือภายนอก การเชื่อมต่อขนาดใหญ่ ผลิตภัณฑ์ที่จัดการบัญชีจำนวนมาก | ต้องตั้งค่าโปรเจกต์ Google Cloud ผ่านการตรวจสอบสิทธิ์ และโฮสต์ดูแลระบบเอง |
หลักง่ายๆ คือ ถ้ากฎทำได้ ให้ใช้กฎ ถ้าตรรกะต้องใช้ข้อมูลจากชีต เว็บไซต์ หรือหลายบัญชี ให้ใช้สคริปต์ ถ้าต้องอยู่ในซอฟต์แวร์ของคุณเอง ให้ใช้ API
ความเสี่ยงของการรันสคริปต์ที่แก้ไขบัญชีมีอะไรบ้าง
หน้าความช่วยเหลือของ Google เองเตือนว่าการเปลี่ยนแปลงที่สคริปต์ทำไม่สามารถย้อนกลับได้ ไม่มีปุ่ม "ย้อนกลับ" ปุ่มเดียวสำหรับการรันสคริปต์ ถ้าบั๊กทำให้คีย์เวิร์ดผิด 2,000 รายการถูกหยุด ก็ต้องตามหาและแก้กลับทีละรายการ ความเสี่ยงหลักและวิธีจำกัดความเสียหายมีดังนี้
- ตรรกะผิดในระดับใหญ่ เงื่อนไขที่เขียนว่า "มากกว่า" แทนที่จะเป็น "น้อยกว่า" จะกระทบชุดรายการผิดกลุ่มในทุกแคมเปญพร้อมกัน ให้ดูตัวอย่างสคริปต์แก้ไขทุกตัวและอ่านรายการเปลี่ยนแปลงทีละบรรทัดก่อนการรันจริงครั้งแรก
- การรันไม่ครบ เพราะการเปลี่ยนแปลงก่อนหมดเวลายังมีผล สคริปต์ที่ถูกตัดที่ 30 นาทีอาจทิ้งบัญชีไว้ในสภาพปนกัน ให้ประมวลผลตามลำดับที่คาดเดาได้และบันทึกสิ่งที่ทำไปแล้ว เพื่อให้การรันซ้ำทำต่อจากจุดที่หยุดได้
- ผลข้างเคียงในโหมดดูตัวอย่าง อีเมลและการเขียนชีตเกิดขึ้นจริงแม้ในโหมดดูตัวอย่าง ให้ครอบด้วย isPreview() หรือส่งไปยังอีเมลทดสอบและชีตทดสอบก่อน
- ขัดแย้งกับการเสนอราคาอัจฉริยะ สคริปต์ที่ปรับราคาเสนอหรืองบอยู่ตลอดอาจขัดกับกลยุทธ์การเสนอราคาอัตโนมัติที่ปรับอยู่เช่นกัน ให้กำหนดว่าระบบไหนเป็นเจ้าของคันโยกแต่ละตัว
- ความเป็นเจ้าของและสิทธิ์เข้าถึง สคริปต์ทำงานด้วยสิทธิ์ของคนที่ให้สิทธิ์ ถ้าคนนั้นลาออกและเสียสิทธิ์ สคริปต์อาจหยุดทำงาน ให้สิทธิ์สคริปต์ที่ใช้ร่วมกันภายใต้บัญชีที่ธุรกิจควบคุมได้ และเก็บโค้ดไว้ในที่ที่ทีมมองเห็น
- โค้ดที่ไม่รู้ที่มา สคริปต์ที่คัดลอกมาจากฟอรัมอาจส่งข้อมูลบัญชีไปยังที่อยู่ภายนอกผ่าน UrlFetchApp ให้อ่านโค้ดทุกบรรทัดก่อนให้สิทธิ์ โดยเฉพาะ URL ที่สคริปต์ติดต่อ
รูปแบบการทำงานที่ปลอดภัยคือติดป้ายกำกับให้ทุกอย่างที่สคริปต์เปลี่ยน (เช่น "script-paused-2026-11") เพื่อกรองรายการเหล่านั้นและย้อนกลับเป็นชุดได้เมื่อจำเป็น และส่งอีเมลสรุปหลังการรันทุกครั้งว่าเปลี่ยนอะไรไปบ้าง
Google Ads scripts ในตลาดไทย
บัญชีในไทยมีประเด็นเฉพาะบางข้อ ผู้ลงโฆษณาไทยจำนวนมากรันแคมเปญภาษาไทยและภาษาอังกฤษคู่กัน สคริปต์ที่จับคู่ชื่อแคมเปญหรือกลุ่มโฆษณาจึงควรใช้ป้ายกำกับแทนการจับคู่ข้อความ เพราะชื่อภาษาไทยและภาษาอังกฤษมักไม่ได้ตั้งตามรูปแบบเดียวกัน ข้อความภาษาไทยในอีเมลและชีตใช้ได้โดยไม่ต้องจัดการพิเศษ แต่ควรตรวจว่าไฟล์ CSV ที่ส่งออกเปิดด้วยการเข้ารหัส UTF-8 ไม่อย่างนั้นตัวอักษรไทยอาจแสดงเป็นสัญลักษณ์อ่านไม่ออก
ค่าฐานสำหรับตรวจความผิดปกติต้องระวังช่วงวันหยุดของไทย สงกรานต์ในเดือนเมษายนและวันหยุดยาวทำให้ปริมาณการค้นหาในหลายหมวดเปลี่ยนไป การแจ้งเตือนที่เทียบวันจันทร์ที่เป็นวันหยุดกับวันจันทร์ปกติจะเตือนโดยไม่มีประโยชน์ การตัดวันหยุดที่รู้ล่วงหน้าออกจากการเปรียบเทียบ หรือขยายเกณฑ์ในสัปดาห์เหล่านั้น จะทำให้การแจ้งเตือนยังมีความหมาย
เอเจนซี่และทีมภายในองค์กรในไทยที่ดูแลหลายแบรนด์หรือหลายตลาดจากบัญชีดูแลจัดการเดียว จะได้ประโยชน์จากสคริปต์บัญชีดูแลจัดการมากที่สุด สคริปต์คุมจังหวะงบหรือตรวจ URL เสียตัวเดียวครอบคลุมทุกบัญชีลูกค้าได้ ตราบใดที่แต่ละบัญชีติดป้ายกำกับถูกต้องและงานอยู่ภายในขีดจำกัดเวลารันที่ Google ระบุ
คำถามที่พบบ่อยเกี่ยวกับ Google Ads scripts
ต้องรู้ JavaScript ไหมถึงจะใช้ Google Ads scripts ได้
ต้องรู้ JavaScript พอที่จะอ่านและปรับสคริปต์ได้ แม้จะเริ่มจากตัวอย่างที่เผยแพร่ไว้ก็ตาม การเปลี่ยนเกณฑ์ อีเมล และป้ายกำกับเป็นเรื่องที่นักการตลาดส่วนใหญ่ทำได้ แต่การเขียนตรรกะแก้ไขบัญชีใหม่อย่างปลอดภัยต้องอาศัยคนที่คุ้นเคยกับการเขียนโค้ดและการทดสอบ
Google Ads scripts มีค่าใช้จ่ายไหม
ไม่มี สคริปต์เป็นส่วนหนึ่งของ Google Ads และ Google ไม่คิดค่าบริการในการรัน ต้นทุนที่มีคือเวลาในการเขียน ทดสอบ และดูแล รวมถึงความเสี่ยงที่ข้อผิดพลาดจะเปลี่ยนแปลงบัญชีที่ใช้งานจริง
Google Ads script รันได้นานแค่ไหน
สคริปต์ในบัญชี Google Ads บัญชีเดียวจะถูกหยุดหลัง 30 นาทีตามหน้าขีดจำกัดของ Google สคริปต์บัญชีดูแลจัดการที่ใช้ executeInParallel พร้อม callback รันได้สูงสุด 60 นาที และการเปลี่ยนแปลงที่ทำไปก่อนสคริปต์ถูกหยุดยังคงมีผล
โหมดดูตัวอย่างเปลี่ยนแปลงอะไรหรือไม่
โหมดดูตัวอย่างไม่เปลี่ยนแปลงข้อมูลแคมเปญที่จัดการผ่าน AdsApp แต่ยังส่งอีเมลและอัปเดตสเปรดชีตจริง ให้ถือว่าการทำงานใดๆ นอก Google Ads เกิดขึ้นจริงระหว่างโหมดดูตัวอย่าง
สคริปต์เดียวรันข้ามหลายบัญชีลูกค้าได้ไหม
ได้ สคริปต์ที่สร้างในบัญชีดูแลจัดการเลือกบัญชีลูกค้าด้วย AdsManagerApp และประมวลผลพร้อมกันได้สูงสุด 50 บัญชีด้วย executeInParallel แต่ละบัญชีได้โควตาของตัวเอง และป้ายกำกับเป็นวิธีที่ใช้กันทั่วไปในการเลือกว่าสคริปต์จะทำงานกับบัญชีไหน
สคริปต์ทำงานได้ดีที่สุดกับบัญชีที่มีโครงสร้างสะอาด การติดตาม Conversion ที่เชื่อถือได้ และแผนงบประมาณที่ชัดเจน ถ้าต้องการความช่วยเหลือในการตั้งระบบเฝ้าระวัง การคุมจังหวะงบ หรือการป้องกันคลิกปลอมรอบแคมเปญของคุณ ดูบริการดูแลโฆษณา Google Adsของ Relevant Audience หรือดูว่าโปรแกรม Relevant Search Google Ads วางโครงสร้างบัญชีและปรับปรุงประสิทธิภาพอย่างต่อเนื่องอย่างไร







