4.4 การจัดการแคมเปญ

เกริ่นนำ


คุณต้องทำให้ผู้ขายสามารถทำการเปลี่ยนแปลงในแคมเปญ หลังจากที่สร้างขึ้นแล้วได้ ส่วนที่สำคัญที่สุดที่ทีมควรเปลี่ยนได้มีดังนี้

  • งบประมาณ
  • สถานะ (หยุดชั่วคราว เปิดใช้ นำออก)
  • การกำหนดเป้าหมายตามภูมิศาสตร์ (แนะนำแต่ไม่บังคับ)
  • ช่องอื่นๆ ที่คุณรวมไว้ในอินเทอร์เฟซการสร้างแคมเปญ

คำแนะนำ UX


แสดงรายการแคมเปญในหน้าภาพรวมและหน้าแยกต่างหากเป็นส่วนหนึ่งของการรายงานประสิทธิภาพของแคมเปญ ให้ผู้ใช้หยุดชั่วคราว ลบ และแก้ไขแคมเปญ

pmax_campaign

การแก้ไขแคมเปญควรช่วยให้ผู้ขายแก้ไขช่องเดียวกันกับที่กรอกไว้ระหว่างการสร้างแคมเปญได้ ตัวอย่างลักษณะที่ปรากฏได้มีดังนี้

edit_pmax

คำแนะนำทางเทคนิค


เมื่อสร้างแคมเปญ Performance Max สำหรับธุรกิจค้าปลีกแล้ว คุณจะเปลี่ยนการตั้งค่าแคมเปญต่อไปนี้ได้

  • ชื่อแคมเปญ
  • งบประมาณแคมเปญ
  • Campaign status
  • เกณฑ์การกำหนดเป้าหมายแคมเปญ

ดูภาพรวมโดยละเอียดเกี่ยวกับวิธีเปลี่ยนแปลงทรัพยากรในคู่มือนักพัฒนาซอฟต์แวร์ คุณเปลี่ยนทรัพยากรที่เฉพาะเจาะจงได้โดยใช้ปลายทางของบริการที่เปิดเผยเพื่อกลายทรัพยากรนั้น (เช่น CampaignService.MutateCampaigns) หรือเปลี่ยนแปลงทรัพยากรต่างๆ โดยใช้ฟังก์ชันการเปลี่ยนแปลงแบบกลุ่มที่มีอยู่โดยใช้ปลายทาง GoogleAdsService.Mutate

หากทำได้ เราขอแนะนำให้เปลี่ยนรูปแบบจำนวนมากเพื่อลดจำนวนการดำเนินการที่จำเป็นในการอัปเดตแคมเปญ คุณจึงควรออกแบบสถาปัตยกรรมโดยใช้ปลายทาง GoogleAdsService.Mutate แทนปลายทางทรัพยากรแต่ละรายการ สิ่งนี้ยังช่วยให้ส่วนขยาย ฟังก์ชันต่างๆ ง่ายขึ้นในอนาคต

ในตัวอย่างถัดๆ ไป เราจะถือว่าคุณมีรหัสที่เกี่ยวข้องซึ่งจัดเก็บอยู่ในฐานข้อมูลท้องถิ่นแล้ว

ชื่อแคมเปญ

หากต้องการอัปเดตชื่อแคมเปญ คุณจะต้องเปลี่ยนแปลงช่อง Campaign.name

โดยต้องไม่มีอักขระ Null (จุดโค้ด 0x0), ฟีดบรรทัด NL (จุดโค้ด 0xA) หรืออักขระขึ้นบรรทัดใหม่ (จุดโค้ด 0xD)

งบประมาณแคมเปญ

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

คุณควรอัปเดตค่าของงบประมาณเท่านั้นและไม่เปลี่ยนแปลงช่องอื่นๆ ซึ่งจะทำให้มูลค่าของการใช้จ่ายรายวันเพิ่มขึ้น

Python
budget_resource_name = client.get_service(
        "CampaignBudgetService"
    ).campaign_budget_path(customer_id, budget_id)

mutate_operation = client.get_type("MutateOperation")
campaign_budget = mutate_operation.campaign_budget_operation.update

campaign_budget.resource_name = budget_resource_name

# update the budget amount to the new value

campaign_budget.amount_micros = 50000000

client.copy_from(
    mutate_operation.campaign_budget_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_budget._pb),
)
return mutate_operation

Campaign status

หากต้องการอัปเดตสถานะ (เปิดใช้/หยุดชั่วคราว/นำออก) ของแคมเปญ คุณต้องเปลี่ยนแปลงช่อง Campaign.status และกำหนดสถานะที่เกี่ยวข้องจาก enum CampaignStatus

ดูตัวอย่างการเปลี่ยนแปลงสถานะแคมเปญได้ในโค้ดตัวอย่างสำหรับอัปเดตแคมเปญ

เกณฑ์แคมเปญ

เมื่อคุณอัปเดตเกณฑ์แคมเปญ คุณเพียงแค่ต้องทำให้การอัปเดตเกณฑ์ที่แสดงต่อผู้ใช้ ต้องมีการกำหนดเป้าหมายตามภูมิศาสตร์และการกำหนดเป้าหมายภาษาเป็นอย่างน้อย ดูตัวอย่างการอัปเดตเกณฑ์ของแคมเปญได้ในโค้ดตัวอย่างสำหรับอัปเดตตัวปรับราคาเสนอสำหรับเกณฑ์ของแคมเปญ

หากต้องการอัปเดตเกณฑ์การกำหนดเป้าหมายตามภูมิศาสตร์ คุณต้องอัปเดต CampaignCriterion.location เป็นค่าคงที่ของเป้าหมายตามภูมิศาสตร์ใหม่

Python
criterion_rname = client.get_service(
    "CampaignCriterionService"
    ).campaign_criterion_path(
    customer_id, campaign_id, criterion_id
)

mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update

campaign_criterion.resource_name = criterion_rname

# Set the geo to the update geo targeting

campaign_criterion.location.geo_target_constant = (
   geo_target_constant_service.geo_target_constant_path("1022762")
) # Brooklyn

client.copy_from(
    mutate_operation.campaign_criterion_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation

หากต้องการอัปเดตเกณฑ์การกำหนดภาษาเป้าหมาย คุณต้องอัปเดตค่าของค่า CampaignCriterion.language เป็นค่าคงที่ของภาษาใหม่

Python
campaign_criterion_service = client.get_service("CampaignCriterionService")

criterion_rname = campaign_criterion_service.campaign_criterion_path(
   customer_id, campaign_id, criterion_id
)

mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update

campaign_criterion.resource_name = criterion_rname

# Set the language to the updated language
# For a list of all language codes, see:
# https://developers.google.com/google-ads/api/data/codes-formats#languages
campaign_criterion.language.language_constant = (
    googleads_service.language_constant_path("1000")
)  # English

client.copy_from(
    mutate_operation.campaign_criterion_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation