सिलेक्टर

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

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

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