'করার মতো জিনিস' লিস্টিং গ্রুপ তৈরি করা

'যে কাজগুলি করতে হবে' বিজ্ঞাপন গ্রুপের জন্য লিস্টিং গ্রুপ তৈরি করার সময় হোটেল বিজ্ঞাপনের লিস্টিং গ্রুপের মতো একই স্ট্রাকচারাল হায়ারার্কি ও ট্রি-বিল্ডিং প্রসেস ফলো করা হয়।

আপনার 'যে কাজগুলি করতে হবে' ইনভেনটরি পার্টিশন করতে, ListingDimensionInfo-এ উপলভ্য বিশেষ অ্যাক্টিভিটি ডাইমেনশন ব্যবহার করুন:

  • ActivityCountryInfo: গন্তব্য দেশ (value) অনুযায়ী ফিল্টার করে, জিও টার্গেট কনস্ট্যান্ট রিসোর্স নাম ব্যবহার করে (geoTargetConstants/{criterion_id}, যেমন মার্কিন যুক্তরাষ্ট্রের জন্য "geoTargetConstants/2840")।
  • ActivityStateInfo: জিও টার্গেট কনস্ট্যান্ট রিসোর্স নাম (geoTargetConstants/{criterion_id}) ব্যবহার করে, গন্তব্য রাজ্য বা অঞ্চল (value) অনুযায়ী ফিল্টার করে।
  • ActivityCityInfo: গন্তব্য শহর অনুযায়ী ফিল্টার করে (value), জিও টার্গেট কনস্ট্যান্ট রিসোর্সের নাম ব্যবহার করে (geoTargetConstants/{criterion_id}, যেমন নিউ ইয়র্ক সিটির জন্য "geoTargetConstants/1023191")।
  • ActivityRatingInfo: অ্যাক্টিভিটি স্টার বা ব্যবহারকারীর রেটিং (value, 1 থেকে 5 পর্যন্ত একটি পূর্ণসংখ্যা, যেখানে 5 হল সেরা) অনুযায়ী ফিল্টার করে।
  • ActivityIdInfo: আপনার 'কী করা যায়' সেন্টারের ফিডে (value) নির্দিষ্ট অ্যাক্টিভিটি আইডি অনুযায়ী ফিল্টার করে।

ডাইমেনশন হায়ারার্কি সংক্রান্ত নিয়ম

'যে কাজগুলি করতে হবে' লিস্টিং গ্রুপ ট্রি তৈরি করার সময়, এইসব নিয়ম মেনে চলুন:

  1. রুট নোড: প্রতিটি লিস্টিং গ্রুপ ট্রি অবশ্যই একটি রুট দিয়ে শুরু হতে হবে AdGroupCriterion যার listing_group.type হল SUBDIVISION (অথবা UNIT যদি আপনি একটি ক্যাচ-অল নোড চান) এবং যার case_value সেট করা নেই।
  2. সাবডিভিশন ও ইউনিট: ইন্টারমিডিয়েট ব্রাঞ্চের ক্ষেত্রে type-এর মান SUBDIVISION এবং লিফ নোডের ক্ষেত্রে type-এর মান UNIT সেট করতে হবে। 'যে কাজগুলি করতে হবে' ক্যাম্পেনের জন্য UNIT নোডে cpc_bid_micros সেট করা ঐচ্ছিক কারণ ক্যাম্পেনের MaximizeConversionValue স্ট্র্যাটেজি দ্বারা বিডিং অটোমেটিক ম্যানেজ করা হয়। বিজ্ঞাপন দেখানোর জন্য লিফ ইউনিট বাদ দিতে, negative = true-এর AdGroupCriterion-এ সেট করুন।
  3. ফলব্যাক ("অন্য সবকিছু") নোড: প্রতিটি সাবডিভিশন সম্পূর্ণভাবে বিভক্ত হতে হবে। সাবডিভিশনের সব ইমিডিয়েট চাইল্ডকে একই ListingDimensionInfo সাবটাইপ ব্যবহার করতে হবে এবং বাকি সব ইনভেনটরি ক্যাপচার করার জন্য একটি চাইল্ডকে সেই সাবটাইপের খালি ইনস্ট্যান্স হতে হবে।

নিম্নলিখিত ট্রি থেকে দেশ, শহর ও অ্যাক্টিভিটি আইডি অনুযায়ী বিভক্ত করা বৈধ হায়ারার্কি সম্পর্কে জানা যায়:

Root (SUBDIVISION)
 ├── ActivityCountryInfo: "geoTargetConstants/2840" (US, SUBDIVISION)
 │    ├── ActivityCityInfo: "geoTargetConstants/1023191" (New York, SUBDIVISION)
 │    │    ├── ActivityIdInfo: "activity_123" (UNIT, biddable)
 │    │    └── ActivityIdInfo: <empty> (UNIT, "Everything else in New York")
 │    └── ActivityCityInfo: <empty> (UNIT, "Everything else in US")
 └── ActivityCountryInfo: <empty> (UNIT, negative=true, excluded)

কোডের উদাহরণ

নিম্নলিখিত Python উদাহরণটি একটি টেম্পোরারি আইডি (-1) ব্যবহার করে একটি রুট SUBDIVISION তৈরি করে এবং এটিকে ActivityCountryInfo দ্বারা মার্কিন যুক্তরাষ্ট্রের ("geoTargetConstants/2840") জন্য একটি টার্গেট করা ইউনিট এবং অন্যান্য সমস্ত দেশের জন্য একটি বাদ দেওয়া ফলব্যাক ইউনিটে ভাগ করে:

ad_group_service = client.get_service("AdGroupService")
ad_group_criterion_service = client.get_service("AdGroupCriterionService")
ad_group_resource_name = ad_group_service.ad_group_path(
    customer_id, ad_group_id
)
operations = []

# 1. Create the root SUBDIVISION node with temporary criterion ID -1.
root_op = client.get_type("AdGroupCriterionOperation")
root = root_op.create
root.resource_name = ad_group_criterion_service.ad_group_criterion_path(
    customer_id, ad_group_id, -1
)
root.status = client.enums.AdGroupCriterionStatusEnum.ENABLED
root.listing_group.type_ = client.enums.ListingGroupTypeEnum.SUBDIVISION
operations.append(root_op)

# 2. Create a child UNIT node targeting activities in the US.
us_op = client.get_type("AdGroupCriterionOperation")
us_unit = us_op.create
us_unit.ad_group = ad_group_resource_name
us_unit.status = client.enums.AdGroupCriterionStatusEnum.ENABLED
us_unit.listing_group.type_ = client.enums.ListingGroupTypeEnum.UNIT
us_unit.listing_group.parent_ad_group_criterion = root.resource_name
us_unit.listing_group.case_value.activity_country.value = "geoTargetConstants/2840"
operations.append(us_op)

# 3. Create the required fallback ("Everything else") UNIT node.
other_op = client.get_type("AdGroupCriterionOperation")
other_unit = other_op.create
other_unit.ad_group = ad_group_resource_name
other_unit.negative = True
other_unit.listing_group.type_ = client.enums.ListingGroupTypeEnum.UNIT
other_unit.listing_group.parent_ad_group_criterion = root.resource_name
client.copy_from(
    other_unit.listing_group.case_value.activity_country,
    client.get_type("ActivityCountryInfo"),
)
operations.append(other_op)

response = ad_group_criterion_service.mutate_ad_group_criteria(
    customer_id=customer_id, operations=operations
)

এর পরে কী করতে হবে