सिलेक्टर

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

withCondition()
यह किसी सिलेक्टर में शर्त जोड़ता है. एक से ज़्यादा शर्तों का इस्तेमाल करने पर, उन्हें AND ऑपरेटर से जोड़ा जाता है. इसका मतलब है कि सिलेक्टर सिर्फ़ उन इकाइयों को दिखाएगा जो बताई गई सभी शर्तों को पूरा करती हैं.
withIds()
यह फ़ंक्शन, आईडी के कलेक्शन को शर्त के तौर पर जोड़ता है. आईडी के आधार पर तय की गई शर्त को अन्य सभी शर्तों के साथ AND-ed किया जाएगा.
forDateRange()
इसकी ज़रूरत तब होती है, जब कोई शर्त या ऑर्डरिंग क्लॉज़, Stats फ़ील्ड का रेफ़रंस देता है. जैसे, सीटीआर या इंप्रेशन. अगर आपको 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() को कॉल करके उससे Iterator पाया जा सकता है.

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