আপনি যখন কোনও
AdGroupCriterion.listing_group বা
AssetGroupListingGroupFilter-এর প্রসঙ্গে তালিকাভুক্ত গ্রুপ ফিল্টার নিয়ে কাজ করেন, তখন আপনার ইন্টিগ্রেশন ডিজাইন করার সময়
নিম্নলিখিত বিষয়গুলি বিবেচনা করুন।
ব্যাচ স্প্লিটিং
LISTING_GROUPAdGroupCriterion.listing_groupAdGroup
কোনও ব্যাচ জবে যদি এমন কোনও অপারেশন থাকে যাতে বিজ্ঞাপন গ্রুপের মাপকাঠি বা অ্যাসেট গ্রুপ লিস্টিং গ্রুপের ফিল্টার থাকে, তাহলে Google Ads API সার্ভার সেটি রিসিভ করার সময় ব্যাচ জবের অপারেশনগুলি একাধিক সাব-ব্যাচে ভাগ করা হয়। ব্যাচ জবের স্ট্যান্ডার্ড অপারেশনের মতো নয়, লিস্টিং গ্রুপ ফিল্টার অপারেশন সহ প্রতিটি সাব-ব্যাচকে অ্যাটমিক্যালি ট্রিট করা হয়।
লিস্টিং গ্রুপ ফিল্টার সহ ব্যাচ জব যেভাবে সাব-ব্যাচে বিভক্ত হয় তা নিম্নলিখিত বিষয়গুলির দ্বারা নির্ধারিত হয়:
- লিস্টিং গ্রুপ ফিল্টারের ধরন
- লিস্টিং গ্রুপ ফিল্টার
AdGroupঅথবাAssetGroup-কে টার্গেট করছে - কাজগুলির ক্রম
অপারেশন কীভাবে গ্রুপ করা হয় তা বিবেচনা করুন:
- একই
AssetGroup-কে টার্গেট করা সবকটি পরপরAssetGroupListingGroupFilterOperationঅপারেশন (create,updateএবংremove) একটি অ্যাটমিক সাব-ব্যাচে গ্রুপ করা হয় (কোনও আংশিক ব্যর্থতার আচরণ নেই)। - একই
AdGroupটার্গেট করাLISTING_GROUPমানদণ্ডের (AdGroupCriterion.listing_group) জন্য সমস্ত পরপরAdGroupCriterionOperationঅপারেশন (create,updateএবংremove) একটি অ্যাটমিক সাব-ব্যাচে একসাথে গ্রুপ করা হয় (আংশিক ব্যর্থতা আচরণ নেই)। - অন্যান্য সব পরপর অপারেশন নন-অ্যাটমিক সাব-ব্যাচে (আংশিক ব্যর্থতার আচরণ) একসাথে গ্রুপ করা হয়।
নিম্নলিখিত ডায়াগ্রামটি এই ধারণাটি ব্যাখ্যা করে। ধূসর রঙের প্রতিটি বক্স Google Ads API ব্যবহার করে জমা দেওয়া ব্যাচ জবকে বোঝায়। ধূসর বক্সের মধ্যে, Google Ads API সার্ভার যে সাব-ব্যাচ তৈরি করে তা দেখানোর জন্য আলাদা অপারেশনগুলি রঙ অনুযায়ী গ্রুপ করা হয়। প্রতিটি ধূসর বক্সে অপারেশনের ক্রম, ব্যাচ জবে অপারেশন যোগ করার ক্রমের সাথে মিলে যায়।
সীমাবদ্ধতা
ব্যাচ জব প্রসঙ্গে তালিকাভুক্ত গ্রুপ ফিল্টার নিয়ে কাজ করার সময়, নিম্নলিখিত সীমাবদ্ধতা প্রযোজ্য হয়:
LISTING_GROUPক্রাইটেরিয়ার জন্য পরপরAdGroupCriterionOperationঅপারেশনের (create,updateএবংremove) একটি সিঙ্গেল অ্যাটমিক সাব-ব্যাচ (AdGroupCriterion.listing_group) একইAdGroupটার্গেট করলে, সেটি ২০,০০০ অপারেশনের বেশি হতে পারবে না। তবে, ১০,০০০-এর বেশি অপারেশন না করার সাজেশন দেওয়া হয়। প্রতিটিAddBatchJobOperationsRequest-এ ১০,০০০টি অপারেশনের সীমা নির্ধারিত থাকার কারণে, ১০,০০১ থেকে ২০,০০০টি অপারেশনের একটিAdGroupসাব-ব্যাচকে অন্তত দুটি পরপরAddBatchJobOperationsঅনুরোধে আপলোড করতে হবে।- একই
AssetGroup-কে টার্গেট করে পরপরAssetGroupListingGroupFilterOperationটি অপারেশন (create,updateএবংremove)-এর একটি অ্যাটমিক সাব-ব্যাচে ১০,০০০-এর বেশি অপারেশন থাকতে পারবে না। - এইসব অপারেশন সংখ্যার সীমা লঙ্ঘন করলে (অথবা কোনও একটি সাব-ব্যাচের জন্য সার্ভারের
ইন্টার্নাল সিরিয়ালাইজড বাইট সাইজের সীমা অতিক্রম করলে) সেই সাব-ব্যাচে ব্যাচ
জব বাতিল হয়ে যায়: আগে সম্পূর্ণ হয়ে যাওয়া সাব-ব্যাচগুলি
কমিট করা থাকে, তবে লঙ্ঘনকারী সাব-ব্যাচের সব অপারেশন এবং পরবর্তী
সব সাব-ব্যাচ
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মেসেজ সহ ব্যর্থ হয়েছে।
এইসব সমস্যা থেকে বোঝা যায় যে সেই ইন্ডেক্সে অপারেশনটি রোলব্যাক করা হয়েছে কারণ
একই অ্যাটমিক সাব-ব্যাচে অন্য একটি অপারেশন ব্যর্থ হয়েছে। সমস্যার মূল কারণ
শনাক্ত করতে, প্রতিটি BatchJobResult-এ status
মেসেজগুলি পুনরাবৃত্তি করুন—ট্রানজ্যাকশন ত্রুটির operation_index-এর আগে এবং পরে—একই AdGroup বা AssetGroup
আইডি শেয়ার করার ক্রিয়াকলাপের জন্য।