सिलेक्टर

प्रोग्रामर, सिलेक्टर की मदद से ऐसी क्वेरी बना सकता है जिससे अनुरोध की गई Google Ads की इकाइयां फ़ेच की जा सकें. सिलेक्टर की मदद से, फ़ेच की गई इकाइयों की सूची को सीमित किया जा सकता है और उसे क्रम से लगाया जा सकता है. ज़्यादातर सिलेक्टर में ये तरीके होते हैं:

withCondition()
किसी सिलेक्टर में कोई शर्त जोड़ता है. अगर एक से ज़्यादा शर्तों का इस्तेमाल किया जाता है, तो उन्हें AND-ed किया जाता है. इसका मतलब है कि सिलेक्टर सिर्फ़ उन इकाइयों को लौटाएगा जो बताई गई सभी शर्तों को पूरा करती हैं.
withIds()
आईडी के कलेक्शन को शर्त के तौर पर जोड़ता है. आईडी के आधार पर तय की गई शर्त को, अन्य सभी शर्तों के साथ AND-ed किया जाएगा.
forDateRange()
इस तरीके का इस्तेमाल तब किया जाता है, जब कोई शर्त या क्रम से लगाने वाला क्लॉज़, आंकड़ों वाले फ़ील्ड को रेफ़र करता है. जैसे, सीटीआर या इंप्रेशन. अगर आपने 100 से ज़्यादा इंप्रेशन वाले सभी कैंपेन का अनुरोध किया है, तो Google Ads स्क्रिप्ट को यह जानने के लिए तारीख की सीमा की ज़रूरत होगी कि उसे किस समयावधि के आंकड़े देखने हैं.
orderBy()
लौटाई गई इकाइयों का क्रम तय करता है.
withLimit()
लौटाई गई इकाइयों की संख्या को तय की गई वैल्यू तक सीमित करता है. इसका इस्तेमाल, orderBy() के साथ करने पर ज़्यादा फ़ायदा मिलता है. इससे "कल सबसे ज़्यादा इंप्रेशन वाले 10 कीवर्ड" जैसी चीज़ें फ़ेच की जा सकती हैं. डिफ़ॉल्ट रूप से, सभी सिलेक्टर सीमा को 50,000 पर सेट करेंगे. मैन्युअल तरीके से कोई सीमा तय करके, सीमा को बढ़ाया जा सकता है.

इन तरीकों को किसी भी क्रम में कॉल किया जा सकता है. orderBy() इसका एक अपवाद है. इसमें कॉल का क्रम मायने रखता है. इस तरीके को कई बार कॉल करने पर, क्रम से लगाने वाले कई क्लॉज़ तय किए जाएंगे. साथ ही, ये क्लॉज़ क्रम से लागू होंगे. यह स्निपेट देखें:

selector = selector.forDateRange("LAST_14_DAYS")
    .orderBy("metrics.clicks DESC")
    .orderBy("metrics.ctr ASC");

नतीजों को क्लिक की संख्या के हिसाब से, घटते क्रम में लगाया जाएगा. जिन नतीजों में क्लिक की संख्या की वैल्यू बराबर होगी उन्हें सीटीआर के हिसाब से, बढ़ते क्रम में लगाया जाएगा.

किसी सिलेक्टर के तरीकों को एक साथ चेन किया जा सकता है. यहां दिया गया कोड

var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");

को ज़्यादा कॉम्पैक्ट तरीके से फिर से लिखा जा सकता है:

var campaignSelector = AdsApp.campaigns()
  .withCondition("metrics.clicks > 10")
  .withCondition("metrics.impressions > 1000")
  .orderBy("metrics.impressions DESC")
  .forDateRange("YESTERDAY");

सिलेक्टर बनाने के बाद, उससे एक इटरेटर हासिल किया जा सकता है, जिसे selector.get() कॉल करके.

सिलेक्टर का असरदार तरीके से इस्तेमाल करने के लिए, सलाह और सुझाव पाने के लिए सबसे सही तरीके पढ़ें.