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

บทนำ


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

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

คำแนะนำ UX


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

pmax_campaign

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

edit_pmax

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


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

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

คุณสามารถดูภาพรวมโดยละเอียดเกี่ยวกับวิธีเปลี่ยนแปลงแหล่งข้อมูลใน คู่มือสำหรับนักพัฒนาซอฟต์แวร์ คุณเปลี่ยนทรัพยากรเฉพาะได้โดยใช้บริการที่เปิดเผย ปลายทางสำหรับเปลี่ยนรูปแบบทรัพยากรนั้น (เช่น 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 และกำหนดสถานะที่เกี่ยวข้องจาก 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