การใช้บริการเฉพาะของทรัพยากรเป็นวิธีที่ตรงที่สุดในการสร้าง อัปเดต หรือนำเอนทิตีของทรัพยากรประเภทเดียวใน Google Ads API ออก
ปลายทางการเปลี่ยนแปลง
ทรัพยากรที่เปลี่ยนแปลงได้แต่ละรายการจะมีบริการและประเภทการดำเนินการที่เกี่ยวข้อง หากต้องการเปลี่ยนแปลง ทรัพยากรโดยใช้บริการเฉพาะของทรัพยากรนั้น ให้ป้อนข้อมูลในช่องใดช่องหนึ่งต่อไปนี้ใน การดำเนินการ แล้วส่งไปยังปลายทางการเปลี่ยนแปลงของบริการ
- สร้าง (
create): ออบเจ็กต์ทรัพยากรใหม่ที่จะสร้าง - อัปเดต (
update): ออบเจ็กต์ทรัพยากรที่แก้ไข พร้อมด้วยupdate_maskที่ระบุฟิลด์ที่เปลี่ยนแปลง - นำออก (
remove): สตริงresource_nameของทรัพยากรเป้าหมายที่จะ นำออก
เช่น หากต้องการสร้าง Campaign ใหม่ ให้ทำตามขั้นตอนต่อไปนี้
- สร้างออบเจ็กต์
Campaignด้วยแอตทริบิวต์ที่คุณเลือก - กำหนดให้กับฟิลด์
createของCampaignOperation - ส่งการดำเนินการใน
MutateCampaignsRequestไปยังCampaignService.MutateCampaigns
รูปแบบเดียวกันนี้ใช้กับบริการเฉพาะทรัพยากรทั้งหมดใน Google Ads API ดังนี้
AdGroup: ส่งAdGroupOperationไปยังAdGroupService.MutateAdGroupsCampaignCriterion: ส่งCampaignCriterionOperationไปยังCampaignCriterionService.MutateCampaignCriteria
เพย์โหลด JSON ของ REST ต่อไปนี้แสดงคำขอไปยัง
CampaignService.MutateCampaigns
{
"customerId": "CUSTOMER_ID",
"operations": [
{
"create": {
"name": "Interplanetary Cruise #1",
"advertisingChannelType": "SEARCH",
"status": "PAUSED",
"manualCpc": {},
"campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/BUDGET_ID",
"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
}
}
],
"partialFailure": false,
"validateOnly": false
}
การดำเนินการและข้อจำกัดหลายอย่าง
เนื่องจากฟิลด์ operations ของคำขอเปลี่ยนแปลงข้อมูลในเซิร์ฟเวอร์ซ้ำกัน คำขอเดียวจึงมีการดำเนินการหลายอย่างได้ (สูงสุด 10,000 รายการต่อคำขอ) สำหรับประเภททรัพยากรนั้น โดยค่าเริ่มต้น การดำเนินการทั้งหมดในคำขอจะดำเนินการแบบอะตอม
เว้นแต่คุณจะตั้งค่า partial_failure เป็น true
อย่างไรก็ตาม บริการทรัพยากรแต่ละรายการมีข้อจำกัดที่สำคัญ 2 ประการดังนี้
- ประเภททรัพยากรเดียว: คำขอไปยังบริการทรัพยากรจะเปลี่ยนแปลงได้เฉพาะ ทรัพยากรที่จัดการโดยบริการนั้นๆ
- ไม่มีรหัสทรัพยากรชั่วคราวหรือการอ้างอิงโยง: การดำเนินการในการเรียกใช้ mutate ที่เฉพาะเจาะจงทรัพยากรจะได้รับการประมวลผลโดยอิสระ คุณไม่สามารถกําหนดรหัสลบชั่วคราว (เช่น
customers/CUSTOMER_ID/campaigns/-1) หรือ อ้างอิงเอนทิตีที่สร้างขึ้นใหม่จากการดําเนินการอื่นๆ ในคําขอเดียวกันได้
หากต้องการเปลี่ยนแปลงทรัพยากรหลายประเภทในคำขอเดียวหรืออ้างอิงชื่อทรัพยากรชั่วคราวในการดำเนินการที่ขึ้นต่อกัน ให้ใช้ GoogleAdsService.Mutate แทน
ความแตกต่างเฉพาะเวอร์ชัน
โปรดคำนึงถึงความแตกต่างต่อไปนี้ใน Google Ads API เวอร์ชันที่รองรับเมื่อ เปลี่ยนแปลงทรัพยากร
- บริการเป้าหมายวงจรลูกค้า: ใน v25 ขึ้นไป เป้าหมายวงจรลูกค้าทั้งหมด ซึ่งรวมถึง
การได้ลูกค้าใหม่ (
new_customer_acquisition_goal_settings) การรักษาลูกค้า (retention_goal_settings) และการรักษาความภักดี (loyalty_retention_goal_settings) จะได้รับการเปลี่ยนแปลงผ่านGoalService.MutateGoalsและCampaignGoalConfigService.MutateCampaignGoalConfigsโดยใช้ฟิลด์operationsที่ทำซ้ำมาตรฐาน ซึ่งจะแทนที่CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoalsและCampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals(ซึ่งใช้สำหรับการได้ลูกค้าใหม่ใน v24 และเวอร์ชันก่อนหน้า และยอมรับฟิลด์operationเดียว) - ฟิลด์วันที่และเวลาของแคมเปญ: เมื่อสร้างหรืออัปเดต
Campaignv23 ขึ้นไปจะใช้start_date_timeและend_date_time(yyyy-MM-dd HH:mm:ss) แทนฟิลด์วันที่เท่านั้นstart_dateและend_dateที่ใช้ใน v22 - ความสามารถในการเปลี่ยนแปลงการรับรองเนื้อหาสังเคราะห์: แม้ว่า
Asset.synthetic_content_infoและAd.synthetic_content_infoจะปรากฏใน สคีมาสำหรับ v22 ขึ้นไป แต่ฟิลด์synthetic_content_info.advertiser_attestation.statusและsynthetic_content_info.advertiser_attestation.sourceจะ เปลี่ยนแปลงได้ใน v23 ขึ้นไปเท่านั้น (system_attestationจะเป็นOUTPUT_ONLYเสมอ) การพยายามเปลี่ยนแปลงฟิลด์ย่อยadvertiser_attestationใน v22 จะทำให้เกิดข้อผิดพลาดเกี่ยวกับฟิลด์ที่เปลี่ยนแปลงไม่ได้ ("The field attempted to be mutated is immutable"หรือ"Field cannot be set")