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

כשעובדים עם מסננים של קבוצות של כרטיסי מוצר בהקשר של 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.