เมื่อทำงานกับตัวกรองกลุ่มรายชื่อในบริบทของ AdGroupCriterion.listing_group หรือ AssetGroupListingGroupFilter โปรดคำนึงถึงข้อควรพิจารณาต่อไปนี้เมื่อออกแบบการผสานรวม
การแยกกลุ่ม
หากมีการดำเนินการใดๆ ในงานแบบกลุ่มที่มีเกณฑ์กลุ่มโฆษณาหรือตัวกรองกลุ่มรายชื่อของกลุ่มชิ้นงาน การดำเนินการในงานแบบกลุ่มจะแบ่งออกเป็นกลุ่มย่อยหลายกลุ่มเมื่อเซิร์ฟเวอร์ Google Ads API ได้รับ การดำเนินการย่อยแต่ละรายการที่มีการดำเนินการตัวกรองกลุ่มรายชื่อจะได้รับการดำเนินการแบบอะตอมมิก ซึ่งต่างจากการดำเนินการมาตรฐานในงานแบบกลุ่ม
ปัจจัยต่อไปนี้เป็นตัวกำหนดวิธีแบ่งงานแบบกลุ่มที่มีตัวกรองกลุ่มรายชื่อออกเป็นกลุ่มย่อย
- ประเภทตัวกรองกลุ่มรายชื่อ
AdGroupหรือAssetGroupที่ตัวกรองกลุ่มรายชื่อกำหนดเป้าหมายอยู่- ลำดับการดำเนินการ
พิจารณาวิธีจัดกลุ่มการดำเนินการดังนี้
- การดำเนินการ
AssetGroupListingGroupFilterOperationที่ต่อเนื่องกันทั้งหมด (create,updateและremove) ซึ่งกำหนดเป้าหมายเป็นAssetGroupเดียวกันจะจัดกลุ่มรวมกันในกลุ่มย่อยแบบอะตอม (ไม่มีลักษณะการทำงานที่ล้มเหลวบางส่วน) - การดำเนินการ
AdGroupCriterionOperationทั้งหมดที่ต่อเนื่องกัน (create,updateและremove) สำหรับเกณฑ์LISTING_GROUP(AdGroupCriterion.listing_group) ที่กำหนดเป้าหมายเป็นAdGroupเดียวกันจะจัดกลุ่มรวมกันในกลุ่มย่อยแบบอะตอม (ไม่มีลักษณะการทำงานที่ล้มเหลวบางส่วน) - การดำเนินการต่อเนื่องอื่นๆ ทั้งหมดจะจัดกลุ่มรวมกันในกลุ่มย่อยที่ไม่ใช่แบบอะตอม (ลักษณะการทำงานที่ล้มเหลวบางส่วน)
แผนภาพต่อไปนี้แสดงแนวคิดนี้ กล่องสีเทาแต่ละกล่องแสดงถึงงานแบบกลุ่มที่ส่งโดยใช้ Google Ads API ภายในกล่องสีเทา การดำเนินการแต่ละรายการจะจัดกลุ่มตามสีเพื่อแสดงถึงกลุ่มย่อยที่เซิร์ฟเวอร์ Google Ads API สร้างขึ้น ลำดับการดำเนินการในกล่องสีเทาแต่ละกล่องจะสอดคล้องกับลำดับการเพิ่มการดำเนินการลงในงานแบบกลุ่ม
ข้อจำกัด
เมื่อทำงานกับตัวกรองกลุ่มรายชื่อในบริบทของงานแบบกลุ่ม จะมีข้อจำกัดต่อไปนี้
- ชุดย่อยแบบอะตอมมิกชุดเดียวของการดำเนินการ
AdGroupCriterionOperation(create,updateและremove) ที่ต่อเนื่องกันสำหรับเกณฑ์LISTING_GROUP(AdGroupCriterion.listing_group) ที่กำหนดเป้าหมายไปยังAdGroupเดียวกันต้องมีความยาวไม่เกิน 20,000 รายการ แต่เราขอแนะนำว่าไม่ควรดำเนินการเกิน 10,000 รายการ เนื่องจากAddBatchJobOperationsRequestแต่ละรายการถูกจำกัดไว้ที่ 10,000 การดำเนินการ ชุดย่อยAdGroupที่มีการดำเนินการ 10,001 ถึง 20,000 รายการจึงต้องอัปโหลดในคำขอAddBatchJobOperationsที่ต่อเนื่องกันอย่างน้อย 2 รายการ - ชุดย่อยแบบอะตอมมิกชุดเดียวของการดำเนินการ
AssetGroupListingGroupFilterOperationที่ต่อเนื่องกัน (create,updateและremove) ซึ่งกำหนดเป้าหมายเป็นAssetGroupเดียวกันต้องมีการดำเนินการไม่เกิน 10,000 รายการ - การละเมิดขีดจำกัดจำนวนการดำเนินการเหล่านี้ (หรือเกินขีดจำกัดขนาดไบต์ที่เรียงลำดับภายในของเซิร์ฟเวอร์สำหรับกลุ่มย่อยเดียว) จะยกเลิกงานแบบกลุ่มที่กลุ่มย่อยนั้น โดยกลุ่มย่อยก่อนหน้าที่เสร็จสมบูรณ์แล้วจะยังคงได้รับการคอมมิต ในขณะที่การดำเนินการทั้งหมดในกลุ่มย่อยที่ละเมิดและกลุ่มย่อยที่ตามมาจะล้มเหลวโดยมีข้อผิดพลาด
InternalError.INTERNAL_ERROR
การแก้ปัญหา
การดำเนินการกับตัวกรองกลุ่มรายชื่อในงานแบบกลุ่มจะได้รับการประมวลผลเป็นธุรกรรมเดียว ซึ่งอาจทำให้เกิดสถานการณ์ที่การดำเนินการหลายรายการไม่สำเร็จเนื่องจากการดำเนินการที่ผิดพลาดจำนวนเล็กน้อย นอกจากนี้ เนื่องจากวิธีการประมวลผลการดำเนินการ BatchJob สาเหตุของปัญหาที่ทำให้การดำเนินการไม่สำเร็จอาจปรากฏที่ดัชนีก่อนหรือหลังการดำเนินการที่ล้มเหลวในขั้นปลายน้ำ
ตัวอย่างเช่น เมื่อประมวลผลการตอบกลับจาก ListBatchJobResults
- สำหรับกลุ่มรายชื่อ
AdGroupCriterionOperationคุณอาจพบว่าการดำเนินการติดต่อกันที่กำหนดเป้าหมายAdGroupเดียวกันไม่สำเร็จเนื่องจากCriterionError.LISTING_GROUP_ERROR_IN_ANOTHER_OPERATION(Product group operations are atomic within the same ad group. This operation failed because another operation targeting the same ad group ID was invalid.) - สำหรับการดำเนินการ
AssetGroupListingGroupFilterOperationคุณอาจพบว่าการดำเนินการที่ต่อเนื่องกันซึ่งกำหนดเป้าหมายเป็นAssetGroupเดียวกันล้มเหลวพร้อมกับBatchJobError.ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILURE
ข้อผิดพลาดเหล่านี้บ่งชี้ว่าการดำเนินการที่ดัชนีนั้นถูกย้อนกลับเนื่องจากการดำเนินการอื่นในกลุ่มย่อยแบบอะตอมเดียวกันล้มเหลว หากต้องการระบุสาเหตุของปัญหา ให้ทำซ้ำผ่านข้อความ status ในแต่ละ BatchJobResult ทั้งก่อนและหลัง operation_index ของข้อผิดพลาดของธุรกรรม สำหรับการดำเนินการที่ใช้รหัส AdGroup หรือ AssetGroup เดียวกัน