שימוש במסננים של קבוצות של כרטיסי מוצר במשימות של עריכה בכמות גדולה

כשעובדים עם מסננים של קבוצות כרטיסי מוצר בהקשר של AdGroupCriterion.listing_group או AssetGroupListingGroupFilter, חשוב לקחת בחשבון את ההיבטים הבאים כשמתכננים את השילוב.

פיצול של קובץ גדול

אם יש פעולות ב-batch job שמכילות קריטריונים של קבוצות של מודעות או מסננים של קבוצות של כרטיסי מוצר בקבוצת נכסים, הפעולות ב-batch job מפוצלות לכמה תת-מקבצים כשהן מתקבלות בשרת של Google Ads API. בניגוד לפעולות רגילות בעבודת אצווה, כל אצווה משנית שמכילה פעולות סינון של קבוצת כרטיסי מוצר מטופלת באופן אטומי.

האופן שבו עבודות באצווה שמכילות מסננים של קבוצות כרטיסי מוצר מפולחות לאצוות משנה נקבע לפי הגורמים הבאים:

  1. סוג המסנן של קבוצת כרטיסי המוצר
  2. המאפיין AdGroup או AssetGroup שהמסנן של קבוצה של כרטיסי מוצר מטרגט
  3. סדר הפעולות

כדאי לשים לב לאופן שבו הפעולות מקובצות:

  • כל הפעולות הרצופות AssetGroupListingGroupFilterOperation (create,‏ update ו-remove) שמכוונות לאותו AssetGroup מקובצות יחד באצווה משנית אטומית (ללא התנהגות של כשל חלקי).
  • כל הפעולות (create,‏ update ו-remove) של AdGroupCriterionOperation העוקבות בקריטריונים של 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 עוקבות.
  • אצווה אטומית אחת של פעולות AssetGroupListingGroupFilterOperation עוקבות (create,‏ update ו-remove) שמטרגטות את אותו AssetGroup לא יכולה לכלול יותר מ-10,000 פעולות.
  • אם תחרגו מאחת מהמגבלות האלה על מספר הפעולות (או אם תחרגו מהמגבלה הפנימית של השרת על גודל הבייטים בסדרה של קבוצת משנה אחת), המערכת תבטל את המשימה באצווה בקבוצת המשנה הזו: כל קבוצות המשנה הקודמות שכבר הושלמו יישארו מחויבות, וכל הפעולות בקבוצת המשנה הבעייתית ובכל קבוצות המשנה הבאות ייכשלו עם השגיאה InternalError.INTERNAL_ERROR.

פתרון בעיות

פעולות סינון של קבוצות כרטיסי מוצר בעבודת אצווה מעובדות כטרנזקציה אחת, מה שיכול להוביל לתרחישים שבהם הרבה פעולות נכשלות בגלל מספר קטן של פעולות שגויות. בנוסף, בגלל האופן שבו מתבצע עיבוד של פעולות BatchJob, יכול להיות שהסיבה הבסיסית לכשלים תופיע באינדקס לפני או אחרי הכשלים במורד הזרם.

לדוגמה, כשמעבדים תשובה מ-ListBatchJobResults:

השגיאות האלה מציינות שהפעולה באינדקס הזה בוטלה כי פעולה אחרת באותו אצווה משנית אטומית נכשלה. כדי לזהות את שורש הבעיה, חוזרים על הפעולות של status ההודעות בכל BatchJobResult – לפני ואחרי operation_index שגיאת העסקה – עבור פעולות שמשתפות את אותו מזהה AdGroup או AssetGroup.