क्या-क्या करें लिस्टिंग ग्रुप बनाना

'क्या-क्या करें' प्लैटफ़ॉर्म पर दिखने वाले विज्ञापनों के विज्ञापन ग्रुप के लिए लिस्टिंग ग्रुप बनाने की प्रोसेस, होटल विज्ञापनों के लिस्टिंग ग्रुप बनाने की प्रोसेस जैसी ही होती है. दोनों के लिए, स्ट्रक्चरल हैरारकी और ट्री-बिल्डिंग प्रोसेस एक जैसी होती है.

'क्या-क्या करें' प्लैटफ़ॉर्म पर मौजूद अपनी इन्वेंट्री को बांटने के लिए, ListingDimensionInfo में उपलब्ध गतिविधि के खास डाइमेंशन का इस्तेमाल करें:

  • ActivityCountryInfo: यह डेस्टिनेशन देश (value) के हिसाब से फ़िल्टर करता है. इसके लिए, यह इलाके के हिसाब से टारगेट करने वाले कॉन्स्टेंट रिसॉर्स के नाम (geoTargetConstants/{criterion_id}, जैसे कि अमेरिका के लिए "geoTargetConstants/2840") का इस्तेमाल करता है.
  • ActivityStateInfo: डेस्टिनेशन राज्य या इलाके (value) के हिसाब से फ़िल्टर करता है. इसके लिए, इलाके के हिसाब से टारगेट करने वाले कॉन्स्टेंट रिसॉर्स के नाम (geoTargetConstants/{criterion_id}) का इस्तेमाल किया जाता है.
  • 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 रणनीति के हिसाब से अपने-आप मैनेज किया जाता है. किसी लीफ़ यूनिट को विज्ञापन दिखाने से रोकने के लिए, उसकी AdGroupCriterion पर negative = true सेट करें.
  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
)

आगे क्या करना है