فلاتر مجموعات البيانات في المهام المجمّعة

عند استخدام فلاتر مجموعات بيانات التسجيل في سياق AdGroupCriterion.listing_group أو AssetGroupListingGroupFilter، يجب مراعاة ما يلي عند تصميم عملية الدمج.

التقسيم على دفعات

إذا كانت هناك أي عمليات في مهمة مجمّعة تحتوي على معايير مجموعات إعلانية أو فلاتر مجموعات إعلانية خاصة بقوائم مجموعات مواد العرض، يتم تقسيم العمليات في المهمة المجمّعة إلى مجموعات فرعية متعددة عند تلقّيها من خادم Google Ads API. يُرجى العِلم أنّه على عكس العمليات العادية في مهمة الدُفعة، يتم التعامل مع كل دُفعة فرعية تحتوي على عمليات فلترة مجموعة المؤسسات بشكل ذري.

يتم تحديد طريقة تقسيم المهام المجمّعة التي تحتوي على فلاتر مجموعات البيانات إلى دفعات فرعية وفقًا للعوامل التالية:

  1. نوع فلتر مجموعة البيانات
  2. يستهدف فلتر مجموعة البيانات AdGroupCriterion أو AssetGroup
  3. ترتيب العمليات

ضَع في اعتبارك كيفية تجميع العمليات:

  • يتم تجميع جميع عمليات AssetGroupListingGroupFilterOperation المتتالية التي تستهدف AssetGroup نفسه في مجموعة فرعية واحدة (بدون سلوك تعذُّر جزئي).
  • يتم تجميع جميع العمليات المتتالية AdGroupCriterionOperation التي تحتوي على استهداف listing_group لـ AdGroup نفسه في مجموعة فرعية ذرية (بدون سلوك تعذُّر جزئي).
  • يتم تجميع جميع العمليات المتتالية الأخرى في دفعات فرعية غير ذرية (سلوك الفشل الجزئي).

يوضّح الرسم البياني التالي هذا المفهوم. يمثّل كل مربّع رمادي مهمة معالجة مجمّعة تم إرسالها باستخدام Google Ads API. ضمن المربّعات الرمادية، يتم تجميع العمليات الفردية حسب اللون لتمثيل الدُفعات الفرعية التي ينشئها خادم Google Ads API. يتوافق ترتيب العمليات في كل مربّع من المربّعات الرمادية مع ترتيب إضافة العمليات إلى مهمة المعالجة المجمّعة.

الصورة

التجزئة الذرية في تقسيم الدفعات

قد تقسّم واجهة برمجة التطبيقات Google Ads API العمليات في مهمة مجمّعة تم إرسالها إلى مجموعات فرعية أصغر للمعالجة. في حال عدم تجميع العمليات ذات الصلة، مثل تعديلات مجموعة قوائم الفنادق ضمن AssetGroup وAdGroup، على التوالي ضمن مهمة مجمّعة، قد تقسم Google Ads API هذه العمليات إلى مجموعات فرعية مختلفة. ويمكن أن يؤدي هذا الفصل إلى تعذُّر إجراء التعديل بالكامل، أو ترك الحساب في حالة غير متسقة.

التجميع المنطقي

AssetGroupListingGroupFilterOperation تدير مجموعات البيانات ضمن AssetGroup، وهو إجراء شائع في "حملات الأداء الأفضل". AdGroupCriterionOperation يدير مجموعات بيانات المتجر ضمن AdGroup، وهو أمر شائع في حملات Shopping العادية. يُستخدم كلاهما لتحديد استهداف المنتجات. إذا أجريت تغييرات تؤثّر في التسلسل الهرمي لاستهداف المنتجات في السياقَين معًا، عليك تجميع هذه العمليات بشكل متتابع في مهمة الدفعة لضمان تطبيقها معًا.

اتساق البيانات

للحفاظ على اتساق البيانات ومنع التحديثات الجزئية، أضِف عمليات مجموعة بيانات المتجر ذات الصلة على التوالي إلى مهمة الدفعات. يساعد هذا الترتيب في تجميعها في دفعات فرعية أساسية حسب منطق تقسيم الدفعات في واجهة برمجة التطبيقات، ما يمنع ترك حسابك في حالة غير متسقة.

القيود

عند استخدام فلاتر مجموعات البيانات في سياق مهام الدفعات، تنطبق القيود التالية:

  • لا يمكن أن يتجاوز طول دفعة واحدة من عمليات AdGroupCriterionOperation التي تحتوي على listing_group وتستهدف AdGroup نفسه 20,000 عملية. ومع ذلك، يُنصح بعدم تجاوز 10,000 عملية.
  • لا يمكن أن يتجاوز عدد العمليات في دفعة واحدة من عمليات AssetGroupListingGroupFilterOperation التي تستهدف AssetGroup نفسه 10,000 عملية.
  • ويؤدي انتهاك أيّ من هذين الشرطين إلى تعذُّر تنفيذ مهمة المعالجة المجمّعة بأكملها.

تحديد المشاكل وحلّها

تتم معالجة عمليات فلترة مجموعات المؤسسات في مهمة مجمّعة كمعاملة واحدة، ما قد يؤدي إلى حالات يتعذّر فيها تنفيذ العديد من العمليات بسبب عدد قليل من العمليات الخاطئة. بالإضافة إلى ذلك، بسبب طريقة معالجة عمليات BatchJob، قد يظهر السبب الجذري للأخطاء في فهرس قبل الأخطاء اللاحقة أو بعدها.

على سبيل المثال، عند معالجة ردّ من ListBatchJobResults، قد تجد أنّ عدّة عمليات تعذّر إجراؤها مع ظهور رسالة الحالة Ad group is invalid due to the listing groups it contains. تشير هذه الرسالة عادةً إلى أنّه تم إلغاء العملية في هذا الفهرس بسبب تعذُّر إتمام عملية في فهرس آخر. لتحديد السبب الجذري للمشكلة، ننصحك بتكرار جميع رسائل الحالة في BatchJobResult، قبل وبعد فهرس رسالة الخطأ Ad group is invalid، بحثًا عن معلومات إضافية حول الخطأ.