สคริปต์ Google Ads ช่วยให้คุณจัดการแคมเปญ Shopping ได้ คุณสามารถใช้สคริปต์เพื่อทำงานกับแคมเปญ Shopping ที่มีอยู่ สร้างและจัดการลําดับชั้นของกลุ่มสินค้า รวมถึงเรียกใช้รายงาน Shopping อย่างไรก็ตาม คุณไม่สามารถใช้สคริปต์เพื่อสร้างแคมเปญ Shopping, ตั้งค่าพร็อพเพอร์ตี้ Shopping ที่ระดับแคมเปญ (เช่น ลําดับความสําคัญของแคมเปญ, ตัวกรองพื้นที่โฆษณา ฯลฯ) หรือลิงก์บัญชี Merchant Center ได้
ดึงข้อมูลแคมเปญ Shopping และกลุ่มโฆษณา
แคมเปญ Shopping พร้อมใช้งานผ่านคอลเล็กชัน shoppingCampaigns
ของออบเจ็กต์ AdsApp คุณสามารถดึงข้อมูลแคมเปญได้ตามปกติผ่านสคริปต์ ดังนี้
const campaignName = "My first shopping campaign";
const campaignIterator = AdsApp.shoppingCampaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
for (const campaign of campaignIterator) {
...
}
เมื่อดึงข้อมูลแคมเปญแล้ว คุณจะดึงข้อมูลกลุ่มโฆษณาของแคมเปญได้ในลักษณะเดียวกัน วิธีนี้เหมาะสำหรับกรณีที่คุณต้องการดำเนินการกับทั้งแคมเปญและกลุ่มโฆษณา
const adGroupIterator = campaign.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const adGroup of adGroupIterator) {
...
}
หากวางแผนที่จะดำเนินการกับกลุ่มโฆษณาที่เฉพาะเจาะจงเท่านั้น คุณสามารถใช้
AdsApp.shoppingAdGroups()วิธี
เพื่อดึงข้อมูลกลุ่มโฆษณาโดยไม่ต้องดึงข้อมูลแคมเปญก่อนได้
const adGroupIterator = AdsApp.shoppingAdGroups()
.withCondition(`campaign.name = "${campaignName}"`)
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
for (const adGroup of adGroupIterator) {
...
}
โฆษณาสินค้า
สคริปต์ Google Ads ช่วยให้คุณดึงข้อมูล โฆษณาสินค้าได้โดยใช้วิธี ads()
ของ ShoppingAdGroup คุณสามารถ สร้าง โฆษณาผลิตภัณฑ์ใหม่ได้โดยใช้
วิธี newAdBuilder() ของ ShoppingAdGroup
วนซ้ำตามลําดับชั้นของกลุ่มสินค้า
คุณสามารถเข้าถึงรากของลําดับชั้นของกลุ่มสินค้าได้โดยใช้วิธี
rootProductGroup ของ ShoppingAdGroup จากนั้นใช้
เมธอด children เพื่อวนซ้ำกลุ่มสินค้าย่อยและข้ามผ่านลําดับชั้นของกลุ่มสินค้า
แต่ละโหนดเป็นออบเจ็กต์ ProductGroup และคุณสามารถ
ใช้วิธี getDimension เพื่อดูประเภทที่แท้จริงของกลุ่มสินค้า
ได้ นอกจากนี้ คุณยังแปลงเป็นประเภทที่เฉพาะเจาะจงมากขึ้น (เช่น
ProductBrand) ได้โดยใช้วิธีการแปลงที่เกี่ยวข้อง (เช่น
asBrand) ตัวอย่างโค้ดต่อไปนี้แสดงวิธีข้ามผ่าน
ลําดับชั้นของกลุ่มสินค้าแบบเรียกซ้ำ
walkTree(shoppingAdGroup.rootProductGroup(), 1);
function walkTree(root, level) {
// Logger.log(root.getDimension());
let description = "";
switch (root.getDimension()) {
case "ROOT":
description = "Root";
break;
case "CATEGORY":
description = root.asCategory().getName();
break;
case "BRAND":
description = root.asBrand().getName();
break;
// Handle more types here.
...
}
if (root.isOtherCase()) {
description = "Other";
}
const padding = new Array(level + 1).join('-');
console.log("%s, %s, %s, %s, %s, %s",
padding,
description,
root.getDimension(),
root.getMaxCpc(),
root.isOtherCase(),
root.getId().toFixed());
const children = root.children().get();
for (const child of children) {
walkTree(child, level + 1);
}
}
เลือกกลุ่มสินค้าที่เฉพาะเจาะจง
คุณสามารถเลือกกลุ่มสินค้าที่เฉพาะเจาะจงในลําดับชั้นของกลุ่มสินค้าได้ด้วยวิธี
productGroups ของอินสแตนซ์ AdsApp, ShoppingCampaign หรือ
ShoppingAdGroup วิธีนี้ง่ายกว่าการข้ามผ่านลําดับชั้นของกลุ่มสินค้าทั้งหมดเมื่อเลือกกลุ่มสินค้าที่เฉพาะเจาะจงเพื่อวัตถุประสงค์ในการจัดการราคาเสนอ ตัวอย่างข้อมูลโค้ดต่อไปนี้แสดงวิธีเลือกกลุ่มสินค้าทั้งหมดที่มีการคลิกมากกว่า 5 ครั้งและอัตราการคลิกผ่านมากกว่า 0.01 ในช่วงเดือนที่ผ่านมา และเพิ่มราคาเสนอของกลุ่มสินค้าเหล่านั้น 0.01
function main() {
const productGroups = AdsApp.productGroups()
.withCondition("metrics.clicks > 5")
.withCondition("metrics.ctr > 0.01")
.forDateRange("LAST_MONTH")
.get();
for (const productGroup of productGroups) {
productGroup.setMaxCpc(productGroup.getMaxCpc() + 0.01);
}
}
อัปเดตลําดับชั้นของกลุ่มสินค้า
คุณสามารถเพิ่มกลุ่มสินค้าย่อยลงในกลุ่มสินค้าที่มีอยู่ได้โดยใช้วิธี
newChild ของกลุ่มสินค้า วิธีนี้จะให้คุณได้รับProductGroupBuilderSpace
ออบเจ็กต์ ซึ่งคุณสามารถใช้สร้างกลุ่มสินค้าที่เหมาะสมได้ ข้อมูลโค้ดต่อไปนี้จะเพิ่มกลุ่มย่อยสําหรับแบรนด์ "cardcow" ภายใต้รูท จากนั้นแบ่งย่อยเพิ่มเติมสําหรับผลิตภัณฑ์ใหม่และผลิตภัณฑ์ที่ได้รับการซ่อมแซมใหม่
const root = shoppingAdGroup.rootProductGroup();
// Add a brand product group for a "cardcow" under root.
const brandProductGroup = root.newChild()
.brandBuilder()
.withName("cardcow")
.withBid(1.2)
.build()
.getResult();
// Add new conditions for New and Refurbished cardcow brand items.
const newItems = brandProductGroup.newChild()
.conditionBuilder()
.withCondition("New")
.withBid(1.5)
.build()
.getResult();
// Refurbished items will use the bid from "cardcow" product group.
const refurbishedItems = brandProductGroup.newChild()
.conditionBuilder()
.withCondition("Refurbished")
.build()
.getResult();
ในทํานองเดียวกัน คุณสามารถนำส่วนย่อยออกได้โดยใช้วิธี remove ของ
ProductGroup วิธีนี้จะลบลําดับชั้นของกลุ่มสินค้าทั้งหมดภายใต้กลุ่มสินค้าที่ถูกนำออกด้วย
สคริปต์จะตรวจสอบว่าลําดับชั้นของกลุ่มสินค้าอยู่ในสถานะที่สอดคล้องกันหลังจากสร้างกลุ่มสินค้าแต่ละกลุ่ม ดังนั้นคุณจึงไม่จําเป็นต้องสร้างหรือลบกลุ่มสินค้าที่สอดคล้องกับ "อื่นๆ ที่เหลือ" เมื่ออัปเดตโครงสร้างลําดับชั้นของกลุ่มสินค้า
กลุ่มสินค้า "อื่นๆ ที่เหลือ"
ลําดับชั้นของกลุ่มสินค้า Shopping จะมีกลุ่มสินค้า "อื่นๆ ที่เหลือ" ("อื่นๆ") ในแต่ละระดับเพื่อจัดการสินค้าที่ไม่ตรงกับเงื่อนไขที่กําหนดเองที่คุณสร้างขึ้นในลําดับชั้นของกลุ่มสินค้า คุณสามารถใช้วิธี
isOtherCase เพื่อแยกความแตกต่างระหว่างกลุ่มสินค้าปกติที่คุณเพิ่มกับกลุ่มสินค้า "อื่นๆ"
ข้อมูลโค้ดต่อไปนี้จะดึงข้อมูลกลุ่มสินค้า "อื่นๆ" ภายใต้ลําดับชั้นของกลุ่มสินค้าหลัก และส่งเข้าจอราคาเสนอของกลุ่มสินค้า
const root = shoppingAdGroup.rootProductGroup();
const childProductGroups = root.children().get();
let everythingElseProductGroupFound = false;
for (const childProductGroup of childProductGroups) {
if (childProductGroup.isOtherCase()) {
console.log("'Everything else' product group found. Type of the " +
"product group is %s and bid is %s.",
childProductGroup.getDimension(),
childProductGroup.getMaxCpc());
everythingElseProductGroupFound = true;
break;
}
}
if (!everythingElseProductGroupFound) {
console.log("No 'Everything else' product group found under root " +
"product group.");
}
เมื่อคุณแบ่งย่อยกลุ่มสินค้าใบไม้ สคริปต์จะสร้างกลุ่มสินค้า "อื่นๆ" โดยอัตโนมัติเพื่อให้แน่ใจว่าลําดับชั้นของกลุ่มสินค้ายังคงถูกต้อง กลุ่มสินค้า "อื่นๆ" จะรับช่วงราคาเสนอของกลุ่มสินค้าหลัก
สร้างกลุ่มโฆษณา Shopping ใหม่
สคริปต์ Google Ads ช่วยให้คุณสร้างกลุ่มโฆษณา Shopping ใหม่ได้โดยใช้วิธี
newAdGroupBuilder ของ ShoppingCampaign เมื่อสร้าง
ShoppingAdGroup แล้ว คุณสามารถใช้วิธี createRootProductGroup
เพื่อสร้างลําดับชั้นของกลุ่มสินค้าใหม่ได้
รายงาน
สคริปต์ Google Ads รองรับ product_group_view และ
shopping_performance_view รายงานเพื่อช่วยคุณติดตามประสิทธิภาพของ
แคมเปญ Shopping ดูข้อมูลเพิ่มเติมเกี่ยวกับการรายงานได้ใน
คู่มือรายงาน